import{s as Ge,o as Be,n as Ze}from"../chunks/scheduler.f7e1785c.js";import{S as $e,i as ge,g as M,s as n,r as y,A as xe,h as i,f as l,c as a,j as fe,u as J,x as p,k as ee,y as We,a as s,v as U,d as T,t as w,w as o,m as Ce,n as be}from"../chunks/index.9f8f0838.js";import{T as Se}from"../chunks/Tip.4575d9cf.js";import{C as r}from"../chunks/CodeBlock.b3510e34.js";import{H as te}from"../chunks/Heading.6643a2f7.js";function Qe(Ut){let I,c,h="ASRDiarizationPipeline",d,u,C="<code>pipeline = ASRDiarizationPipeline.from_pretrained(&quot;openai/whisper-base&quot;)</code>";return{c(){I=Ce("Вы также можете инстанцировать  "),c=M("code"),c.textContent=h,d=Ce(` directly непосредственно из предварительно обученных моделей, указав идентификатор 
    модели ASR на Hub:
    `),u=M("p"),u.innerHTML=C},l(m){I=be(m,"Вы также можете инстанцировать  "),c=i(m,"CODE",{"data-svelte-h":!0}),p(c)!=="svelte-1613cio"&&(c.textContent=h),d=be(m,` directly непосредственно из предварительно обученных моделей, указав идентификатор 
    модели ASR на Hub:
    `),u=i(m,"P",{"data-svelte-h":!0}),p(u)!=="svelte-k598fh"&&(u.innerHTML=C)},m(m,b){s(m,I,b),s(m,c,b),s(m,d,b),s(m,u,b)},p:Ze,d(m){m&&(l(I),l(c),l(d),l(u))}}}function Ne(Ut){let I,c,h,d,u,C,m,b=`В этом заключительном разделе мы используем модель Whisper для создания транскрипции разговора или встречи между двумя или более говорящими. Затем мы объединим
ее с моделью <em>диаризации диктора</em> для прогнозирования “кто когда говорил”. Сопоставив временные метки из транскрипции Whisper с временными метками от модели диаризации,
мы можем спрогнозировать сквозную транскрипцию встречи с полностью отформатированным временем начала и окончания для каждого говорящего. Это базовая версия услуг по
транскрибированию совещаний, которую вы могли видеть в интернете от таких компаний, как <a href="https://otter.ai" rel="nofollow">Otter.ai</a> и др:`,Tt,j,le='<img src="https://huggingface.co/datasets/huggingface-course/audio-course-images/resolve/main/diarization_transcription.png"/>',wt,G,ot,B,se=`Диаризация диктора (или диаризация) - это задача получения немаркированных аудиоданных и прогнозирования того, “кто когда говорил”. При этом мы можем
прогнозировать временные метки начала/окончания каждой очереди дикторов, соответствующие моменту начала речи и моменту ее окончания.`,mt,Z,ne=`🤗 В настоящее время в библиотеке Transformers нет модели для диаризации диктора, но на Hub есть контрольные точки, которые можно использовать
с относительной легкостью. В этом примере мы будем использовать предварительно обученную модель диаризации диктора из <a href="https://github.com/pyannote/pyannote-audio" rel="nofollow">pyannote.audio</a>.
Давайте приступим к работе и установим пакет с помощью pip:`,rt,$,ut,g,ae=`Отлично! Веса для этой модели размещены на 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>.`,It,x,Me="После завершения работы мы можем загрузить предварительно обученный конвейер диаризации дикторов локально на наше устройство:",ct,W,dt,S,ie=`Давайте опробуем его на примере аудиофайла! Для этого мы загрузим образец из датасета <a href="https://huggingface.co/datasets/librispeech_asr" rel="nofollow">LibriSpeech ASR</a>, содержащий речь
двух разных дикторов, который мы объединили в один аудиофайл:`,ht,Q,jt,N,pe="Мы можем прослушать аудиозапись, чтобы понять, как она звучит:",ft,A,Ct,k,ye=`Класс! Мы отчетливо слышим двух разных дикторов с переходом примерно на 15 секунде звучания. Давайте передадим этот аудиофайл в модель диаризации, чтобы получить
время начала и окончания разговора. Заметим, что pyannote.audio ожидает, что входной аудиофайл будет представлять собой тензор PyTorch формы <code>(channels, seq_len)</code>,
поэтому перед запуском модели нам необходимо выполнить это преобразование:`,bt,v,Gt,R,Bt,X,Je=`Выглядит это довольно неплохо! Видно, что первый диктор говорит до отметки 14,5 секунды, а второй - с 15,4 секунды.
Теперь нам нужно получить транскрипцию!`,Zt,H,$t,V,Ue=`В третий раз в этом блоке мы будем использовать модель 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:`,gt,E,xt,_,Te=`Давайте получим транскрипцию для нашего образца аудиозаписи, возвращая также временные метки на уровне сегментов, чтобы знать время начала и окончания каждого сегмента.
Из раздела 5 вы помните, что для активации задачи прогнозирования временных меток в Whisper нам необходимо передать аргумент <code>return_timestamps=True</code>:`,Wt,q,St,F,Qt,Y,we=`Отлично! Мы видим, что каждый сегмент транскрипции имеет начальное и конечное время, причем смена дикторов происходит на отметке 15,48 секунды. Теперь мы можем сопоставить
эту транскрипцию с временными метками дикторов, полученными с помощью модели диаризации, и получить окончательную транскрипцию.`,Nt,z,At,D,oe=`Чтобы получить окончательную транскрипцию, совместим временные метки, полученные с помощью модели диаризации, с временными метками, полученными с помощью модели Whisper.
Модель диаризации предсказала окончание речи первого диктора на 14,5 с, а второго - на 15,4 с, в то время как Whisper предсказал границы сегментов на 13,88, 15,48 и 19,44 с соответственно.
Поскольку временные метки, полученные с помощью Whisper, не полностью совпадают с данными модели диаризации, нам необходимо найти, какие из этих границ ближе всего к 14,5 и 15,4 с, и
соответствующим образом сегментировать транскрипцию по дикторам. В частности, мы найдем наиболее близкое совпадение между временными метками диаризации и транскрипции,
минимизировав абсолютное расстояние между ними.`,kt,L,me="К счастью для нас, мы можем использовать пакет 🤗 Speechbox для выполнения этого выравнивания. Сначала давайте установим пакет <code>speechbox</code> из main:",vt,P,Rt,K,re=`Теперь мы можем инстанцировать наш комбинированный конвейер диаризации и транскрипции, передав модель диаризации и
модель ASR в класс <a href="https://github.com/huggingface/speechbox/tree/main#asr-with-speaker-diarization" rel="nofollow"><code>ASRDiarizationPipeline</code></a>:`,Xt,O,Ht,f,Vt,tt,ue="Передадим аудиофайл в композитный конвейер и посмотрим, что получится в результате:",Et,et,_t,lt,qt,st,Ie=`Отлично! Первый диктор сегментирован как говорящий с 0 до 15,48 секунды, а второй - с 15,48 до 21,28 секунды,
с соответствующими транскрипциями для каждого из них.`,Ft,nt,ce=`Для более удобного форматирования временных меток можно определить две вспомогательные функции. Первая преобразует кортеж временных меток в строку, округленную
до заданного количества знаков после запятой. Вторая объединяет идентификатор диктора, временную метку и текстовую информацию в одну строку, а для удобства
чтения разбивает каждого диктора на отдельные строки:`,Yt,at,zt,Mt,de="Повторно запустим конвейер, на этот раз форматируя транскрипцию в соответствии с функцией, которую мы только что определили:",Dt,it,Lt,pt,Pt,yt,he=`Вот так! Таким образом, мы провели диарирование и транскрибацию входного аудиосигнала и получили транскрибации с сегментацией дикторов. Хотя алгоритм минимального расстояния для
выравнивания временных меток диаризации и транскрибации прост, он хорошо работает на практике. Если вы хотите изучить более сложные методы совмещения временных меток, то исходный
код <code>ASRDiarizationPipeline</code> является хорошей отправной точкой: <a href="https://github.com/huggingface/speechbox/blob/96d2d1a180252d92263f862a1cd25a48860f1aed/src/speechbox/diarize.py#L12" rel="nofollow">speechbox/diarize.py</a>`,Kt,Jt,Ot;return u=new te({props:{title:"Транскрибирование встречи",local:"транскрибирование-встречи",headingTag:"h1"}}),G=new te({props:{title:"Диаризация диктора",local:"диаризация-диктора",headingTag:"h2"}}),$=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 te({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 te({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 Se({props:{$$slots:{default:[Qe]},$$scope:{ctx:Ut}}}),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}}),{c(){I=M("meta"),c=n(),h=M("p"),d=n(),y(u.$$.fragment),C=n(),m=M("p"),m.innerHTML=b,Tt=n(),j=M("div"),j.innerHTML=le,wt=n(),y(G.$$.fragment),ot=n(),B=M("p"),B.textContent=se,mt=n(),Z=M("p"),Z.innerHTML=ne,rt=n(),y($.$$.fragment),ut=n(),g=M("p"),g.innerHTML=ae,It=n(),x=M("p"),x.textContent=Me,ct=n(),y(W.$$.fragment),dt=n(),S=M("p"),S.innerHTML=ie,ht=n(),y(Q.$$.fragment),jt=n(),N=M("p"),N.textContent=pe,ft=n(),y(A.$$.fragment),Ct=n(),k=M("p"),k.innerHTML=ye,bt=n(),y(v.$$.fragment),Gt=n(),y(R.$$.fragment),Bt=n(),X=M("p"),X.textContent=Je,Zt=n(),y(H.$$.fragment),$t=n(),V=M("p"),V.innerHTML=Ue,gt=n(),y(E.$$.fragment),xt=n(),_=M("p"),_.innerHTML=Te,Wt=n(),y(q.$$.fragment),St=n(),y(F.$$.fragment),Qt=n(),Y=M("p"),Y.textContent=we,Nt=n(),y(z.$$.fragment),At=n(),D=M("p"),D.textContent=oe,kt=n(),L=M("p"),L.innerHTML=me,vt=n(),y(P.$$.fragment),Rt=n(),K=M("p"),K.innerHTML=re,Xt=n(),y(O.$$.fragment),Ht=n(),y(f.$$.fragment),Vt=n(),tt=M("p"),tt.textContent=ue,Et=n(),y(et.$$.fragment),_t=n(),y(lt.$$.fragment),qt=n(),st=M("p"),st.textContent=Ie,Ft=n(),nt=M("p"),nt.textContent=ce,Yt=n(),y(at.$$.fragment),zt=n(),Mt=M("p"),Mt.textContent=de,Dt=n(),y(it.$$.fragment),Lt=n(),y(pt.$$.fragment),Pt=n(),yt=M("p"),yt.innerHTML=he,Kt=n(),Jt=M("p"),this.h()},l(t){const e=xe("svelte-u9bgzb",document.head);I=i(e,"META",{name:!0,content:!0}),e.forEach(l),c=a(t),h=i(t,"P",{}),fe(h).forEach(l),d=a(t),J(u.$$.fragment,t),C=a(t),m=i(t,"P",{"data-svelte-h":!0}),p(m)!=="svelte-1ra3eri"&&(m.innerHTML=b),Tt=a(t),j=i(t,"DIV",{class:!0,"data-svelte-h":!0}),p(j)!=="svelte-9us2ce"&&(j.innerHTML=le),wt=a(t),J(G.$$.fragment,t),ot=a(t),B=i(t,"P",{"data-svelte-h":!0}),p(B)!=="svelte-3gd3hr"&&(B.textContent=se),mt=a(t),Z=i(t,"P",{"data-svelte-h":!0}),p(Z)!=="svelte-1tt65sg"&&(Z.innerHTML=ne),rt=a(t),J($.$$.fragment,t),ut=a(t),g=i(t,"P",{"data-svelte-h":!0}),p(g)!=="svelte-1kv315r"&&(g.innerHTML=ae),It=a(t),x=i(t,"P",{"data-svelte-h":!0}),p(x)!=="svelte-9rhb47"&&(x.textContent=Me),ct=a(t),J(W.$$.fragment,t),dt=a(t),S=i(t,"P",{"data-svelte-h":!0}),p(S)!=="svelte-1i8rm0o"&&(S.innerHTML=ie),ht=a(t),J(Q.$$.fragment,t),jt=a(t),N=i(t,"P",{"data-svelte-h":!0}),p(N)!=="svelte-x4a8xo"&&(N.textContent=pe),ft=a(t),J(A.$$.fragment,t),Ct=a(t),k=i(t,"P",{"data-svelte-h":!0}),p(k)!=="svelte-18p9q30"&&(k.innerHTML=ye),bt=a(t),J(v.$$.fragment,t),Gt=a(t),J(R.$$.fragment,t),Bt=a(t),X=i(t,"P",{"data-svelte-h":!0}),p(X)!=="svelte-18ctben"&&(X.textContent=Je),Zt=a(t),J(H.$$.fragment,t),$t=a(t),V=i(t,"P",{"data-svelte-h":!0}),p(V)!=="svelte-zjuzv9"&&(V.innerHTML=Ue),gt=a(t),J(E.$$.fragment,t),xt=a(t),_=i(t,"P",{"data-svelte-h":!0}),p(_)!=="svelte-85qm4z"&&(_.innerHTML=Te),Wt=a(t),J(q.$$.fragment,t),St=a(t),J(F.$$.fragment,t),Qt=a(t),Y=i(t,"P",{"data-svelte-h":!0}),p(Y)!=="svelte-1spjeeq"&&(Y.textContent=we),Nt=a(t),J(z.$$.fragment,t),At=a(t),D=i(t,"P",{"data-svelte-h":!0}),p(D)!=="svelte-7l9wow"&&(D.textContent=oe),kt=a(t),L=i(t,"P",{"data-svelte-h":!0}),p(L)!=="svelte-94nqxh"&&(L.innerHTML=me),vt=a(t),J(P.$$.fragment,t),Rt=a(t),K=i(t,"P",{"data-svelte-h":!0}),p(K)!=="svelte-7vo6bc"&&(K.innerHTML=re),Xt=a(t),J(O.$$.fragment,t),Ht=a(t),J(f.$$.fragment,t),Vt=a(t),tt=i(t,"P",{"data-svelte-h":!0}),p(tt)!=="svelte-y8al4t"&&(tt.textContent=ue),Et=a(t),J(et.$$.fragment,t),_t=a(t),J(lt.$$.fragment,t),qt=a(t),st=i(t,"P",{"data-svelte-h":!0}),p(st)!=="svelte-10ttfy7"&&(st.textContent=Ie),Ft=a(t),nt=i(t,"P",{"data-svelte-h":!0}),p(nt)!=="svelte-g6hmbq"&&(nt.textContent=ce),Yt=a(t),J(at.$$.fragment,t),zt=a(t),Mt=i(t,"P",{"data-svelte-h":!0}),p(Mt)!=="svelte-pj9jll"&&(Mt.textContent=de),Dt=a(t),J(it.$$.fragment,t),Lt=a(t),J(pt.$$.fragment,t),Pt=a(t),yt=i(t,"P",{"data-svelte-h":!0}),p(yt)!=="svelte-jyyc5l"&&(yt.innerHTML=he),Kt=a(t),Jt=i(t,"P",{}),fe(Jt).forEach(l),this.h()},h(){ee(I,"name","hf:doc:metadata"),ee(I,"content",Ae),ee(j,"class","flex justify-center")},m(t,e){We(document.head,I),s(t,c,e),s(t,h,e),s(t,d,e),U(u,t,e),s(t,C,e),s(t,m,e),s(t,Tt,e),s(t,j,e),s(t,wt,e),U(G,t,e),s(t,ot,e),s(t,B,e),s(t,mt,e),s(t,Z,e),s(t,rt,e),U($,t,e),s(t,ut,e),s(t,g,e),s(t,It,e),s(t,x,e),s(t,ct,e),U(W,t,e),s(t,dt,e),s(t,S,e),s(t,ht,e),U(Q,t,e),s(t,jt,e),s(t,N,e),s(t,ft,e),U(A,t,e),s(t,Ct,e),s(t,k,e),s(t,bt,e),U(v,t,e),s(t,Gt,e),U(R,t,e),s(t,Bt,e),s(t,X,e),s(t,Zt,e),U(H,t,e),s(t,$t,e),s(t,V,e),s(t,gt,e),U(E,t,e),s(t,xt,e),s(t,_,e),s(t,Wt,e),U(q,t,e),s(t,St,e),U(F,t,e),s(t,Qt,e),s(t,Y,e),s(t,Nt,e),U(z,t,e),s(t,At,e),s(t,D,e),s(t,kt,e),s(t,L,e),s(t,vt,e),U(P,t,e),s(t,Rt,e),s(t,K,e),s(t,Xt,e),U(O,t,e),s(t,Ht,e),U(f,t,e),s(t,Vt,e),s(t,tt,e),s(t,Et,e),U(et,t,e),s(t,_t,e),U(lt,t,e),s(t,qt,e),s(t,st,e),s(t,Ft,e),s(t,nt,e),s(t,Yt,e),U(at,t,e),s(t,zt,e),s(t,Mt,e),s(t,Dt,e),U(it,t,e),s(t,Lt,e),U(pt,t,e),s(t,Pt,e),s(t,yt,e),s(t,Kt,e),s(t,Jt,e),Ot=!0},p(t,[e]){const je={};e&2&&(je.$$scope={dirty:e,ctx:t}),f.$set(je)},i(t){Ot||(T(u.$$.fragment,t),T(G.$$.fragment,t),T($.$$.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),Ot=!0)},o(t){w(u.$$.fragment,t),w(G.$$.fragment,t),w($.$$.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),Ot=!1},d(t){t&&(l(c),l(h),l(d),l(C),l(m),l(Tt),l(j),l(wt),l(ot),l(B),l(mt),l(Z),l(rt),l(ut),l(g),l(It),l(x),l(ct),l(dt),l(S),l(ht),l(jt),l(N),l(ft),l(Ct),l(k),l(bt),l(Gt),l(Bt),l(X),l(Zt),l($t),l(V),l(gt),l(xt),l(_),l(Wt),l(St),l(Qt),l(Y),l(Nt),l(At),l(D),l(kt),l(L),l(vt),l(Rt),l(K),l(Xt),l(Ht),l(Vt),l(tt),l(Et),l(_t),l(qt),l(st),l(Ft),l(nt),l(Yt),l(zt),l(Mt),l(Dt),l(Lt),l(Pt),l(yt),l(Kt),l(Jt)),l(I),o(u,t),o(G,t),o($,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)}}}const Ae='{"title":"Транскрибирование встречи","local":"транскрибирование-встречи","sections":[{"title":"Диаризация диктора","local":"диаризация-диктора","sections":[],"depth":2},{"title":"Транскрибирование речи","local":"транскрибирование-речи","sections":[],"depth":2},{"title":"Speechbox","local":"speechbox","sections":[],"depth":2}],"depth":1}';function ke(Ut){return Be(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ee extends $e{constructor(I){super(),ge(this,I,ke,Ne,Ge,{})}}export{Ee as component};
