import{s as ae,o as le,n as oe}from"../chunks/scheduler.f7e1785c.js";import{S as pe,i as ie,g as o,s as f,r as Q,A as ce,h as p,f as t,c as r,j as W,u as Z,x as u,k as F,y as fe,a as n,v as ee,d as te,t as se,w as ne,m as R,n as U}from"../chunks/index.9f8f0838.js";import{T as re}from"../chunks/Tip.4575d9cf.js";import{H as he}from"../chunks/Heading.6643a2f7.js";function ue(w){let i,c,_="requirements.txt",d,l,x="transformers",h,m,v="<code>git+https://github.com/hollance/transformers.git@6900e8ba6532162a8613d2270ec2286c3f58f57b</code>";return{c(){i=R(`По нашему опыту экспериментов с голландским языком, использование контрольной точки MMS TTS дает лучшую производительность, чем
    с дообученной SpeechT5, но вы можете обнаружить, что ваша дообученная контрольная точка TTS предпочтительнее для вашего языка.
    Если вы решили использовать контрольную точку MMS TTS, вам необходимо обновить `),c=o("a"),c.textContent=_,d=R(`
    файл вашей демонстрации для установки `),l=o("code"),l.textContent=x,h=R(` из ветки PR:
    `),m=o("p"),m.innerHTML=v,this.h()},l(a){i=U(a,`По нашему опыту экспериментов с голландским языком, использование контрольной точки MMS TTS дает лучшую производительность, чем
    с дообученной SpeechT5, но вы можете обнаружить, что ваша дообученная контрольная точка TTS предпочтительнее для вашего языка.
    Если вы решили использовать контрольную точку MMS TTS, вам необходимо обновить `),c=p(a,"A",{href:!0,"data-svelte-h":!0}),u(c)!=="svelte-l0vtp8"&&(c.textContent=_),d=U(a,`
    файл вашей демонстрации для установки `),l=p(a,"CODE",{"data-svelte-h":!0}),u(l)!=="svelte-olzpwg"&&(l.textContent=x),h=U(a,` из ветки PR:
    `),m=p(a,"P",{"data-svelte-h":!0}),u(m)!=="svelte-1oo2kle"&&(m.innerHTML=v),this.h()},h(){F(c,"href","https://huggingface.co/spaces/course-demos/speech-to-speech-translation/blob/a03175878f522df7445290d5508bfb5c5178f787/requirements.txt#L2")},m(a,T){n(a,i,T),n(a,c,T),n(a,d,T),n(a,l,T),n(a,h,T),n(a,m,T)},p:oe,d(a){a&&(t(i),t(c),t(d),t(l),t(h),t(m))}}}function me(w){let i,c,_,d,l,x,h,m=`В этом разделе мы объединили материал, рассмотренный в предыдущих шести разделах курса, для создания трех интегрированных
аудио приложений. Как вы убедились, создание более сложных аудио инструментов вполне достижимо при использовании базовых навыков работы
приобретенных в рамках данного курса.`,v,a,T=`В практическом занятии используется одно из приложений, рассматриваемых в данном разделе, которое расширяется с помощью нескольких многоязычных
функций 🌍. Ваша задача - взять <a href="https://huggingface.co/spaces/course-demos/speech-to-speech-translation" rel="nofollow">каскадный перевод речи в речь из Gradio демо</a>
из первого урока данного раздела и модернизировать его для перевода на любой <strong>неанглийский</strong> язык. То есть демо
должно принимать речь на языке X и переводить ее в речь на языке Y, где целевой язык Y не является английским.
Начать следует с <a href="https://huggingface.co/spaces/course-demos/speech-to-speech-translation?duplicate=true" rel="nofollow">дублирования</a> шаблона в вашем пространстве
имен Hugging Face. Нет необходимости использовать GPU-ускоритель - бесплатный уровень подписки с CPU отлично справится с этой задачей 🤗.
Однако следует убедиться, что видимость вашего демо установлена в <strong>public</strong>. Это необходимо для того, чтобы ваше демо было доступно для нас
и могло быть проверено на корректность.`,y,M,X=`Советы по обновлению функции перевода речи для выполнения многоязычного перевода приведены в разделе <a href="speech-to-speech">перевод речи в речь</a>.
Следуя этим инструкциям, вы сможете обновить демо версию для перевода с речи на языке X в текст на языке Y, а это уже половина задачи!`,Y,b,D="Для синтеза из текста на языке Y в речь на языке Y, где Y - многоязычный язык, вам потребуется [NL] использовать контрольную точку многоязычной модели TTS.",E,C,K=`Для этого можно использовать либо контрольную точку SpeechT5 TTS, которую вы дообучали на предыдущем практическом занятии, либо предварительно
обученную контрольную точку многоязычной TTS. Существует два варианта предварительно обученных контрольных точек: либо контрольная точка
<a href="https://huggingface.co/sanchit-gandhi/speecht5_tts_vox_nl" rel="nofollow">sanchit-gandhi/speecht5_tts_vox_nl</a>, которая представляет собой контрольную точку SpeechT5,
дообученную на голландском фрагменте набора данных <a href="https://huggingface.co/datasets/facebook/voxpopuli" rel="nofollow">VoxPopuli</a> [NL], либо контрольная точка MMS TTS
(смотрите  раздел <a href="../chapter6/pre-trained_models">предварительно обученные модели text-to-speech</a>).`,j,g,k,L,O=`Ваше демо должно принимать на вход аудиофайл, а на выходе возвращать другой аудиофайл, соответствующий сигнатуре функции
<a href="https://huggingface.co/spaces/course-demos/speech-to-speech-translation/blob/3946ba6705a6632a63de8672ac52a482ab74b3fc/app.py#L35" rel="nofollow"><code>speech_to_speech_translation</code></a> [NL] в шаблоне демо.`,q,$,V=`Поэтому мы рекомендуем оставить основную функцию <code>speech_to_speech_translation</code> как есть, и обновлять лишь функции <a href="https://huggingface.co/spaces/course-demos/speech-to-speech-translation/blob/a03175878f522df7445290d5508bfb5c5178f787/app.py#L24" rel="nofollow"><code>translate</code></a>
и <a href="https://huggingface.co/spaces/course-demos/speech-to-speech-translation/blob/a03175878f522df7445290d5508bfb5c5178f787/app.py#L29" rel="nofollow"><code>synthesise</code></a> по мере необходимости.`,A,S,B=`После того как вы создали своё демо в виде приложения Gradio на Hugging Face Hub, вы можете отправить его на оценку. Перейдите в пространство
<a href="https://huggingface.co/spaces/huggingface-course/audio-course-u7-assessment" rel="nofollow">audio-course-u7-assessment</a> и при появлении запроса укажите идентификатор репозитория вашего демо.
Этот пространство проверяет правильность сборки демо-версии, посылая [NL] образец аудиофайла в демо и проверяя, что возвращаемый аудиофайл действительно неанглийский.`,N,H,I='Если ваше демо работает корректно, вы получите зеленую галочку рядом с вашим именем в общем <a href="https://huggingface.co/spaces/MariaK/Check-my-progress-Audio-Course" rel="nofollow">пространстве прогресса</a> ✅.',z,P,G;return l=new he({props:{title:"Практическое занятие",local:"практическое-занятие",headingTag:"h1"}}),g=new re({props:{$$slots:{default:[ue]},$$scope:{ctx:w}}}),{c(){i=o("meta"),c=f(),_=o("p"),d=f(),Q(l.$$.fragment),x=f(),h=o("p"),h.textContent=m,v=f(),a=o("p"),a.innerHTML=T,y=f(),M=o("p"),M.innerHTML=X,Y=f(),b=o("p"),b.textContent=D,E=f(),C=o("p"),C.innerHTML=K,j=f(),Q(g.$$.fragment),k=f(),L=o("p"),L.innerHTML=O,q=f(),$=o("p"),$.innerHTML=V,A=f(),S=o("p"),S.innerHTML=B,N=f(),H=o("p"),H.innerHTML=I,z=f(),P=o("p"),this.h()},l(e){const s=ce("svelte-u9bgzb",document.head);i=p(s,"META",{name:!0,content:!0}),s.forEach(t),c=r(e),_=p(e,"P",{}),W(_).forEach(t),d=r(e),Z(l.$$.fragment,e),x=r(e),h=p(e,"P",{"data-svelte-h":!0}),u(h)!=="svelte-ehnz8"&&(h.textContent=m),v=r(e),a=p(e,"P",{"data-svelte-h":!0}),u(a)!=="svelte-5jr76x"&&(a.innerHTML=T),y=r(e),M=p(e,"P",{"data-svelte-h":!0}),u(M)!=="svelte-j728l1"&&(M.innerHTML=X),Y=r(e),b=p(e,"P",{"data-svelte-h":!0}),u(b)!=="svelte-17o9t0r"&&(b.textContent=D),E=r(e),C=p(e,"P",{"data-svelte-h":!0}),u(C)!=="svelte-1y8pj0q"&&(C.innerHTML=K),j=r(e),Z(g.$$.fragment,e),k=r(e),L=p(e,"P",{"data-svelte-h":!0}),u(L)!=="svelte-feppwu"&&(L.innerHTML=O),q=r(e),$=p(e,"P",{"data-svelte-h":!0}),u($)!=="svelte-1vsd4ux"&&($.innerHTML=V),A=r(e),S=p(e,"P",{"data-svelte-h":!0}),u(S)!=="svelte-xmx54v"&&(S.innerHTML=B),N=r(e),H=p(e,"P",{"data-svelte-h":!0}),u(H)!=="svelte-1dgvgc3"&&(H.innerHTML=I),z=r(e),P=p(e,"P",{}),W(P).forEach(t),this.h()},h(){F(i,"name","hf:doc:metadata"),F(i,"content",de)},m(e,s){fe(document.head,i),n(e,c,s),n(e,_,s),n(e,d,s),ee(l,e,s),n(e,x,s),n(e,h,s),n(e,v,s),n(e,a,s),n(e,y,s),n(e,M,s),n(e,Y,s),n(e,b,s),n(e,E,s),n(e,C,s),n(e,j,s),ee(g,e,s),n(e,k,s),n(e,L,s),n(e,q,s),n(e,$,s),n(e,A,s),n(e,S,s),n(e,N,s),n(e,H,s),n(e,z,s),n(e,P,s),G=!0},p(e,[s]){const J={};s&2&&(J.$$scope={dirty:s,ctx:e}),g.$set(J)},i(e){G||(te(l.$$.fragment,e),te(g.$$.fragment,e),G=!0)},o(e){se(l.$$.fragment,e),se(g.$$.fragment,e),G=!1},d(e){e&&(t(c),t(_),t(d),t(x),t(h),t(v),t(a),t(y),t(M),t(Y),t(b),t(E),t(C),t(j),t(k),t(L),t(q),t($),t(A),t(S),t(N),t(H),t(z),t(P)),t(i),ne(l,e),ne(g,e)}}}const de='{"title":"Практическое занятие","local":"практическое-занятие","sections":[],"depth":1}';function Te(w){return le(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Me extends pe{constructor(i){super(),ie(this,i,Te,me,ae,{})}}export{Me as component};
