import{s as $e,o as Ze,n as ge}from"../chunks/scheduler.f7e1785c.js";import{S as xe,i as We,g as M,s as n,r as y,A as Se,h as i,f as l,c as a,j as Ce,u as J,x as p,k as se,y as Qe,a as s,v as U,d as T,t as w,w as o,m as Ge,n as Be}from"../chunks/index.9f8f0838.js";import{T as Ne}from"../chunks/Tip.4575d9cf.js";import{C as r}from"../chunks/CodeBlock.4baef5d7.js";import{H as le,E as Ae}from"../chunks/getInferenceSnippets.ad8e59bc.js";function ke(Tt){let I,h,d="ASRDiarizationPipeline",c,u,b="<code>pipeline = ASRDiarizationPipeline.from_pretrained(&quot;openai/whisper-base&quot;)</code>";return{c(){I=Ge("Вы также можете инстанцировать  "),h=M("code"),h.textContent=d,c=Ge(` directly непосредственно из предварительно обученных моделей, указав идентификатор 
    модели ASR на Hub:
    `),u=M("p"),u.innerHTML=b},l(m){I=Be(m,"Вы также можете инстанцировать  "),h=i(m,"CODE",{"data-svelte-h":!0}),p(h)!=="svelte-1613cio"&&(h.textContent=d),c=Be(m,` directly непосредственно из предварительно обученных моделей, указав идентификатор 
    модели ASR на Hub:
    `),u=i(m,"P",{"data-svelte-h":!0}),p(u)!=="svelte-k598fh"&&(u.innerHTML=b)},m(m,C){s(m,I,C),s(m,h,C),s(m,c,C),s(m,u,C)},p:ge,d(m){m&&(l(I),l(h),l(c),l(u))}}}function ve(Tt){let I,h,d,c,u,b,m,C=`В этом заключительном разделе мы используем модель Whisper для создания транскрипции разговора или встречи между двумя или более говорящими. Затем мы объединим
ее с моделью <em>диаризации диктора</em> для прогнозирования “кто когда говорил”. Сопоставив временные метки из транскрипции Whisper с временными метками от модели диаризации,
мы можем спрогнозировать сквозную транскрипцию встречи с полностью отформатированным временем начала и окончания для каждого говорящего. Это базовая версия услуг по
транскрибированию совещаний, которую вы могли видеть в интернете от таких компаний, как <a href="https://otter.ai" rel="nofollow">Otter.ai</a> и др:`,wt,j,ne='<img src="https://huggingface.co/datasets/huggingface-course/audio-course-images/resolve/main/diarization_transcription.png"/>',ot,G,mt,B,ae=`Диаризация диктора (или диаризация) - это задача получения немаркированных аудиоданных и прогнозирования того, “кто когда говорил”. При этом мы можем
прогнозировать временные метки начала/окончания каждой очереди дикторов, соответствующие моменту начала речи и моменту ее окончания.`,rt,$,Me=`🤗 В настоящее время в библиотеке Transformers нет модели для диаризации диктора, но на Hub есть контрольные точки, которые можно использовать
с относительной легкостью. В этом примере мы будем использовать предварительно обученную модель диаризации диктора из <a href="https://github.com/pyannote/pyannote-audio" rel="nofollow">pyannote.audio</a>.
Давайте приступим к работе и установим пакет с помощью pip:`,ut,Z,It,g,ie=`Отлично! Веса для этой модели размещены на Hugging Face Hub. Чтобы получить к ним доступ, сначала нужно согласиться с условиями использования модели диаризации
диктора: <a href="https://huggingface.co/pyannote/speaker-diarization" rel="nofollow">pyannote/speaker-diarization</a>. А затем - с условиями использования модели
сегментации: <a href="https://huggingface.co/pyannote/segmentation" rel="nofollow">pyannote/segmentation</a>.`,ht,x,pe="После завершения работы мы можем загрузить предварительно обученный конвейер диаризации дикторов локально на наше устройство:",ct,W,dt,S,ye=`Давайте опробуем его на примере аудиофайла! Для этого мы загрузим образец из датасета <a href="https://huggingface.co/datasets/librispeech_asr" rel="nofollow">LibriSpeech ASR</a>, содержащий речь
двух разных дикторов, который мы объединили в один аудиофайл:`,jt,Q,ft,N,Je="Мы можем прослушать аудиозапись, чтобы понять, как она звучит:",bt,A,Ct,k,Ue=`Класс! Мы отчетливо слышим двух разных дикторов с переходом примерно на 15 секунде звучания. Давайте передадим этот аудиофайл в модель диаризации, чтобы получить
время начала и окончания разговора. Заметим, что pyannote.audio ожидает, что входной аудиофайл будет представлять собой тензор PyTorch формы <code>(channels, seq_len)</code>,
поэтому перед запуском модели нам необходимо выполнить это преобразование:`,Gt,v,Bt,R,$t,X,Te=`Выглядит это довольно неплохо! Видно, что первый диктор говорит до отметки 14,5 секунды, а второй - с 15,4 секунды.
Теперь нам нужно получить транскрипцию!`,Zt,H,gt,V,we=`В третий раз в этом блоке мы будем использовать модель Whisper для нашей системы транскрипции речи. В частности, мы загрузим контрольную точку <a href="https://huggingface.co/openai/whisper-base" rel="nofollow">Whisper Base</a>,
поскольку она достаточно мала, чтобы обеспечить хорошую скорость инференса при приемлемой точности транскрипции. Как и прежде, вы можете использовать любую контрольную точку распознавания речи с
<a href="https://huggingface.co/models?pipeline_tag=automatic-speech-recognition&amp;library=transformers&amp;sort=trending" rel="nofollow">Hub</a>, включая Wav2Vec2, MMS ASR или другие контрольные точки Whisper:`,xt,E,Wt,_,oe=`Давайте получим транскрипцию для нашего образца аудиозаписи, возвращая также временные метки на уровне сегментов, чтобы знать время начала и окончания каждого сегмента.
Из раздела 5 вы помните, что для активации задачи прогнозирования временных меток в Whisper нам необходимо передать аргумент <code>return_timestamps=True</code>:`,St,q,Qt,F,Nt,Y,me=`Отлично! Мы видим, что каждый сегмент транскрипции имеет начальное и конечное время, причем смена дикторов происходит на отметке 15,48 секунды. Теперь мы можем сопоставить
эту транскрипцию с временными метками дикторов, полученными с помощью модели диаризации, и получить окончательную транскрипцию.`,At,z,kt,D,re=`Чтобы получить окончательную транскрипцию, совместим временные метки, полученные с помощью модели диаризации, с временными метками, полученными с помощью модели Whisper.
Модель диаризации предсказала окончание речи первого диктора на 14,5 с, а второго - на 15,4 с, в то время как Whisper предсказал границы сегментов на 13,88, 15,48 и 19,44 с соответственно.
Поскольку временные метки, полученные с помощью Whisper, не полностью совпадают с данными модели диаризации, нам необходимо найти, какие из этих границ ближе всего к 14,5 и 15,4 с, и
соответствующим образом сегментировать транскрипцию по дикторам. В частности, мы найдем наиболее близкое совпадение между временными метками диаризации и транскрипции,
минимизировав абсолютное расстояние между ними.`,vt,L,ue="К счастью для нас, мы можем использовать пакет 🤗 Speechbox для выполнения этого выравнивания. Сначала давайте установим пакет <code>speechbox</code> из main:",Rt,P,Xt,K,Ie=`Теперь мы можем инстанцировать наш комбинированный конвейер диаризации и транскрипции, передав модель диаризации и
модель ASR в класс <a href="https://github.com/huggingface/speechbox/tree/main#asr-with-speaker-diarization" rel="nofollow"><code>ASRDiarizationPipeline</code></a>:`,Ht,O,Vt,f,Et,tt,he="Передадим аудиофайл в композитный конвейер и посмотрим, что получится в результате:",_t,et,qt,lt,Ft,st,ce=`Отлично! Первый диктор сегментирован как говорящий с 0 до 15,48 секунды, а второй - с 15,48 до 21,28 секунды,
с соответствующими транскрипциями для каждого из них.`,Yt,nt,de=`Для более удобного форматирования временных меток можно определить две вспомогательные функции. Первая преобразует кортеж временных меток в строку, округленную
до заданного количества знаков после запятой. Вторая объединяет идентификатор диктора, временную метку и текстовую информацию в одну строку, а для удобства
чтения разбивает каждого диктора на отдельные строки:`,zt,at,Dt,Mt,je="Повторно запустим конвейер, на этот раз форматируя транскрипцию в соответствии с функцией, которую мы только что определили:",Lt,it,Pt,pt,Kt,yt,fe=`Вот так! Таким образом, мы провели диарирование и транскрибацию входного аудиосигнала и получили транскрибации с сегментацией дикторов. Хотя алгоритм минимального расстояния для
выравнивания временных меток диаризации и транскрибации прост, он хорошо работает на практике. Если вы хотите изучить более сложные методы совмещения временных меток, то исходный
код <code>ASRDiarizationPipeline</code> является хорошей отправной точкой: <a href="https://github.com/huggingface/speechbox/blob/96d2d1a180252d92263f862a1cd25a48860f1aed/src/speechbox/diarize.py#L12" rel="nofollow">speechbox/diarize.py</a>`,Ot,Jt,te,Ut,ee;return u=new le({props:{title:"Транскрибирование встречи",local:"транскрибирование-встречи",headingTag:"h1"}}),G=new le({props:{title:"Диаризация диктора",local:"диаризация-диктора",headingTag:"h2"}}),Z=new r({props:{code:"cGlwJTIwaW5zdGFsbCUyMC0tdXBncmFkZSUyMHB5YW5ub3RlLmF1ZGlv",highlighted:"pip install --upgrade pyannote.audio",wrap:!1}}),W=new r({props:{code:"ZnJvbSUyMHB5YW5ub3RlLmF1ZGlvJTIwaW1wb3J0JTIwUGlwZWxpbmUlMEElMEFkaWFyaXphdGlvbl9waXBlbGluZSUyMCUzRCUyMFBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjJweWFubm90ZSUyRnNwZWFrZXItZGlhcml6YXRpb24lNDAyLjElMjIlMkMlMjB1c2VfYXV0aF90b2tlbiUzRFRydWUlMEEp",highlighted:`<span class="hljs-keyword">from</span> pyannote.audio <span class="hljs-keyword">import</span> Pipeline

diarization_pipeline = Pipeline.from_pretrained(
    <span class="hljs-string">&quot;pyannote/speaker-diarization@2.1&quot;</span>, use_auth_token=<span class="hljs-literal">True</span>
)`,wrap:!1}}),Q=new r({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBY29uY2F0ZW5hdGVkX2xpYnJpc3BlZWNoJTIwJTNEJTIwbG9hZF9kYXRhc2V0KCUwQSUyMCUyMCUyMCUyMCUyMnNhbmNoaXQtZ2FuZGhpJTJGY29uY2F0ZW5hdGVkX2xpYnJpc3BlZWNoJTIyJTJDJTIwc3BsaXQlM0QlMjJ0cmFpbiUyMiUyQyUyMHN0cmVhbWluZyUzRFRydWUlMEEpJTBBc2FtcGxlJTIwJTNEJTIwbmV4dChpdGVyKGNvbmNhdGVuYXRlZF9saWJyaXNwZWVjaCkp",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset

concatenated_librispeech = load_dataset(
    <span class="hljs-string">&quot;sanchit-gandhi/concatenated_librispeech&quot;</span>, split=<span class="hljs-string">&quot;train&quot;</span>, streaming=<span class="hljs-literal">True</span>
)
sample = <span class="hljs-built_in">next</span>(<span class="hljs-built_in">iter</span>(concatenated_librispeech))`,wrap:!1}}),A=new r({props:{code:"ZnJvbSUyMElQeXRob24uZGlzcGxheSUyMGltcG9ydCUyMEF1ZGlvJTBBJTBBQXVkaW8oc2FtcGxlJTVCJTIyYXVkaW8lMjIlNUQlNUIlMjJhcnJheSUyMiU1RCUyQyUyMHJhdGUlM0RzYW1wbGUlNUIlMjJhdWRpbyUyMiU1RCU1QiUyMnNhbXBsaW5nX3JhdGUlMjIlNUQp",highlighted:`<span class="hljs-keyword">from</span> IPython.display <span class="hljs-keyword">import</span> Audio

Audio(sample[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>], rate=sample[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;sampling_rate&quot;</span>])`,wrap:!1}}),v=new r({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFpbnB1dF90ZW5zb3IlMjAlM0QlMjB0b3JjaC5mcm9tX251bXB5KHNhbXBsZSU1QiUyMmF1ZGlvJTIyJTVEJTVCJTIyYXJyYXklMjIlNUQlNUJOb25lJTJDJTIwJTNBJTVEKS5mbG9hdCgpJTBBb3V0cHV0cyUyMCUzRCUyMGRpYXJpemF0aW9uX3BpcGVsaW5lKCUwQSUyMCUyMCUyMCUyMCU3QiUyMndhdmVmb3JtJTIyJTNBJTIwaW5wdXRfdGVuc29yJTJDJTIwJTIyc2FtcGxlX3JhdGUlMjIlM0ElMjBzYW1wbGUlNUIlMjJhdWRpbyUyMiU1RCU1QiUyMnNhbXBsaW5nX3JhdGUlMjIlNUQlN0QlMEEpJTBBJTBBb3V0cHV0cy5mb3JfanNvbigpJTVCJTIyY29udGVudCUyMiU1RA==",highlighted:`<span class="hljs-keyword">import</span> torch

input_tensor = torch.from_numpy(sample[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>][<span class="hljs-literal">None</span>, :]).<span class="hljs-built_in">float</span>()
outputs = diarization_pipeline(
    {<span class="hljs-string">&quot;waveform&quot;</span>: input_tensor, <span class="hljs-string">&quot;sample_rate&quot;</span>: sample[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;sampling_rate&quot;</span>]}
)

outputs.for_json()[<span class="hljs-string">&quot;content&quot;</span>]`,wrap:!1}}),R=new r({props:{code:"JTVCJTdCJ3NlZ21lbnQnJTNBJTIwJTdCJ3N0YXJ0JyUzQSUyMDAuNDk3ODEyNSUyQyUyMCdlbmQnJTNBJTIwMTQuNTIwOTM3NTAwMDAwMDAyJTdEJTJDJTBBJTIwJTIwJ3RyYWNrJyUzQSUyMCdCJyUyQyUwQSUyMCUyMCdsYWJlbCclM0ElMjAnU1BFQUtFUl8wMSclN0QlMkMlMEElMjAlN0Inc2VnbWVudCclM0ElMjAlN0Inc3RhcnQnJTNBJTIwMTUuMzY0Njg3NTAwMDAwMDAyJTJDJTIwJ2VuZCclM0ElMjAyMS4zNzIxODc1JTdEJTJDJTBBJTIwJTIwJ3RyYWNrJyUzQSUyMCdBJyUyQyUwQSUyMCUyMCdsYWJlbCclM0ElMjAnU1BFQUtFUl8wMCclN0QlNUQ=",highlighted:`[{&#x27;segment&#x27;: {&#x27;start&#x27;: 0.4978125, &#x27;end&#x27;: 14.520937500000002},
  &#x27;track&#x27;: &#x27;B&#x27;,
  &#x27;label&#x27;: &#x27;SPEAKER_01&#x27;},
 {&#x27;segment&#x27;: {&#x27;start&#x27;: 15.364687500000002, &#x27;end&#x27;: 21.3721875},
  &#x27;track&#x27;: &#x27;A&#x27;,
  &#x27;label&#x27;: &#x27;SPEAKER_00&#x27;}]`,wrap:!1}}),H=new le({props:{title:"Транскрибирование речи",local:"транскрибирование-речи",headingTag:"h2"}}),E=new r({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBYXNyX3BpcGVsaW5lJTIwJTNEJTIwcGlwZWxpbmUoJTBBJTIwJTIwJTIwJTIwJTIyYXV0b21hdGljLXNwZWVjaC1yZWNvZ25pdGlvbiUyMiUyQyUwQSUyMCUyMCUyMCUyMG1vZGVsJTNEJTIyb3BlbmFpJTJGd2hpc3Blci1iYXNlJTIyJTJDJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

asr_pipeline = pipeline(
    <span class="hljs-string">&quot;automatic-speech-recognition&quot;</span>,
    model=<span class="hljs-string">&quot;openai/whisper-base&quot;</span>,
)`,wrap:!1}}),q=new r({props:{code:"YXNyX3BpcGVsaW5lKCUwQSUyMCUyMCUyMCUyMHNhbXBsZSU1QiUyMmF1ZGlvJTIyJTVELmNvcHkoKSUyQyUwQSUyMCUyMCUyMCUyMGdlbmVyYXRlX2t3YXJncyUzRCU3QiUyMm1heF9uZXdfdG9rZW5zJTIyJTNBJTIwMjU2JTdEJTJDJTBBJTIwJTIwJTIwJTIwcmV0dXJuX3RpbWVzdGFtcHMlM0RUcnVlJTJDJTBBKQ==",highlighted:`asr_pipeline(
    sample[<span class="hljs-string">&quot;audio&quot;</span>].copy(),
    generate_kwargs={<span class="hljs-string">&quot;max_new_tokens&quot;</span>: <span class="hljs-number">256</span>},
    return_timestamps=<span class="hljs-literal">True</span>,
)`,wrap:!1}}),F=new r({props:{code:"JTdCJTBBJTIwJTIwJTIwJTIwJTIydGV4dCUyMiUzQSUyMCUyMiUyMFRoZSUyMHNlY29uZCUyMGFuZCUyMGltcG9ydGFuY2UlMjBpcyUyMGFzJTIwZm9sbG93cy4lMjBTb3ZlcmVpZ250eSUyMG1heSUyMGJlJTIwZGVmaW5lZCUyMHRvJTIwYmUlMjB0aGUlMjByaWdodCUyMG9mJTIwbWFraW5nJTIwbGF3cy4lMjBJbiUyMEZyYW5jZSUyQyUyMHRoZSUyMGtpbmclMjByZWFsbHklMjBleGVyY2lzZXMlMjBhJTIwcG9ydGlvbiUyMG9mJTIwdGhlJTIwc292ZXJlaWduJTIwcG93ZXIlMkMlMjBzaW5jZSUyMHRoZSUyMGxhd3MlMjBoYXZlJTIwbm8lMjB3ZWlnaHQuJTIwSGUlMjB3YXMlMjBpbiUyMGElMjBmYXZvcmVkJTIwc3RhdGUlMjBvZiUyMG1pbmQlMkMlMjBvd2luZyUyMHRvJTIwdGhlJTIwYmxpZ2h0JTIwaGlzJTIwd2lmZSdzJTIwYWN0aW9uJTIwdGhyZWF0ZW5lZCUyMHRvJTIwY2FzdCUyMHVwb24lMjBoaXMlMjBlbnRpcmUlMjBmdXR1cmUuJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIyY2h1bmtzJTIyJTNBJTIwJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTIydGltZXN0YW1wJTIyJTNBJTIwKDAuMCUyQyUyMDMuNTYpJTJDJTIwJTIydGV4dCUyMiUzQSUyMCUyMiUyMFRoZSUyMHNlY29uZCUyMGFuZCUyMGltcG9ydGFuY2UlMjBpcyUyMGFzJTIwZm9sbG93cy4lMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJ0aW1lc3RhbXAlMjIlM0ElMjAoMy41NiUyQyUyMDcuODQpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGV4dCUyMiUzQSUyMCUyMiUyMFNvdmVyZWlnbnR5JTIwbWF5JTIwYmUlMjBkZWZpbmVkJTIwdG8lMjBiZSUyMHRoZSUyMHJpZ2h0JTIwb2YlMjBtYWtpbmclMjBsYXdzLiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRpbWVzdGFtcCUyMiUzQSUyMCg3Ljg0JTJDJTIwMTMuODgpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGV4dCUyMiUzQSUyMCUyMiUyMEluJTIwRnJhbmNlJTJDJTIwdGhlJTIwa2luZyUyMHJlYWxseSUyMGV4ZXJjaXNlcyUyMGElMjBwb3J0aW9uJTIwb2YlMjB0aGUlMjBzb3ZlcmVpZ24lMjBwb3dlciUyQyUyMHNpbmNlJTIwdGhlJTIwbGF3cyUyMGhhdmUlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMjJ0aW1lc3RhbXAlMjIlM0ElMjAoMTMuODglMkMlMjAxNS40OCklMkMlMjAlMjJ0ZXh0JTIyJTNBJTIwJTIyJTIwbm8lMjB3ZWlnaHQuJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGltZXN0YW1wJTIyJTNBJTIwKDE1LjQ4JTJDJTIwMTkuNDQpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydGV4dCUyMiUzQSUyMCUyMiUyMEhlJTIwd2FzJTIwaW4lMjBhJTIwZmF2b3JlZCUyMHN0YXRlJTIwb2YlMjBtaW5kJTJDJTIwb3dpbmclMjB0byUyMHRoZSUyMGJsaWdodCUyMGhpcyUyMHdpZmUncyUyMGFjdGlvbiUyMHRocmVhdGVuZWQlMjB0byUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUyMnRpbWVzdGFtcCUyMiUzQSUyMCgxOS40NCUyQyUyMDIxLjI4KSUyQyUyMCUyMnRleHQlMjIlM0ElMjAlMjIlMjBjYXN0JTIwdXBvbiUyMGhpcyUyMGVudGlyZSUyMGZ1dHVyZS4lMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlNUQlMkMlMEElN0Q=",highlighted:`{
    &quot;text&quot;: &quot; The second and importance is as follows. Sovereignty may be defined to be the right of making laws. In France, the king really exercises a portion of the sovereign power, since the laws have no weight. He was in a favored state of mind, owing to the blight his wife&#x27;s action threatened to cast upon his entire future.&quot;,
    &quot;chunks&quot;: [
        {&quot;timestamp&quot;: (0.0, 3.56), &quot;text&quot;: &quot; The second and importance is as follows.&quot;},
        {
            &quot;timestamp&quot;: (3.56, 7.84),
            &quot;text&quot;: &quot; Sovereignty may be defined to be the right of making laws.&quot;,
        },
        {
            &quot;timestamp&quot;: (7.84, 13.88),
            &quot;text&quot;: &quot; In France, the king really exercises a portion of the sovereign power, since the laws have&quot;,
        },
        {&quot;timestamp&quot;: (13.88, 15.48), &quot;text&quot;: &quot; no weight.&quot;},
        {
            &quot;timestamp&quot;: (15.48, 19.44),
            &quot;text&quot;: &quot; He was in a favored state of mind, owing to the blight his wife&#x27;s action threatened to&quot;,
        },
        {&quot;timestamp&quot;: (19.44, 21.28), &quot;text&quot;: &quot; cast upon his entire future.&quot;},
    ],
}`,wrap:!1}}),z=new le({props:{title:"Speechbox",local:"speechbox",headingTag:"h2"}}),P=new r({props:{code:"cGlwJTIwaW5zdGFsbCUyMGdpdCUyQmh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmh1Z2dpbmdmYWNlJTJGc3BlZWNoYm94",highlighted:"pip install git+https://github.com/huggingface/speechbox",wrap:!1}}),O=new r({props:{code:"ZnJvbSUyMHNwZWVjaGJveCUyMGltcG9ydCUyMEFTUkRpYXJpemF0aW9uUGlwZWxpbmUlMEElMEFwaXBlbGluZSUyMCUzRCUyMEFTUkRpYXJpemF0aW9uUGlwZWxpbmUoJTBBJTIwJTIwJTIwJTIwYXNyX3BpcGVsaW5lJTNEYXNyX3BpcGVsaW5lJTJDJTIwZGlhcml6YXRpb25fcGlwZWxpbmUlM0RkaWFyaXphdGlvbl9waXBlbGluZSUwQSk=",highlighted:`<span class="hljs-keyword">from</span> speechbox <span class="hljs-keyword">import</span> ASRDiarizationPipeline

pipeline = ASRDiarizationPipeline(
    asr_pipeline=asr_pipeline, diarization_pipeline=diarization_pipeline
)`,wrap:!1}}),f=new Ne({props:{$$slots:{default:[ke]},$$scope:{ctx:Tt}}}),et=new r({props:{code:"cGlwZWxpbmUoc2FtcGxlJTVCJTIyYXVkaW8lMjIlNUQuY29weSgpKQ==",highlighted:'pipeline(sample[<span class="hljs-string">&quot;audio&quot;</span>].copy())',wrap:!1}}),lt=new r({props:{code:"JTVCJTdCJ3NwZWFrZXInJTNBJTIwJ1NQRUFLRVJfMDEnJTJDJTBBJTIwJTIwJ3RleHQnJTNBJTIwJyUyMFRoZSUyMHNlY29uZCUyMGFuZCUyMGltcG9ydGFuY2UlMjBpcyUyMGFzJTIwZm9sbG93cy4lMjBTb3ZlcmVpZ250eSUyMG1heSUyMGJlJTIwZGVmaW5lZCUyMHRvJTIwYmUlMjB0aGUlMjByaWdodCUyMG9mJTIwbWFraW5nJTIwbGF3cy4lMjBJbiUyMEZyYW5jZSUyQyUyMHRoZSUyMGtpbmclMjByZWFsbHklMjBleGVyY2lzZXMlMjBhJTIwcG9ydGlvbiUyMG9mJTIwdGhlJTIwc292ZXJlaWduJTIwcG93ZXIlMkMlMjBzaW5jZSUyMHRoZSUyMGxhd3MlMjBoYXZlJTIwbm8lMjB3ZWlnaHQuJyUyQyUwQSUyMCUyMCd0aW1lc3RhbXAnJTNBJTIwKDAuMCUyQyUyMDE1LjQ4KSU3RCUyQyUwQSUyMCU3QidzcGVha2VyJyUzQSUyMCdTUEVBS0VSXzAwJyUyQyUwQSUyMCUyMCd0ZXh0JyUzQSUyMCUyMiUyMEhlJTIwd2FzJTIwaW4lMjBhJTIwZmF2b3JlZCUyMHN0YXRlJTIwb2YlMjBtaW5kJTJDJTIwb3dpbmclMjB0byUyMHRoZSUyMGJsaWdodCUyMGhpcyUyMHdpZmUncyUyMGFjdGlvbiUyMHRocmVhdGVuZWQlMjB0byUyMGNhc3QlMjB1cG9uJTIwaGlzJTIwZW50aXJlJTIwZnV0dXJlLiUyMiUyQyUwQSUyMCUyMCd0aW1lc3RhbXAnJTNBJTIwKDE1LjQ4JTJDJTIwMjEuMjgpJTdEJTVE",highlighted:`[{&#x27;speaker&#x27;: &#x27;SPEAKER_01&#x27;,
  &#x27;text&#x27;: &#x27; The second and importance is as follows. Sovereignty may be defined to be the right of making laws. In France, the king really exercises a portion of the sovereign power, since the laws have no weight.&#x27;,
  &#x27;timestamp&#x27;: (0.0, 15.48)},
 {&#x27;speaker&#x27;: &#x27;SPEAKER_00&#x27;,
  &#x27;text&#x27;: &quot; He was in a favored state of mind, owing to the blight his wife&#x27;s action threatened to cast upon his entire future.&quot;,
  &#x27;timestamp&#x27;: (15.48, 21.28)}]`,wrap:!1}}),at=new r({props:{code:"ZGVmJTIwdHVwbGVfdG9fc3RyaW5nKHN0YXJ0X2VuZF90dXBsZSUyQyUyMG5kaWdpdHMlM0QxKSUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMHN0cigocm91bmQoc3RhcnRfZW5kX3R1cGxlJTVCMCU1RCUyQyUyMG5kaWdpdHMpJTJDJTIwcm91bmQoc3RhcnRfZW5kX3R1cGxlJTVCMSU1RCUyQyUyMG5kaWdpdHMpKSklMEElMEElMEFkZWYlMjBmb3JtYXRfYXNfdHJhbnNjcmlwdGlvbihyYXdfc2VnbWVudHMpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIyJTVDbiU1Q24lMjIuam9pbiglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjaHVuayU1QiUyMnNwZWFrZXIlMjIlNUQlMjAlMkIlMjAlMjIlMjAlMjIlMjAlMkIlMjB0dXBsZV90b19zdHJpbmcoY2h1bmslNUIlMjJ0aW1lc3RhbXAlMjIlNUQpJTIwJTJCJTIwY2h1bmslNUIlMjJ0ZXh0JTIyJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZm9yJTIwY2h1bmslMjBpbiUyMHJhd19zZWdtZW50cyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1RCUwQSUyMCUyMCUyMCUyMCk=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">tuple_to_string</span>(<span class="hljs-params">start_end_tuple, ndigits=<span class="hljs-number">1</span></span>):
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">str</span>((<span class="hljs-built_in">round</span>(start_end_tuple[<span class="hljs-number">0</span>], ndigits), <span class="hljs-built_in">round</span>(start_end_tuple[<span class="hljs-number">1</span>], ndigits)))


<span class="hljs-keyword">def</span> <span class="hljs-title function_">format_as_transcription</span>(<span class="hljs-params">raw_segments</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;\\n\\n&quot;</span>.join(
        [
            chunk[<span class="hljs-string">&quot;speaker&quot;</span>] + <span class="hljs-string">&quot; &quot;</span> + tuple_to_string(chunk[<span class="hljs-string">&quot;timestamp&quot;</span>]) + chunk[<span class="hljs-string">&quot;text&quot;</span>]
            <span class="hljs-keyword">for</span> chunk <span class="hljs-keyword">in</span> raw_segments
        ]
    )`,wrap:!1}}),it=new r({props:{code:"b3V0cHV0cyUyMCUzRCUyMHBpcGVsaW5lKHNhbXBsZSU1QiUyMmF1ZGlvJTIyJTVELmNvcHkoKSklMEElMEFmb3JtYXRfYXNfdHJhbnNjcmlwdGlvbihvdXRwdXRzKQ==",highlighted:`outputs = pipeline(sample[<span class="hljs-string">&quot;audio&quot;</span>].copy())

format_as_transcription(outputs)`,wrap:!1}}),pt=new r({props:{code:"U1BFQUtFUl8wMSUyMCgwLjAlMkMlMjAxNS41KSUyMFRoZSUyMHNlY29uZCUyMGFuZCUyMGltcG9ydGFuY2UlMjBpcyUyMGFzJTIwZm9sbG93cy4lMjBTb3ZlcmVpZ250eSUyMG1heSUyMGJlJTIwZGVmaW5lZCUyMHRvJTIwYmUlMjB0aGUlMjByaWdodCUyMG9mJTIwbWFraW5nJTIwbGF3cy4lMEFJbiUyMEZyYW5jZSUyQyUyMHRoZSUyMGtpbmclMjByZWFsbHklMjBleGVyY2lzZXMlMjBhJTIwcG9ydGlvbiUyMG9mJTIwdGhlJTIwc292ZXJlaWduJTIwcG93ZXIlMkMlMjBzaW5jZSUyMHRoZSUyMGxhd3MlMjBoYXZlJTIwbm8lMjB3ZWlnaHQuJTBBJTBBU1BFQUtFUl8wMCUyMCgxNS41JTJDJTIwMjEuMyklMjBIZSUyMHdhcyUyMGluJTIwYSUyMGZhdm9yZWQlMjBzdGF0ZSUyMG9mJTIwbWluZCUyQyUyMG93aW5nJTIwdG8lMjB0aGUlMjBibGlnaHQlMjBoaXMlMjB3aWZlJ3MlMjBhY3Rpb24lMjB0aHJlYXRlbmVkJTIwdG8lMjBjYXN0JTIwdXBvbiUwQWhpcyUyMGVudGlyZSUyMGZ1dHVyZS4=",highlighted:`SPEAKER_01 (0.0, 15.5) The second and importance is as follows. Sovereignty may be defined to be the right of making laws.
In France, the king really exercises a portion of the sovereign power, since the laws have no weight.

SPEAKER_00 (15.5, 21.3) He was in a favored state of mind, owing to the blight his wife&#x27;s action threatened to cast upon
his entire future.`,wrap:!1}}),Jt=new Ae({props:{source:"https://github.com/huggingface/audio-transformers-course/blob/main/chapters/ru/chapter7/transcribe-meeting.mdx"}}),{c(){I=M("meta"),h=n(),d=M("p"),c=n(),y(u.$$.fragment),b=n(),m=M("p"),m.innerHTML=C,wt=n(),j=M("div"),j.innerHTML=ne,ot=n(),y(G.$$.fragment),mt=n(),B=M("p"),B.textContent=ae,rt=n(),$=M("p"),$.innerHTML=Me,ut=n(),y(Z.$$.fragment),It=n(),g=M("p"),g.innerHTML=ie,ht=n(),x=M("p"),x.textContent=pe,ct=n(),y(W.$$.fragment),dt=n(),S=M("p"),S.innerHTML=ye,jt=n(),y(Q.$$.fragment),ft=n(),N=M("p"),N.textContent=Je,bt=n(),y(A.$$.fragment),Ct=n(),k=M("p"),k.innerHTML=Ue,Gt=n(),y(v.$$.fragment),Bt=n(),y(R.$$.fragment),$t=n(),X=M("p"),X.textContent=Te,Zt=n(),y(H.$$.fragment),gt=n(),V=M("p"),V.innerHTML=we,xt=n(),y(E.$$.fragment),Wt=n(),_=M("p"),_.innerHTML=oe,St=n(),y(q.$$.fragment),Qt=n(),y(F.$$.fragment),Nt=n(),Y=M("p"),Y.textContent=me,At=n(),y(z.$$.fragment),kt=n(),D=M("p"),D.textContent=re,vt=n(),L=M("p"),L.innerHTML=ue,Rt=n(),y(P.$$.fragment),Xt=n(),K=M("p"),K.innerHTML=Ie,Ht=n(),y(O.$$.fragment),Vt=n(),y(f.$$.fragment),Et=n(),tt=M("p"),tt.textContent=he,_t=n(),y(et.$$.fragment),qt=n(),y(lt.$$.fragment),Ft=n(),st=M("p"),st.textContent=ce,Yt=n(),nt=M("p"),nt.textContent=de,zt=n(),y(at.$$.fragment),Dt=n(),Mt=M("p"),Mt.textContent=je,Lt=n(),y(it.$$.fragment),Pt=n(),y(pt.$$.fragment),Kt=n(),yt=M("p"),yt.innerHTML=fe,Ot=n(),y(Jt.$$.fragment),te=n(),Ut=M("p"),this.h()},l(t){const e=Se("svelte-u9bgzb",document.head);I=i(e,"META",{name:!0,content:!0}),e.forEach(l),h=a(t),d=i(t,"P",{}),Ce(d).forEach(l),c=a(t),J(u.$$.fragment,t),b=a(t),m=i(t,"P",{"data-svelte-h":!0}),p(m)!=="svelte-1ra3eri"&&(m.innerHTML=C),wt=a(t),j=i(t,"DIV",{class:!0,"data-svelte-h":!0}),p(j)!=="svelte-9us2ce"&&(j.innerHTML=ne),ot=a(t),J(G.$$.fragment,t),mt=a(t),B=i(t,"P",{"data-svelte-h":!0}),p(B)!=="svelte-3gd3hr"&&(B.textContent=ae),rt=a(t),$=i(t,"P",{"data-svelte-h":!0}),p($)!=="svelte-1tt65sg"&&($.innerHTML=Me),ut=a(t),J(Z.$$.fragment,t),It=a(t),g=i(t,"P",{"data-svelte-h":!0}),p(g)!=="svelte-1kv315r"&&(g.innerHTML=ie),ht=a(t),x=i(t,"P",{"data-svelte-h":!0}),p(x)!=="svelte-9rhb47"&&(x.textContent=pe),ct=a(t),J(W.$$.fragment,t),dt=a(t),S=i(t,"P",{"data-svelte-h":!0}),p(S)!=="svelte-1i8rm0o"&&(S.innerHTML=ye),jt=a(t),J(Q.$$.fragment,t),ft=a(t),N=i(t,"P",{"data-svelte-h":!0}),p(N)!=="svelte-x4a8xo"&&(N.textContent=Je),bt=a(t),J(A.$$.fragment,t),Ct=a(t),k=i(t,"P",{"data-svelte-h":!0}),p(k)!=="svelte-18p9q30"&&(k.innerHTML=Ue),Gt=a(t),J(v.$$.fragment,t),Bt=a(t),J(R.$$.fragment,t),$t=a(t),X=i(t,"P",{"data-svelte-h":!0}),p(X)!=="svelte-18ctben"&&(X.textContent=Te),Zt=a(t),J(H.$$.fragment,t),gt=a(t),V=i(t,"P",{"data-svelte-h":!0}),p(V)!=="svelte-zjuzv9"&&(V.innerHTML=we),xt=a(t),J(E.$$.fragment,t),Wt=a(t),_=i(t,"P",{"data-svelte-h":!0}),p(_)!=="svelte-85qm4z"&&(_.innerHTML=oe),St=a(t),J(q.$$.fragment,t),Qt=a(t),J(F.$$.fragment,t),Nt=a(t),Y=i(t,"P",{"data-svelte-h":!0}),p(Y)!=="svelte-1spjeeq"&&(Y.textContent=me),At=a(t),J(z.$$.fragment,t),kt=a(t),D=i(t,"P",{"data-svelte-h":!0}),p(D)!=="svelte-7l9wow"&&(D.textContent=re),vt=a(t),L=i(t,"P",{"data-svelte-h":!0}),p(L)!=="svelte-94nqxh"&&(L.innerHTML=ue),Rt=a(t),J(P.$$.fragment,t),Xt=a(t),K=i(t,"P",{"data-svelte-h":!0}),p(K)!=="svelte-7vo6bc"&&(K.innerHTML=Ie),Ht=a(t),J(O.$$.fragment,t),Vt=a(t),J(f.$$.fragment,t),Et=a(t),tt=i(t,"P",{"data-svelte-h":!0}),p(tt)!=="svelte-y8al4t"&&(tt.textContent=he),_t=a(t),J(et.$$.fragment,t),qt=a(t),J(lt.$$.fragment,t),Ft=a(t),st=i(t,"P",{"data-svelte-h":!0}),p(st)!=="svelte-10ttfy7"&&(st.textContent=ce),Yt=a(t),nt=i(t,"P",{"data-svelte-h":!0}),p(nt)!=="svelte-g6hmbq"&&(nt.textContent=de),zt=a(t),J(at.$$.fragment,t),Dt=a(t),Mt=i(t,"P",{"data-svelte-h":!0}),p(Mt)!=="svelte-pj9jll"&&(Mt.textContent=je),Lt=a(t),J(it.$$.fragment,t),Pt=a(t),J(pt.$$.fragment,t),Kt=a(t),yt=i(t,"P",{"data-svelte-h":!0}),p(yt)!=="svelte-jyyc5l"&&(yt.innerHTML=fe),Ot=a(t),J(Jt.$$.fragment,t),te=a(t),Ut=i(t,"P",{}),Ce(Ut).forEach(l),this.h()},h(){se(I,"name","hf:doc:metadata"),se(I,"content",Re),se(j,"class","flex justify-center")},m(t,e){Qe(document.head,I),s(t,h,e),s(t,d,e),s(t,c,e),U(u,t,e),s(t,b,e),s(t,m,e),s(t,wt,e),s(t,j,e),s(t,ot,e),U(G,t,e),s(t,mt,e),s(t,B,e),s(t,rt,e),s(t,$,e),s(t,ut,e),U(Z,t,e),s(t,It,e),s(t,g,e),s(t,ht,e),s(t,x,e),s(t,ct,e),U(W,t,e),s(t,dt,e),s(t,S,e),s(t,jt,e),U(Q,t,e),s(t,ft,e),s(t,N,e),s(t,bt,e),U(A,t,e),s(t,Ct,e),s(t,k,e),s(t,Gt,e),U(v,t,e),s(t,Bt,e),U(R,t,e),s(t,$t,e),s(t,X,e),s(t,Zt,e),U(H,t,e),s(t,gt,e),s(t,V,e),s(t,xt,e),U(E,t,e),s(t,Wt,e),s(t,_,e),s(t,St,e),U(q,t,e),s(t,Qt,e),U(F,t,e),s(t,Nt,e),s(t,Y,e),s(t,At,e),U(z,t,e),s(t,kt,e),s(t,D,e),s(t,vt,e),s(t,L,e),s(t,Rt,e),U(P,t,e),s(t,Xt,e),s(t,K,e),s(t,Ht,e),U(O,t,e),s(t,Vt,e),U(f,t,e),s(t,Et,e),s(t,tt,e),s(t,_t,e),U(et,t,e),s(t,qt,e),U(lt,t,e),s(t,Ft,e),s(t,st,e),s(t,Yt,e),s(t,nt,e),s(t,zt,e),U(at,t,e),s(t,Dt,e),s(t,Mt,e),s(t,Lt,e),U(it,t,e),s(t,Pt,e),U(pt,t,e),s(t,Kt,e),s(t,yt,e),s(t,Ot,e),U(Jt,t,e),s(t,te,e),s(t,Ut,e),ee=!0},p(t,[e]){const be={};e&2&&(be.$$scope={dirty:e,ctx:t}),f.$set(be)},i(t){ee||(T(u.$$.fragment,t),T(G.$$.fragment,t),T(Z.$$.fragment,t),T(W.$$.fragment,t),T(Q.$$.fragment,t),T(A.$$.fragment,t),T(v.$$.fragment,t),T(R.$$.fragment,t),T(H.$$.fragment,t),T(E.$$.fragment,t),T(q.$$.fragment,t),T(F.$$.fragment,t),T(z.$$.fragment,t),T(P.$$.fragment,t),T(O.$$.fragment,t),T(f.$$.fragment,t),T(et.$$.fragment,t),T(lt.$$.fragment,t),T(at.$$.fragment,t),T(it.$$.fragment,t),T(pt.$$.fragment,t),T(Jt.$$.fragment,t),ee=!0)},o(t){w(u.$$.fragment,t),w(G.$$.fragment,t),w(Z.$$.fragment,t),w(W.$$.fragment,t),w(Q.$$.fragment,t),w(A.$$.fragment,t),w(v.$$.fragment,t),w(R.$$.fragment,t),w(H.$$.fragment,t),w(E.$$.fragment,t),w(q.$$.fragment,t),w(F.$$.fragment,t),w(z.$$.fragment,t),w(P.$$.fragment,t),w(O.$$.fragment,t),w(f.$$.fragment,t),w(et.$$.fragment,t),w(lt.$$.fragment,t),w(at.$$.fragment,t),w(it.$$.fragment,t),w(pt.$$.fragment,t),w(Jt.$$.fragment,t),ee=!1},d(t){t&&(l(h),l(d),l(c),l(b),l(m),l(wt),l(j),l(ot),l(mt),l(B),l(rt),l($),l(ut),l(It),l(g),l(ht),l(x),l(ct),l(dt),l(S),l(jt),l(ft),l(N),l(bt),l(Ct),l(k),l(Gt),l(Bt),l($t),l(X),l(Zt),l(gt),l(V),l(xt),l(Wt),l(_),l(St),l(Qt),l(Nt),l(Y),l(At),l(kt),l(D),l(vt),l(L),l(Rt),l(Xt),l(K),l(Ht),l(Vt),l(Et),l(tt),l(_t),l(qt),l(Ft),l(st),l(Yt),l(nt),l(zt),l(Dt),l(Mt),l(Lt),l(Pt),l(Kt),l(yt),l(Ot),l(te),l(Ut)),l(I),o(u,t),o(G,t),o(Z,t),o(W,t),o(Q,t),o(A,t),o(v,t),o(R,t),o(H,t),o(E,t),o(q,t),o(F,t),o(z,t),o(P,t),o(O,t),o(f,t),o(et,t),o(lt,t),o(at,t),o(it,t),o(pt,t),o(Jt,t)}}}const Re='{"title":"Транскрибирование встречи","local":"транскрибирование-встречи","sections":[{"title":"Диаризация диктора","local":"диаризация-диктора","sections":[],"depth":2},{"title":"Транскрибирование речи","local":"транскрибирование-речи","sections":[],"depth":2},{"title":"Speechbox","local":"speechbox","sections":[],"depth":2}],"depth":1}';function Xe(Tt){return Ze(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Fe extends xe{constructor(I){super(),We(this,I,Xe,ve,$e,{})}}export{Fe as component};
