Buckets:
| import{s as Rs,n as Vs,o as Is}from"../chunks/scheduler.d75c11ed.js";import{S as Cs,i as Ys,e as p,s as l,c as r,h as Zs,a as o,d as a,b as n,f as z,g as c,j as i,k as ys,l as M,m as e,n as m,t as d,o as u,p as h}from"../chunks/index.4ec9dfe9.js";import{C as Xs,H as fs,E as Gs}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.cdfb7b54.js";import{C as H}from"../chunks/CodeBlock.7a661325.js";function Fs(Ms){let g,N,W,q,j,Q,b,A,J,js="This guide shows specific methods for processing audio datasets. Learn how to:",L,T,bs='<li>Resample the sampling rate.</li> <li>Use <a href="/docs/datasets/pr_8254/en/package_reference/main_classes#datasets.Dataset.map">map()</a> with audio datasets.</li>',P,U,Js='For a guide on how to process any type of dataset, take a look at the <a class="underline decoration-sky-400 decoration-2 font-semibold" href="./process">general process guide</a>.',S,_,K,w,Ts='The <a href="/docs/datasets/pr_8254/en/package_reference/main_classes#datasets.Dataset.cast_column">cast_column()</a> function is used to cast a column to another feature to be decoded. When you use this function with the <a href="/docs/datasets/pr_8254/en/package_reference/main_classes#datasets.Audio">Audio</a> feature, you can resample the sampling rate:',D,$,O,v,Us="Audio files are decoded and resampled on-the-fly, so the next time you access an example, the audio file is resampled to 16kHz:",ss,k,ts,y,_s='<img class="block dark:hidden" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/resample.gif"/> <img class="hidden dark:block" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/resample-dark.gif"/>',as,R,es,V,ws='The <a href="/docs/datasets/pr_8254/en/package_reference/main_classes#datasets.Dataset.map">map()</a> function helps preprocess your entire dataset at once. Depending on the type of model you’re working with, you’ll need to either load a <a href="https://huggingface.co/docs/transformers/model_doc/auto#transformers.AutoFeatureExtractor" rel="nofollow">feature extractor</a> or a <a href="https://huggingface.co/docs/transformers/model_doc/auto#transformers.AutoProcessor" rel="nofollow">processor</a>.',ls,f,I,x,$s="For pretrained speech recognition models, load a feature extractor and tokenizer and combine them in a <code>processor</code>:",us,C,hs,Y,B,vs="For fine-tuned speech recognition models, you only need to load a <code>processor</code>:",gs,Z,ns,X,ks='When you use <a href="/docs/datasets/pr_8254/en/package_reference/main_classes#datasets.Dataset.map">map()</a> with your preprocessing function, include the <code>audio</code> column to ensure you’re actually resampling the audio data:',ps,G,os,F,rs,E,cs;return j=new Xs({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),b=new fs({props:{title:"Process audio data",local:"process-audio-data",headingTag:"h1"}}),_=new fs({props:{title:"Cast",local:"cast",headingTag:"h2"}}),$=new H({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTJDJTIwQXVkaW8lMEElMEFkYXRhc2V0JTIwJTNEJTIwbG9hZF9kYXRhc2V0KCUyMlBvbHlBSSUyRm1pbmRzMTQlMjIlMkMlMjAlMjJlbi1VUyUyMiUyQyUyMHNwbGl0JTNEJTIydHJhaW4lMjIpJTBBZGF0YXNldCUyMCUzRCUyMGRhdGFzZXQuY2FzdF9jb2x1bW4oJTIyYXVkaW8lMjIlMkMlMjBBdWRpbyhzYW1wbGluZ19yYXRlJTNEMTYwMDApKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset, Audio | |
| <span class="hljs-meta">>>> </span>dataset = load_dataset(<span class="hljs-string">"PolyAI/minds14"</span>, <span class="hljs-string">"en-US"</span>, split=<span class="hljs-string">"train"</span>) | |
| <span class="hljs-meta">>>> </span>dataset = dataset.cast_column(<span class="hljs-string">"audio"</span>, Audio(sampling_rate=<span class="hljs-number">16000</span>))`,lang:"py",wrap:!1}}),k=new H({props:{code:"YXVkaW8lMjAlM0QlMjBkYXRhc2V0JTVCMCU1RCU1QiUyMmF1ZGlvJTIyJTVEJTBBYXVkaW8lMjAlM0QlMjBhdWRpb19kYXRhc2V0JTVCMCU1RCU1QiUyMmF1ZGlvJTIyJTVEJTBBc2FtcGxlcyUyMCUzRCUyMGF1ZGlvLmdldF9hbGxfc2FtcGxlcygpJTBBc2FtcGxlcy5kYXRhJTBBc2FtcGxlcy5zYW1wbGVfcmF0ZQ==",highlighted:`<span class="hljs-meta">>>> </span>audio = dataset[<span class="hljs-number">0</span>][<span class="hljs-string">"audio"</span>] | |
| <datasets.features._torchcodec.AudioDecoder <span class="hljs-built_in">object</span> at <span class="hljs-number">0x11642b6a0</span>> | |
| <span class="hljs-meta">>>> </span>audio = audio_dataset[<span class="hljs-number">0</span>][<span class="hljs-string">"audio"</span>] | |
| <span class="hljs-meta">>>> </span>samples = audio.get_all_samples() | |
| <span class="hljs-meta">>>> </span>samples.data | |
| tensor([[ <span class="hljs-number">0.0000e+00</span>, <span class="hljs-number">0.0000e+00</span>, <span class="hljs-number">0.0000e+00</span>, ..., <span class="hljs-number">2.3447e-06</span>, | |
| -<span class="hljs-number">1.9127e-04</span>, -<span class="hljs-number">5.3330e-05</span>]] | |
| <span class="hljs-meta">>>> </span>samples.sample_rate | |
| <span class="hljs-number">16000</span>`,lang:"py",wrap:!1}}),R=new fs({props:{title:"Map",local:"map",headingTag:"h2"}}),C=new H({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBBdXRvRmVhdHVyZUV4dHJhY3RvciUyQyUyMEF1dG9Qcm9jZXNzb3IlMEElMEFtb2RlbF9jaGVja3BvaW50JTIwJTNEJTIwJTIyZmFjZWJvb2slMkZ3YXYydmVjMi1sYXJnZS14bHNyLTUzJTIyJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplciglMjIuJTJGdm9jYWIuanNvbiUyMiUyQyUyMHVua190b2tlbiUzRCUyMiU1QlVOSyU1RCUyMiUyQyUyMHBhZF90b2tlbiUzRCUyMiU1QlBBRCU1RCUyMiUyQyUyMHdvcmRfZGVsaW1pdGVyX3Rva2VuJTNEJTIyJTdDJTIyKSUwQWZlYXR1cmVfZXh0cmFjdG9yJTIwJTNEJTIwQXV0b0ZlYXR1cmVFeHRyYWN0b3IuZnJvbV9wcmV0cmFpbmVkKG1vZGVsX2NoZWNrcG9pbnQpJTBBcHJvY2Vzc29yJTIwJTNEJTIwQXV0b1Byb2Nlc3Nvci5mcm9tX3ByZXRyYWluZWQoZmVhdHVyZV9leHRyYWN0b3IlM0RmZWF0dXJlX2V4dHJhY3RvciUyQyUyMHRva2VuaXplciUzRHRva2VuaXplcik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoFeatureExtractor, AutoProcessor | |
| <span class="hljs-meta">>>> </span>model_checkpoint = <span class="hljs-string">"facebook/wav2vec2-large-xlsr-53"</span> | |
| <span class="hljs-comment"># after defining a vocab.json file you can instantiate a tokenizer object:</span> | |
| <span class="hljs-meta">>>> </span>tokenizer = AutoTokenizer(<span class="hljs-string">"./vocab.json"</span>, unk_token=<span class="hljs-string">"[UNK]"</span>, pad_token=<span class="hljs-string">"[PAD]"</span>, word_delimiter_token=<span class="hljs-string">"|"</span>) | |
| <span class="hljs-meta">>>> </span>feature_extractor = AutoFeatureExtractor.from_pretrained(model_checkpoint) | |
| <span class="hljs-meta">>>> </span>processor = AutoProcessor.from_pretrained(feature_extractor=feature_extractor, tokenizer=tokenizer)`,lang:"py",wrap:!1}}),Z=new H({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Qcm9jZXNzb3IlMEElMEFwcm9jZXNzb3IlMjAlM0QlMjBBdXRvUHJvY2Vzc29yLmZyb21fcHJldHJhaW5lZCglMjJmYWNlYm9vayUyRndhdjJ2ZWMyLWJhc2UtOTYwaCUyMik=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoProcessor | |
| <span class="hljs-meta">>>> </span>processor = AutoProcessor.from_pretrained(<span class="hljs-string">"facebook/wav2vec2-base-960h"</span>)`,lang:"py",wrap:!1}}),G=new H({props:{code:"ZGVmJTIwcHJlcGFyZV9kYXRhc2V0KGJhdGNoKSUzQSUwQSUyMCUyMCUyMCUyMGF1ZGlvJTIwJTNEJTIwYmF0Y2glNUIlMjJhdWRpbyUyMiU1RCUwQSUyMCUyMCUyMCUyMGJhdGNoJTVCJTIyaW5wdXRfdmFsdWVzJTIyJTVEJTIwJTNEJTIwcHJvY2Vzc29yKGF1ZGlvLmdldF9hbGxfc2FtcGxlcygpLmRhdGElMkMlMjBzYW1wbGluZ19yYXRlJTNEYXVkaW8lNUIlMjJzYW1wbGluZ19yYXRlJTIyJTVEKS5pbnB1dF92YWx1ZXMlNUIwJTVEJTBBJTIwJTIwJTIwJTIwYmF0Y2glNUIlMjJpbnB1dF9sZW5ndGglMjIlNUQlMjAlM0QlMjBsZW4oYmF0Y2glNUIlMjJpbnB1dF92YWx1ZXMlMjIlNUQpJTBBJTIwJTIwJTIwJTIwd2l0aCUyMHByb2Nlc3Nvci5hc190YXJnZXRfcHJvY2Vzc29yKCklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBiYXRjaCU1QiUyMmxhYmVscyUyMiU1RCUyMCUzRCUyMHByb2Nlc3NvcihiYXRjaCU1QiUyMnNlbnRlbmNlJTIyJTVEKS5pbnB1dF9pZHMlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBiYXRjaCUwQWRhdGFzZXQlMjAlM0QlMjBkYXRhc2V0Lm1hcChwcmVwYXJlX2RhdGFzZXQlMkMlMjByZW1vdmVfY29sdW1ucyUzRGRhdGFzZXQuY29sdW1uX25hbWVzKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">prepare_dataset</span>(<span class="hljs-params">batch</span>): | |
| <span class="hljs-meta">... </span> audio = batch[<span class="hljs-string">"audio"</span>] | |
| <span class="hljs-meta">... </span> batch[<span class="hljs-string">"input_values"</span>] = processor(audio.get_all_samples().data, sampling_rate=audio[<span class="hljs-string">"sampling_rate"</span>]).input_values[<span class="hljs-number">0</span>] | |
| <span class="hljs-meta">... </span> batch[<span class="hljs-string">"input_length"</span>] = <span class="hljs-built_in">len</span>(batch[<span class="hljs-string">"input_values"</span>]) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">with</span> processor.as_target_processor(): | |
| <span class="hljs-meta">... </span> batch[<span class="hljs-string">"labels"</span>] = processor(batch[<span class="hljs-string">"sentence"</span>]).input_ids | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> batch | |
| <span class="hljs-meta">>>> </span>dataset = dataset.<span class="hljs-built_in">map</span>(prepare_dataset, remove_columns=dataset.column_names)`,lang:"py",wrap:!1}}),F=new Gs({props:{source:"https://github.com/huggingface/datasets/blob/main/docs/source/audio_process.mdx"}}),{c(){g=p("meta"),N=l(),W=p("p"),q=l(),r(j.$$.fragment),Q=l(),r(b.$$.fragment),A=l(),J=p("p"),J.textContent=js,L=l(),T=p("ul"),T.innerHTML=bs,P=l(),U=p("p"),U.innerHTML=Js,S=l(),r(_.$$.fragment),K=l(),w=p("p"),w.innerHTML=Ts,D=l(),r($.$$.fragment),O=l(),v=p("p"),v.textContent=Us,ss=l(),r(k.$$.fragment),ts=l(),y=p("div"),y.innerHTML=_s,as=l(),r(R.$$.fragment),es=l(),V=p("p"),V.innerHTML=ws,ls=l(),f=p("ul"),I=p("li"),x=p("p"),x.innerHTML=$s,us=l(),r(C.$$.fragment),hs=l(),Y=p("li"),B=p("p"),B.innerHTML=vs,gs=l(),r(Z.$$.fragment),ns=l(),X=p("p"),X.innerHTML=ks,ps=l(),r(G.$$.fragment),os=l(),r(F.$$.fragment),rs=l(),E=p("p"),this.h()},l(s){const t=Zs("svelte-u9bgzb",document.head);g=o(t,"META",{name:!0,content:!0}),t.forEach(a),N=n(s),W=o(s,"P",{}),z(W).forEach(a),q=n(s),c(j.$$.fragment,s),Q=n(s),c(b.$$.fragment,s),A=n(s),J=o(s,"P",{"data-svelte-h":!0}),i(J)!=="svelte-12xza0g"&&(J.textContent=js),L=n(s),T=o(s,"UL",{"data-svelte-h":!0}),i(T)!=="svelte-uz0tcy"&&(T.innerHTML=bs),P=n(s),U=o(s,"P",{"data-svelte-h":!0}),i(U)!=="svelte-3s2bzp"&&(U.innerHTML=Js),S=n(s),c(_.$$.fragment,s),K=n(s),w=o(s,"P",{"data-svelte-h":!0}),i(w)!=="svelte-nhpv4t"&&(w.innerHTML=Ts),D=n(s),c($.$$.fragment,s),O=n(s),v=o(s,"P",{"data-svelte-h":!0}),i(v)!=="svelte-cxxpks"&&(v.textContent=Us),ss=n(s),c(k.$$.fragment,s),ts=n(s),y=o(s,"DIV",{class:!0,"data-svelte-h":!0}),i(y)!=="svelte-5kd1yl"&&(y.innerHTML=_s),as=n(s),c(R.$$.fragment,s),es=n(s),V=o(s,"P",{"data-svelte-h":!0}),i(V)!=="svelte-jpa5cj"&&(V.innerHTML=ws),ls=n(s),f=o(s,"UL",{});var is=z(f);I=o(is,"LI",{});var ms=z(I);x=o(ms,"P",{"data-svelte-h":!0}),i(x)!=="svelte-eqcmp0"&&(x.innerHTML=$s),us=n(ms),c(C.$$.fragment,ms),ms.forEach(a),hs=n(is),Y=o(is,"LI",{});var ds=z(Y);B=o(ds,"P",{"data-svelte-h":!0}),i(B)!=="svelte-1p2th5z"&&(B.innerHTML=vs),gs=n(ds),c(Z.$$.fragment,ds),ds.forEach(a),is.forEach(a),ns=n(s),X=o(s,"P",{"data-svelte-h":!0}),i(X)!=="svelte-1nn3w72"&&(X.innerHTML=ks),ps=n(s),c(G.$$.fragment,s),os=n(s),c(F.$$.fragment,s),rs=n(s),E=o(s,"P",{}),z(E).forEach(a),this.h()},h(){ys(g,"name","hf:doc:metadata"),ys(g,"content",xs),ys(y,"class","flex justify-center")},m(s,t){M(document.head,g),e(s,N,t),e(s,W,t),e(s,q,t),m(j,s,t),e(s,Q,t),m(b,s,t),e(s,A,t),e(s,J,t),e(s,L,t),e(s,T,t),e(s,P,t),e(s,U,t),e(s,S,t),m(_,s,t),e(s,K,t),e(s,w,t),e(s,D,t),m($,s,t),e(s,O,t),e(s,v,t),e(s,ss,t),m(k,s,t),e(s,ts,t),e(s,y,t),e(s,as,t),m(R,s,t),e(s,es,t),e(s,V,t),e(s,ls,t),e(s,f,t),M(f,I),M(I,x),M(I,us),m(C,I,null),M(f,hs),M(f,Y),M(Y,B),M(Y,gs),m(Z,Y,null),e(s,ns,t),e(s,X,t),e(s,ps,t),m(G,s,t),e(s,os,t),m(F,s,t),e(s,rs,t),e(s,E,t),cs=!0},p:Vs,i(s){cs||(d(j.$$.fragment,s),d(b.$$.fragment,s),d(_.$$.fragment,s),d($.$$.fragment,s),d(k.$$.fragment,s),d(R.$$.fragment,s),d(C.$$.fragment,s),d(Z.$$.fragment,s),d(G.$$.fragment,s),d(F.$$.fragment,s),cs=!0)},o(s){u(j.$$.fragment,s),u(b.$$.fragment,s),u(_.$$.fragment,s),u($.$$.fragment,s),u(k.$$.fragment,s),u(R.$$.fragment,s),u(C.$$.fragment,s),u(Z.$$.fragment,s),u(G.$$.fragment,s),u(F.$$.fragment,s),cs=!1},d(s){s&&(a(N),a(W),a(q),a(Q),a(A),a(J),a(L),a(T),a(P),a(U),a(S),a(K),a(w),a(D),a(O),a(v),a(ss),a(ts),a(y),a(as),a(es),a(V),a(ls),a(f),a(ns),a(X),a(ps),a(os),a(rs),a(E)),a(g),h(j,s),h(b,s),h(_,s),h($,s),h(k,s),h(R,s),h(C),h(Z),h(G,s),h(F,s)}}}const xs='{"title":"Process audio data","local":"process-audio-data","sections":[{"title":"Cast","local":"cast","sections":[],"depth":2},{"title":"Map","local":"map","sections":[],"depth":2}],"depth":1}';function Bs(Ms){return Is(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ns extends Cs{constructor(g){super(),Ys(this,g,Bs,Fs,Rs,{})}}export{Ns as component}; | |
Xet Storage Details
- Size:
- 13.6 kB
- Xet hash:
- e002a1d6581f48a3966ae48cc491b174edc13cbace2a3284402e62584b4e9a31
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.