import{S as Wt,i as Ut,s as Rt,e as l,k as h,w as U,t as o,M as Xt,c as r,d as a,m as d,a as i,x as R,h as n,b as c,G as t,g as p,y as X,L as Bt,q as B,o as Z,B as C,v as Zt}from"../../chunks/vendor-hf-doc-builder.js";import{I as Ka}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as Me}from"../../chunks/CodeBlock-hf-doc-builder.js";function Ct(Da){let m,we,v,M,he,A,ta,de,sa,be,y,w,ue,$,la,fe,oa,je,b,ra,N,na,ia,_e,L,pa,Je,K,me,ca,Te,D,ha,Ee,f,V,da,O,ua,fa,ma,I,va,ee,ya,ga,Ma,S,wa,ae,ba,ja,ke,j,_a,z,Ja,Ta,We,_,Ea,te,ka,Wa,Ue,J,Ua,F,Ra,Xa,Re,g,T,ve,G,Ba,ye,Za,Xe,se,Ca,Be,E,Aa,x,$a,Na,Ze,Q,Ce,le,Va,Ae,H,$e,k,Ia,oe,Sa,za,Ne,q,Ve,u,Fa,re,Ga,xa,ne,Qa,Ha,ge,qa,Ya,Ie,Y,Se,ie,Pa,ze,P,Fe,pe,La,Ge;return A=new Ka({}),$=new Ka({}),G=new Ka({}),Q=new Me({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTJDJTIwQXVkaW8lMEElMEElMjMlMjBFbmdsaXNoJTBBc3RyZWFtX2RhdGElMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIybW96aWxsYS1mb3VuZGF0aW9uJTJGY29tbW9uX3ZvaWNlXzEzXzAlMjIlMkMlMjAlMjJlbiUyMiUyQyUyMHNwbGl0JTNEJTIydGVzdCUyMiUyQyUyMHN0cmVhbWluZyUzRFRydWUpJTBBc3RyZWFtX2RhdGElMjAlM0QlMjBzdHJlYW1fZGF0YS5jYXN0X2NvbHVtbiglMjJhdWRpbyUyMiUyQyUyMEF1ZGlvKHNhbXBsaW5nX3JhdGUlM0QxNjAwMCkpJTBBZW5fc2FtcGxlJTIwJTNEJTIwbmV4dChpdGVyKHN0cmVhbV9kYXRhKSklNUIlMjJhdWRpbyUyMiU1RCU1QiUyMmFycmF5JTIyJTVEJTBBJTBBJTIzJTIwRnJlbmNoJTBBc3RyZWFtX2RhdGElMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIybW96aWxsYS1mb3VuZGF0aW9uJTJGY29tbW9uX3ZvaWNlXzEzXzAlMjIlMkMlMjAlMjJmciUyMiUyQyUyMHNwbGl0JTNEJTIydGVzdCUyMiUyQyUyMHN0cmVhbWluZyUzRFRydWUpJTBBc3RyZWFtX2RhdGElMjAlM0QlMjBzdHJlYW1fZGF0YS5jYXN0X2NvbHVtbiglMjJhdWRpbyUyMiUyQyUyMEF1ZGlvKHNhbXBsaW5nX3JhdGUlM0QxNjAwMCkpJTBBZnJfc2FtcGxlJTIwJTNEJTIwbmV4dChpdGVyKHN0cmVhbV9kYXRhKSklNUIlMjJhdWRpbyUyMiU1RCU1QiUyMmFycmF5JTIyJTVE",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset, Audio

<span class="hljs-comment"># English</span>
stream_data = load_dataset(<span class="hljs-string">&quot;mozilla-foundation/common_voice_13_0&quot;</span>, <span class="hljs-string">&quot;en&quot;</span>, split=<span class="hljs-string">&quot;test&quot;</span>, streaming=<span class="hljs-literal">True</span>)
stream_data = stream_data.cast_column(<span class="hljs-string">&quot;audio&quot;</span>, Audio(sampling_rate=<span class="hljs-number">16000</span>))
en_sample = <span class="hljs-built_in">next</span>(<span class="hljs-built_in">iter</span>(stream_data))[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>]

<span class="hljs-comment"># French</span>
stream_data = load_dataset(<span class="hljs-string">&quot;mozilla-foundation/common_voice_13_0&quot;</span>, <span class="hljs-string">&quot;fr&quot;</span>, split=<span class="hljs-string">&quot;test&quot;</span>, streaming=<span class="hljs-literal">True</span>)
stream_data = stream_data.cast_column(<span class="hljs-string">&quot;audio&quot;</span>, Audio(sampling_rate=<span class="hljs-number">16000</span>))
fr_sample = <span class="hljs-built_in">next</span>(<span class="hljs-built_in">iter</span>(stream_data))[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>]`}}),H=new Me({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRm9yQ1RDJTJDJTIwQXV0b1Byb2Nlc3NvciUwQWltcG9ydCUyMHRvcmNoJTBBJTBBbW9kZWxfaWQlMjAlM0QlMjAlMjJmYWNlYm9vayUyRm1tcy0xYi1hbGwlMjIlMEElMEFwcm9jZXNzb3IlMjAlM0QlMjBBdXRvUHJvY2Vzc29yLmZyb21fcHJldHJhaW5lZChtb2RlbF9pZCklMEFtb2RlbCUyMCUzRCUyMFdhdjJWZWMyRm9yQ1RDLmZyb21fcHJldHJhaW5lZChtb2RlbF9pZCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2ForCTC, AutoProcessor
<span class="hljs-keyword">import</span> torch

model_id = <span class="hljs-string">&quot;facebook/mms-1b-all&quot;</span>

processor = AutoProcessor.from_pretrained(model_id)
model = Wav2Vec2ForCTC.from_pretrained(model_id)`}}),q=new Me({props:{code:"aW5wdXRzJTIwJTNEJTIwcHJvY2Vzc29yKGVuX3NhbXBsZSUyQyUyMHNhbXBsaW5nX3JhdGUlM0QxNl8wMDAlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQSUwQXdpdGglMjB0b3JjaC5ub19ncmFkKCklM0ElMEElMjAlMjAlMjAlMjBvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMpLmxvZ2l0cyUwQSUwQWlkcyUyMCUzRCUyMHRvcmNoLmFyZ21heChvdXRwdXRzJTJDJTIwZGltJTNELTEpJTVCMCU1RCUwQXRyYW5zY3JpcHRpb24lMjAlM0QlMjBwcm9jZXNzb3IuZGVjb2RlKGlkcyklMEElMjMlMjAnam9lJTIwa2V0b24lMjBkaXNhcHByb3ZlZCUyMG9mJTIwZmlsbXMlMjBhbmQlMjBidXN0ZXIlMjBhbHNvJTIwaGFkJTIwcmVzZXJ2YXRpb25zJTIwYWJvdXQlMjB0aGUlMjBtZWRpYSc=",highlighted:`inputs = processor(en_sample, sampling_rate=<span class="hljs-number">16_000</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)

<span class="hljs-keyword">with</span> torch.no_grad():
    outputs = model(**inputs).logits

ids = torch.argmax(outputs, dim=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>]
transcription = processor.decode(ids)
<span class="hljs-comment"># &#x27;joe keton disapproved of films and buster also had reservations about the media&#x27;</span>`}}),Y=new Me({props:{code:"cHJvY2Vzc29yLnRva2VuaXplci5zZXRfdGFyZ2V0X2xhbmcoJTIyZnJhJTIyKSUwQW1vZGVsLmxvYWRfYWRhcHRlciglMjJmcmElMjIpJTBBJTBBaW5wdXRzJTIwJTNEJTIwcHJvY2Vzc29yKGZyX3NhbXBsZSUyQyUyMHNhbXBsaW5nX3JhdGUlM0QxNl8wMDAlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQSUwQXdpdGglMjB0b3JjaC5ub19ncmFkKCklM0ElMEElMjAlMjAlMjAlMjBvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMpLmxvZ2l0cyUwQSUwQWlkcyUyMCUzRCUyMHRvcmNoLmFyZ21heChvdXRwdXRzJTJDJTIwZGltJTNELTEpJTVCMCU1RCUwQXRyYW5zY3JpcHRpb24lMjAlM0QlMjBwcm9jZXNzb3IuZGVjb2RlKGlkcyklMEElMjMlMjAlMjJjZSUyMGRlcm5pZXIlMjBlc3QlMjB2b2wlQzMlQTklMjB0b3V0JTIwYXUlMjBsb25nJTIwZGUlMjBsJ2hpc3RvaXJlJTIwcm9tYWluZSUyMg==",highlighted:`processor.tokenizer.set_target_lang(<span class="hljs-string">&quot;fra&quot;</span>)
model.load_adapter(<span class="hljs-string">&quot;fra&quot;</span>)

inputs = processor(fr_sample, sampling_rate=<span class="hljs-number">16_000</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)

<span class="hljs-keyword">with</span> torch.no_grad():
    outputs = model(**inputs).logits

ids = torch.argmax(outputs, dim=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>]
transcription = processor.decode(ids)
<span class="hljs-comment"># &quot;ce dernier est vol\xE9 tout au long de l&#x27;histoire romaine&quot;</span>`}}),P=new Me({props:{code:"cHJvY2Vzc29yLnRva2VuaXplci52b2NhYi5rZXlzKCk=",highlighted:"processor.tokenizer.vocab.keys()"}}),{c(){m=l("meta"),we=h(),v=l("h1"),M=l("a"),he=l("span"),U(A.$$.fragment),ta=h(),de=l("span"),sa=o("MMS"),be=h(),y=l("h2"),w=l("a"),ue=l("span"),U($.$$.fragment),la=h(),fe=l("span"),oa=o("Overview"),je=h(),b=l("p"),ra=o("The MMS model was proposed in "),N=l("a"),na=o("Scaling Speech Technology to 1,000+ Languages"),ia=o(`
by Vineel Pratap, Andros Tjandra, Bowen Shi, Paden Tomasello, Arun Babu, Sayani Kundu, Ali Elkahky, Zhaoheng Ni, Apoorv Vyas, Maryam Fazel-Zarandi, Alexei Baevski, Yossi Adi, Xiaohui Zhang, Wei-Ning Hsu, Alexis Conneau, Michael Auli`),_e=h(),L=l("p"),pa=o("The abstract from the paper is the following:"),Je=h(),K=l("p"),me=l("em"),ca=o(`Expanding the language coverage of speech technology has the potential to improve access to information for many more people.
However, current speech technology is restricted to about one hundred languages which is a small fraction of the over 7,000
languages spoken around the world.
The Massively Multilingual Speech (MMS) project increases the number of supported languages by 10-40x, depending on the task.
The main ingredients are a new dataset based on readings of publicly available religious texts and effectively leveraging
self-supervised learning. We built pre-trained wav2vec 2.0 models covering 1,406 languages,
a single multilingual automatic speech recognition model for 1,107 languages, speech synthesis models
for the same number of languages, as well as a language identification model for 4,017 languages.
Experiments show that our multilingual speech recognition model more than halves the word error rate of
Whisper on 54 languages of the FLEURS benchmark while being trained on a small fraction of the labeled data.`),Te=h(),D=l("p"),ha=o("Tips:"),Ee=h(),f=l("ul"),V=l("li"),da=o("MMS is a speech model that accepts a float array corresponding to the raw waveform of the speech signal. The raw waveform should be pre-processed with "),O=l("a"),ua=o("Wav2Vec2FeatureExtractor"),fa=o("."),ma=h(),I=l("li"),va=o(`MMS model was trained using connectionist temporal classification (CTC) so the model output has to be decoded using
`),ee=l("a"),ya=o("Wav2Vec2CTCTokenizer"),ga=o("."),Ma=h(),S=l("li"),wa=o("MMS can load different language adapter weights for different languages via "),ae=l("a"),ba=o("load_adapter()"),ja=o(`. Language adapters only consists of roughly 2 million parameters
and can therefore be efficiently loaded on the fly when needed.`),ke=h(),j=l("p"),_a=o("Relevant checkpoints can be found under "),z=l("a"),Ja=o("https://huggingface.co/models?other=mms"),Ta=o("."),We=h(),_=l("p"),Ea=o("MMS\u2019s architecture is based on the Wav2Vec2 model, so one can refer to "),te=l("a"),ka=o("Wav2Vec2\u2019s documentation page"),Wa=o("."),Ue=h(),J=l("p"),Ua=o("The original code can be found "),F=l("a"),Ra=o("here"),Xa=o("."),Re=h(),g=l("h2"),T=l("a"),ve=l("span"),U(G.$$.fragment),Ba=h(),ye=l("span"),Za=o("Inference"),Xe=h(),se=l("p"),Ca=o(`By default MMS loads adapter weights for English, but those can be easily switched out for another language.
Let\u2019s look at an example.`),Be=h(),E=l("p"),Aa=o("First, we load audio data in different languages using the "),x=l("a"),$a=o("Datasets"),Na=o("."),Ze=h(),U(Q.$$.fragment),Ce=h(),le=l("p"),Va=o("Next, we load the model and processor"),Ae=h(),U(H.$$.fragment),$e=h(),k=l("p"),Ia=o(`Now we process the audio data, pass the processed audio data to the model and transcribe the model output,
just like we usually do for `),oe=l("a"),Sa=o("Wav2Vec2ForCTC"),za=o("."),Ne=h(),U(q.$$.fragment),Ve=h(),u=l("p"),Fa=o(`We can now keep the same model in memory and simply switch out the language adapters by
calling the convenient `),re=l("a"),Ga=o("load_adapter()"),xa=o(" function for the model and "),ne=l("a"),Qa=o("set_target_lang()"),Ha=o(` for the tokenizer.
We pass the target language as an input - `),ge=l("code"),qa=o('"fra"'),Ya=o(" for French."),Ie=h(),U(Y.$$.fragment),Se=h(),ie=l("p"),Pa=o("In the same way the language can be switched out for all other supported languages. Please have a look at:"),ze=h(),U(P.$$.fragment),Fe=h(),pe=l("p"),La=o("to see all supported languages."),this.h()},l(e){const s=Xt('[data-svelte="svelte-1phssyn"]',document.head);m=r(s,"META",{name:!0,content:!0}),s.forEach(a),we=d(e),v=r(e,"H1",{class:!0});var xe=i(v);M=r(xe,"A",{id:!0,class:!0,href:!0});var Oa=i(M);he=r(Oa,"SPAN",{});var et=i(he);R(A.$$.fragment,et),et.forEach(a),Oa.forEach(a),ta=d(xe),de=r(xe,"SPAN",{});var at=i(de);sa=n(at,"MMS"),at.forEach(a),xe.forEach(a),be=d(e),y=r(e,"H2",{class:!0});var Qe=i(y);w=r(Qe,"A",{id:!0,class:!0,href:!0});var tt=i(w);ue=r(tt,"SPAN",{});var st=i(ue);R($.$$.fragment,st),st.forEach(a),tt.forEach(a),la=d(Qe),fe=r(Qe,"SPAN",{});var lt=i(fe);oa=n(lt,"Overview"),lt.forEach(a),Qe.forEach(a),je=d(e),b=r(e,"P",{});var He=i(b);ra=n(He,"The MMS model was proposed in "),N=r(He,"A",{href:!0,rel:!0});var ot=i(N);na=n(ot,"Scaling Speech Technology to 1,000+ Languages"),ot.forEach(a),ia=n(He,`
by Vineel Pratap, Andros Tjandra, Bowen Shi, Paden Tomasello, Arun Babu, Sayani Kundu, Ali Elkahky, Zhaoheng Ni, Apoorv Vyas, Maryam Fazel-Zarandi, Alexei Baevski, Yossi Adi, Xiaohui Zhang, Wei-Ning Hsu, Alexis Conneau, Michael Auli`),He.forEach(a),_e=d(e),L=r(e,"P",{});var rt=i(L);pa=n(rt,"The abstract from the paper is the following:"),rt.forEach(a),Je=d(e),K=r(e,"P",{});var nt=i(K);me=r(nt,"EM",{});var it=i(me);ca=n(it,`Expanding the language coverage of speech technology has the potential to improve access to information for many more people.
However, current speech technology is restricted to about one hundred languages which is a small fraction of the over 7,000
languages spoken around the world.
The Massively Multilingual Speech (MMS) project increases the number of supported languages by 10-40x, depending on the task.
The main ingredients are a new dataset based on readings of publicly available religious texts and effectively leveraging
self-supervised learning. We built pre-trained wav2vec 2.0 models covering 1,406 languages,
a single multilingual automatic speech recognition model for 1,107 languages, speech synthesis models
for the same number of languages, as well as a language identification model for 4,017 languages.
Experiments show that our multilingual speech recognition model more than halves the word error rate of
Whisper on 54 languages of the FLEURS benchmark while being trained on a small fraction of the labeled data.`),it.forEach(a),nt.forEach(a),Te=d(e),D=r(e,"P",{});var pt=i(D);ha=n(pt,"Tips:"),pt.forEach(a),Ee=d(e),f=r(e,"UL",{});var ce=i(f);V=r(ce,"LI",{});var qe=i(V);da=n(qe,"MMS is a speech model that accepts a float array corresponding to the raw waveform of the speech signal. The raw waveform should be pre-processed with "),O=r(qe,"A",{href:!0});var ct=i(O);ua=n(ct,"Wav2Vec2FeatureExtractor"),ct.forEach(a),fa=n(qe,"."),qe.forEach(a),ma=d(ce),I=r(ce,"LI",{});var Ye=i(I);va=n(Ye,`MMS model was trained using connectionist temporal classification (CTC) so the model output has to be decoded using
`),ee=r(Ye,"A",{href:!0});var ht=i(ee);ya=n(ht,"Wav2Vec2CTCTokenizer"),ht.forEach(a),ga=n(Ye,"."),Ye.forEach(a),Ma=d(ce),S=r(ce,"LI",{});var Pe=i(S);wa=n(Pe,"MMS can load different language adapter weights for different languages via "),ae=r(Pe,"A",{href:!0});var dt=i(ae);ba=n(dt,"load_adapter()"),dt.forEach(a),ja=n(Pe,`. Language adapters only consists of roughly 2 million parameters
and can therefore be efficiently loaded on the fly when needed.`),Pe.forEach(a),ce.forEach(a),ke=d(e),j=r(e,"P",{});var Le=i(j);_a=n(Le,"Relevant checkpoints can be found under "),z=r(Le,"A",{href:!0,rel:!0});var ut=i(z);Ja=n(ut,"https://huggingface.co/models?other=mms"),ut.forEach(a),Ta=n(Le,"."),Le.forEach(a),We=d(e),_=r(e,"P",{});var Ke=i(_);Ea=n(Ke,"MMS\u2019s architecture is based on the Wav2Vec2 model, so one can refer to "),te=r(Ke,"A",{href:!0});var ft=i(te);ka=n(ft,"Wav2Vec2\u2019s documentation page"),ft.forEach(a),Wa=n(Ke,"."),Ke.forEach(a),Ue=d(e),J=r(e,"P",{});var De=i(J);Ua=n(De,"The original code can be found "),F=r(De,"A",{href:!0,rel:!0});var mt=i(F);Ra=n(mt,"here"),mt.forEach(a),Xa=n(De,"."),De.forEach(a),Re=d(e),g=r(e,"H2",{class:!0});var Oe=i(g);T=r(Oe,"A",{id:!0,class:!0,href:!0});var vt=i(T);ve=r(vt,"SPAN",{});var yt=i(ve);R(G.$$.fragment,yt),yt.forEach(a),vt.forEach(a),Ba=d(Oe),ye=r(Oe,"SPAN",{});var gt=i(ye);Za=n(gt,"Inference"),gt.forEach(a),Oe.forEach(a),Xe=d(e),se=r(e,"P",{});var Mt=i(se);Ca=n(Mt,`By default MMS loads adapter weights for English, but those can be easily switched out for another language.
Let\u2019s look at an example.`),Mt.forEach(a),Be=d(e),E=r(e,"P",{});var ea=i(E);Aa=n(ea,"First, we load audio data in different languages using the "),x=r(ea,"A",{href:!0,rel:!0});var wt=i(x);$a=n(wt,"Datasets"),wt.forEach(a),Na=n(ea,"."),ea.forEach(a),Ze=d(e),R(Q.$$.fragment,e),Ce=d(e),le=r(e,"P",{});var bt=i(le);Va=n(bt,"Next, we load the model and processor"),bt.forEach(a),Ae=d(e),R(H.$$.fragment,e),$e=d(e),k=r(e,"P",{});var aa=i(k);Ia=n(aa,`Now we process the audio data, pass the processed audio data to the model and transcribe the model output,
just like we usually do for `),oe=r(aa,"A",{href:!0});var jt=i(oe);Sa=n(jt,"Wav2Vec2ForCTC"),jt.forEach(a),za=n(aa,"."),aa.forEach(a),Ne=d(e),R(q.$$.fragment,e),Ve=d(e),u=r(e,"P",{});var W=i(u);Fa=n(W,`We can now keep the same model in memory and simply switch out the language adapters by
calling the convenient `),re=r(W,"A",{href:!0});var _t=i(re);Ga=n(_t,"load_adapter()"),_t.forEach(a),xa=n(W," function for the model and "),ne=r(W,"A",{href:!0});var Jt=i(ne);Qa=n(Jt,"set_target_lang()"),Jt.forEach(a),Ha=n(W,` for the tokenizer.
We pass the target language as an input - `),ge=r(W,"CODE",{});var Tt=i(ge);qa=n(Tt,'"fra"'),Tt.forEach(a),Ya=n(W," for French."),W.forEach(a),Ie=d(e),R(Y.$$.fragment,e),Se=d(e),ie=r(e,"P",{});var Et=i(ie);Pa=n(Et,"In the same way the language can be switched out for all other supported languages. Please have a look at:"),Et.forEach(a),ze=d(e),R(P.$$.fragment,e),Fe=d(e),pe=r(e,"P",{});var kt=i(pe);La=n(kt,"to see all supported languages."),kt.forEach(a),this.h()},h(){c(m,"name","hf:doc:metadata"),c(m,"content",JSON.stringify(At)),c(M,"id","mms"),c(M,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),c(M,"href","#mms"),c(v,"class","relative group"),c(w,"id","overview"),c(w,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),c(w,"href","#overview"),c(y,"class","relative group"),c(N,"href","https://arxiv.org/abs/2111.09296"),c(N,"rel","nofollow"),c(O,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2FeatureExtractor"),c(ee,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2CTCTokenizer"),c(ae,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC.load_adapter"),c(z,"href","https://huggingface.co/models?other=mms"),c(z,"rel","nofollow"),c(te,"href","wav2vec2"),c(F,"href","https://github.com/facebookresearch/fairseq/tree/main/examples/mms"),c(F,"rel","nofollow"),c(T,"id","inference"),c(T,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),c(T,"href","#inference"),c(g,"class","relative group"),c(x,"href","https://github.com/huggingface/datasets"),c(x,"rel","nofollow"),c(oe,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC"),c(re,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC.load_adapter"),c(ne,"href","/docs/transformers/v4.30.0/en/model_doc/wav2vec2#transformers.Wav2Vec2CTCTokenizer.set_target_lang")},m(e,s){t(document.head,m),p(e,we,s),p(e,v,s),t(v,M),t(M,he),X(A,he,null),t(v,ta),t(v,de),t(de,sa),p(e,be,s),p(e,y,s),t(y,w),t(w,ue),X($,ue,null),t(y,la),t(y,fe),t(fe,oa),p(e,je,s),p(e,b,s),t(b,ra),t(b,N),t(N,na),t(b,ia),p(e,_e,s),p(e,L,s),t(L,pa),p(e,Je,s),p(e,K,s),t(K,me),t(me,ca),p(e,Te,s),p(e,D,s),t(D,ha),p(e,Ee,s),p(e,f,s),t(f,V),t(V,da),t(V,O),t(O,ua),t(V,fa),t(f,ma),t(f,I),t(I,va),t(I,ee),t(ee,ya),t(I,ga),t(f,Ma),t(f,S),t(S,wa),t(S,ae),t(ae,ba),t(S,ja),p(e,ke,s),p(e,j,s),t(j,_a),t(j,z),t(z,Ja),t(j,Ta),p(e,We,s),p(e,_,s),t(_,Ea),t(_,te),t(te,ka),t(_,Wa),p(e,Ue,s),p(e,J,s),t(J,Ua),t(J,F),t(F,Ra),t(J,Xa),p(e,Re,s),p(e,g,s),t(g,T),t(T,ve),X(G,ve,null),t(g,Ba),t(g,ye),t(ye,Za),p(e,Xe,s),p(e,se,s),t(se,Ca),p(e,Be,s),p(e,E,s),t(E,Aa),t(E,x),t(x,$a),t(E,Na),p(e,Ze,s),X(Q,e,s),p(e,Ce,s),p(e,le,s),t(le,Va),p(e,Ae,s),X(H,e,s),p(e,$e,s),p(e,k,s),t(k,Ia),t(k,oe),t(oe,Sa),t(k,za),p(e,Ne,s),X(q,e,s),p(e,Ve,s),p(e,u,s),t(u,Fa),t(u,re),t(re,Ga),t(u,xa),t(u,ne),t(ne,Qa),t(u,Ha),t(u,ge),t(ge,qa),t(u,Ya),p(e,Ie,s),X(Y,e,s),p(e,Se,s),p(e,ie,s),t(ie,Pa),p(e,ze,s),X(P,e,s),p(e,Fe,s),p(e,pe,s),t(pe,La),Ge=!0},p:Bt,i(e){Ge||(B(A.$$.fragment,e),B($.$$.fragment,e),B(G.$$.fragment,e),B(Q.$$.fragment,e),B(H.$$.fragment,e),B(q.$$.fragment,e),B(Y.$$.fragment,e),B(P.$$.fragment,e),Ge=!0)},o(e){Z(A.$$.fragment,e),Z($.$$.fragment,e),Z(G.$$.fragment,e),Z(Q.$$.fragment,e),Z(H.$$.fragment,e),Z(q.$$.fragment,e),Z(Y.$$.fragment,e),Z(P.$$.fragment,e),Ge=!1},d(e){a(m),e&&a(we),e&&a(v),C(A),e&&a(be),e&&a(y),C($),e&&a(je),e&&a(b),e&&a(_e),e&&a(L),e&&a(Je),e&&a(K),e&&a(Te),e&&a(D),e&&a(Ee),e&&a(f),e&&a(ke),e&&a(j),e&&a(We),e&&a(_),e&&a(Ue),e&&a(J),e&&a(Re),e&&a(g),C(G),e&&a(Xe),e&&a(se),e&&a(Be),e&&a(E),e&&a(Ze),C(Q,e),e&&a(Ce),e&&a(le),e&&a(Ae),C(H,e),e&&a($e),e&&a(k),e&&a(Ne),C(q,e),e&&a(Ve),e&&a(u),e&&a(Ie),C(Y,e),e&&a(Se),e&&a(ie),e&&a(ze),C(P,e),e&&a(Fe),e&&a(pe)}}}const At={local:"mms",sections:[{local:"overview",title:"Overview"},{local:"inference",title:"Inference"}],title:"MMS"};function $t(Da){return Zt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class St extends Wt{constructor(m){super();Ut(this,m,$t,Ct,Rt,{})}}export{St as default,At as metadata};
