Když přepisujete rozhovor nebo schůzku s více lidmi, potřebujete vědět, kdo kterou větu řekl. Whisper Notes rozpoznává řeč i mluvčí offline, přímo na iPhonu nebo Macu. U každého modelu, který do aplikace zařadíme, proto hledáme rovnováhu mezi přesností a rychlostí, a přesnost má u nás vždy přednost. Vestavěný model pro rozpoznání mluvčích, pyannote community-1, jsme nedávno nahradili modelem Nemotron 3 Diarization od společnosti NVIDIA. Oba modely jsme porovnali na 122 veřejných nahrávkách s jedním až dvanácti mluvčími: chybovost diarizace (DER) klesla z 16,0 % na 9,9 %.
Nemotron 3 snižuje chybovost diarizace z 16,0 % na 9,9 %
Chybovost diarizace (DER) sčítá tři druhy chyb a měří je délkou řeči: řeč přiřazenou nesprávné osobě, řeč, kterou model vynechal, a šum, který považoval za řeč. Je to standardní metrika pro rozpoznání mluvčích. Tabulka ji uvádí spolu s chybami, kterých si uživatelé všimnou nejčastěji, a s rychlostí a pamětí obou modelů na Macu a iPhonu.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Chybovost diarizace, 122 nahrávek | 16,0 % | 9,9 % |
| Správný počet mluvčích | 52 % nahrávek | 80 % nahrávek |
| Řeč přiřazená nesprávné osobě | 4,5 % | 1,0 % |
| 1 hodina zvuku na Macu (M5) | asi 22 s | asi 8,5 s |
| Paměť na Macu | 0,88 GB | 0,12 GB |
| 55minutová nahrávka na iPhonu 15 | asi 27 s | asi 12 s |
| Paměť navíc na iPhonu 15 | asi 830 MB | asi 30 MB |
| Nejvyšší počet mluvčích | Bez pevného limitu (v aplikaci až 10) | 8 |
Zelená tady i ve všech dalších tabulkách a grafech označuje lepší hodnotu tam, kde rozdíl přesahuje statistickou chybu: u přesnosti jde o 95% interval, který nezahrnuje nulu, u rychlosti a paměti o rozdíl mnohem větší než rozptyl mezi běhy. U chybovosti platí, že nižší je lepší. Řádky s přesností vycházejí ze 122 veřejných nahrávek (25 hodin, angličtina a čínština). Rychlost a paměť platí pro oba modely spuštěné přes Core ML, Nemotron 3 na Neural Engine. Časy na Macu zahrnují jen samotné zpracování, časy na iPhonu se měří od začátku rozpoznávání po výsledek.
Pokles nestojí na několika nahrávkách. Následující graf ukazuje změnu u každé ze 122 nahrávek, od největšího poklesu po největší nárůst:
Každý sloupec je jedna nahrávka a ukazuje, o kolik procentních bodů se její chybovost s Nemotronem 3 změnila: pod nulou klesla, nad nulou stoupla.
Nemotron 3 je horší ve třech případech: u nahrávek s více než osmi mluvčími, u nahrávek s jediným mluvčím a při zalomení odstavce uprostřed věty.
Záměna mluvčích téměř mizí: 4,5 % → 1,0 %
Ze tří druhů chyb si čtenář jako první všimne řeči přiřazené nesprávné osobě: slova sedí, ale jméno ne. S Nemotronem 3 tato chyba téměř mizí a ubývá i vynechané řeči.
Průměr za 122 nahrávek v procentech času řeči; oba sloupce v každém řádku začínají na nule. Pokles u nesprávného mluvčího i u vynechané řeči přesahuje statistickou chybu. Rozdíl u šumu považovaného za řeč je v jejích mezích, proto je tento sloupec světle šedý. Hodnoty jsou zaokrouhlené, takže jejich součet nemusí přesně odpovídat celkové hodnotě.
Správný počet mluvčích u 80 % nahrávek místo 52 %
Když model najde méně mluvčích, než ve skutečnosti mluví, znamená to, že spojil dva hlasy do jednoho a repliky dvou lidí skončí pod jedním štítkem. To byla nejčastější chyba modelu pyannote community-1. Nemotron 3 ji dělá mnohem méně často.
Počet mluvčích, který každý model na 122 nahrávkách našel, ve srovnání se skutečným počtem. pyannote community-1 většinou našel méně mluvčích. Nemotron 3 se trefí častěji, a když se splete, najde víc mluvčích stejně často jako méně.
Lepší na schůzkách, ve vysílání i u nahrávek se dvěma až osmi mluvčími
Nahrávky se obtížností hodně liší: nejtěžší jsou schůzky nahrané vzdáleným mikrofonem, nejsnazší vysílání. Po rozdělení podle typu nahrávky, jazyka a počtu mluvčích má nižší chybovost každá skupina s alespoň deseti nahrávkami; u skupiny s jedním mluvčím je rozdíl v mezích statistické chyby. Tři nahrávky s devíti až dvanácti mluvčími dopadly hůř, ale na statistický test je jich příliš málo.
Oba sloupce v každé skupině začínají na nule: šedá je pyannote community-1, zelená Nemotron 3 a číslo na konci sloupce je průměrná chybovost. Zelená značí pokles větší než statistická chyba, světle šedá rozdíl v jejích mezích a oranžová nárůst. Do celku se započítává i 6 konferenčních hovorů k výsledkům hospodaření, na samostatnou skupinu je jich ale příliš málo.
Úprava přepisu: ruční opravy na 10 minut klesají z 28,9 na 18,9
Chybovost se nakonec promítne do práce: do počtu sloučení, rozdělení a změn mluvčího, které musíte udělat, aby zobrazení mluvčích sedělo. Nejmenší potřebný počet takových oprav jsme spočítali na 4 nahrávkách dvou lidí, ke kterým existuje referenční přepis slovo po slově (2 nizozemské, 1 čínská, 1 finská). Čtenáři si všimnou i další chyby: věty jednoho člověka rozdělené mezi dva mluvčí. Na 12 anglických schůzkách nahraných vzdáleným mikrofonem to oba modely dělají jen zřídka a rozdíl je v mezích statistické chyby.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Ruční opravy na 10 minut, 4 nahrávky dvou lidí | 28,9 | 18,9 |
| Věta rozdělená mezi dva mluvčí, 12 anglických schůzek | 0,58 % vět | 0,88 % vět |
Počet ručních oprav pochází jen ze 4 nahrávek, což je příliš málo na statistický test i na obecný závěr. Rozdělená věta je věta jednoho člověka, jejíž text skončil v odstavcích dvou různých mluvčích.
Nemotron 3 je rychlejší a potřebuje méně než sedminu paměti
Když model běží přímo v zařízení, záleží na rychlosti a paměti stejně jako na přesnosti. Tabulka ukazuje dobu zpracování a paměť obou modelů spuštěných přes Core ML, Nemotron 3 na Neural Engine. Na všech zařízeních, která jsme testovali, je Nemotron 3 rychlejší a spotřebuje mnohem méně paměti. Nejvíc na tom záleží u starších iPhonů se 4 GB paměti.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Mac (M5) | ||
| 1 hodina zvuku | asi 22 s | asi 8,5 s |
| Paměť | 0,88 GB | 0,12 GB |
| iPhone 15 | ||
| 55minutová nahrávka | 26,6 s | 11,8 s |
| Paměť navíc při rozpoznávání | 833 MB | 30 MB |
| iPhone 12 mini | ||
| 55minutová nahrávka | 30,1 s | 17,2 s |
| Špičková spotřeba paměti aplikace při rozpoznávání | 638 MB | 71 MB |
Medián z několika běhů (pyannote community-1 běžel na iPhonu 15 jen jednou), vše na stejném 55minutovém konferenčním hovoru k výsledkům hospodaření s 10 mluvčími. Oba modely běží přes Core ML, Nemotron 3 na Neural Engine. Časy na Macu zahrnují jen zpracování, bez dekódování zvuku a načtení modelu. Časy na iPhonu se měří od začátku rozpoznávání po výsledek a zahrnují načtení modelu a u pyannote community-1 i následné zpracování, se kterým se model dodával. Telefony byly připojené přes USB a každý běh začínal s vychladlým telefonem.
Když Core ML poprvé spouští model na Neural Engine, zkompiluje ho pro dané zařízení: na Macu to trvá asi 7 sekund, na iPhonu 15 asi minutu. Potom se model načte za zlomek sekundy.
Kde je pyannote community-1 stále lepší
- Více než osm mluvčích. Nemotron 3 označí nejvýše osm lidí. Na našich 3 nahrávkách s devíti až dvanácti mluvčími dopadl hůř než pyannote community-1 ve 2 případech.
- Jediný mluvčí. Na 14 nahrávkách s jedním mluvčím našel Nemotron 3 mluvčí navíc v 5 případech, pyannote community-1 v 1 případě.
- Zalomení uprostřed věty. Na 12 anglických schůzkách připadlo doprostřed věty 25,8 % zalomení odstavců, u pyannote community-1 14,6 %.
Jak z Nemotronu 3 ve Whisper Notes dostat co nejvíc
- Když víte, kolik lidí mluví, zadejte počet mluvčích. Na 108 nahrávkách se dvěma a více mluvčími jsme Nemotronu 3 zadali počet mluvčích. U 15 nahrávek se tím počet mluvčích opravil a u žádné se nezhoršil. Chybovost se přitom zřetelně nezměnila (+0,16 bodu, v mezích statistické chyby).
- Když mluví jen jeden člověk, rozpoznání mluvčích vynechte. Vyhnete se tak občasnému druhému „mluvčímu“.
- Při více než osmi mluvčích berte štítky jako první návrh. V zobrazení mluvčích pak podle potřeby mluvčí slučte a přejmenujte.
Nastavení počtu mluvčích přes „Not right?“ v zobrazení mluvčích na Macu
Rozpoznání mluvčích funguje na iPhonu i Macu stejně a celé probíhá v zařízení. Jak ho v aplikaci používat, popisuje článek Whisper Notes nyní rozpozná mluvčí.
Jak fungují: pyannote stříhá a shlukuje, Nemotron 3 čísluje mluvčí podle toho, kdy poprvé promluví
pyannote community-1 je třístupňový zpracovatelský řetězec. Zvuk rozdělí na 10sekundová okna a v každém zjistí, kdo mluví (v jednom okně nejvýše 3 lidé, ve stejném okamžiku nejvýše 2). Potom pro každý úsek řeči vytvoří otisk hlasu neboli embedding. Nakonec shlukování VBx seskupí podobné otisky do mluvčích. Čísla mluvčích platí vždy jen uvnitř jednoho okna, takže celkový počet mluvčích se určí až v posledním kroku.
Nemotron 3 Diarization tvoří jeden model: 31vrstvý enkodér typu Transformer, který v každém okamžiku hodnotí osm stop mluvčích. Každá stopa se hodnotí samostatně, takže když mluví několik lidí naráz, je aktivních několik stop. Model vychází z přístupu Sortformer od NVIDIA a čísluje stopy podle toho, kdy kdo poprvé promluví: kdo začne mluvit první, je vždy na stopě 1, takže model nikdy nemusí hádat, do které pozice hlas patří. Ve streamovacím režimu, který popisuje karta modelu, si model dřívější mluvčí ukládá do mezipaměti v pořadí, v jakém přišli, takže pozdější úsek lze přiřadit ke stejnému číslu.
Každé řešení má svá omezení. pyannote community-1 nemá pevný limit mluvčích, ale ve stejném okamžiku rozliší nejvýše dva lidi. Nemotron 3 dokáže označit více lidí, kteří mluví naráz, má ale osm stop, takže najde nejvýše osm mluvčích.
Schémata jsou zjednodušená. pyannote community-1: ve Whisper Notes asi 21 MB, CC BY 4.0 (karta modelu); segmentační model od autorů Plaquet a Bredin (Interspeech 2023), embeddingy z WeSpeaker, shlukování VBx (Landini et al., 2022). Nemotron 3 Diarization: 97 MB (8bitový převod do Core ML od Fluid Inference), asi 100 milionů parametrů, OpenMDW 1.1 (karta modelu); metodu popisují články Sortformer a Streaming Sortformer.
Jak jsme testovali
- Nahrávky. 122 veřejných nahrávek, 25 hodin, v angličtině a čínštině, každá s 1 až 12 mluvčími: schůzky nahrané vzdáleným mikrofonem, vysílání, konferenční hovory k výsledkům hospodaření a nahrávky jednoho mluvčího složené z oddělených úseků. K tomu 5 nahrávek dvou lidí v angličtině, nizozemštině, čínštině a finštině, 4 z nich s referenčním přepisem slovo po slově.
- Datové sady. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV a SKN a k tomu naše vlastní nahrávky. Jen datové sady, jejichž licence dovolují zveřejnit výsledky; žádné nahrávky našich uživatelů.
- Metrika. Chybovost diarizace, hodnocená po 10ms rámcích bez tolerance na hranicích (collar), včetně překrývající se řeči, zprůměrovaná přes nahrávky.
- Statistika. 95% intervaly z 10 000 bootstrapových převzorkování celých nahrávek; u skupin s méně než deseti nahrávkami intervaly neuvádíme.
- Zařízení. Mac s čipem M5, iPhone 15 a iPhone 12 mini; přesnost jsme počítali na Macu.
- Předregistrace. Plán testu jsme zmrazili 2. listopadu 2026 a rozdělení nahrávek dvou lidí 4. listopadu, dřív než na těchto nahrávkách běžel jakýkoli model.
Všechny podrobnosti testu
Výběr. Otázky a pravidla jsme stanovili pro větší benchmark ještě před prvním během. Tuto podmnožinu jsme vybrali podle licence, ne podle výsledků, a čísla jsme přepočítali ze stejných výstupů se stejným hodnocením. Nahrávky jednoho mluvčího složené z úseků LibriSpeech a AISHELL-4 se započítávají ke svému zdroji. Zveřejňujeme jen souhrnné výsledky, nikdy zvuk ani referenční text.
| Datová sada | Licence | Použité nahrávky |
|---|---|---|
| AMI Meeting Corpus | CC BY 4.0 | 16 schůzek a 16 minutových úryvků |
| AISHELL-4 | CC BY-SA 4.0 | 5 schůzek, 5 úryvků, 5 složených nahrávek jednoho mluvčího |
| AliMeeting | CC BY-SA 4.0 | 8 schůzek, 8 úryvků, 1 nahrávka dvou lidí |
| VoxConverse | CC BY 4.0 (autorská práva k videím zůstávají jejich vlastníkům) | 30 vysílání a 18 úryvků |
| Earnings-21 | CC BY-SA 4.0 | 6 hovorů k výsledkům hospodaření, 1 nahrávka dvou lidí |
| LibriSpeech | CC BY 4.0 | 5 složených nahrávek jednoho mluvčího |
| IFADV | GNU GPL v2 nebo novější | 2 nahrávky dvou lidí |
| Ukázky finských nářečí SKN | CC BY (Ústav pro jazyky Finska) | 1 nahrávka dvou lidí |
Licence podle stránek jednotlivých datových sad, ověřeno v listopadu 2026.
Intervaly. Celková chybovost klesla o 6,0 procentního bodu (4,5 až 7,6). Vynechaná řeč klesla o 2,3 bodu (1,3 až 3,4) a řeč přiřazená nesprávné osobě o 3,4 bodu (2,4 až 4,6); šum považovaný za řeč klesl o 0,30 bodu, v mezích statistické chyby (−0,02 až 0,62). Podíl nahrávek se správným počtem mluvčích vzrostl o 27,9 bodu (17,2 až 38,5). Ve skupinách nezahrnuje nulu žádný interval kromě skupiny s jedním mluvčím. Na 12 anglických schůzkách zahrnuje nulu interval pro rozdělené věty, interval pro zalomení uprostřed věty ne.
Hodnocení. Náš hodnoticí skript se s pyannote.metrics shoduje s odchylkou nejvýše 0,003 bodu.
Více než osm mluvčích. Výsledky na těchto nahrávkách citlivě reagují na drobné rozdíly v čipu a dekódování zvuku. Na 55minutovém konferenčním hovoru k výsledkům hospodaření s 10 mluvčími se Nemotron 3 podle čipu, nastavení a dekodéru zvuku pohyboval mezi 30,6 % a 42,8 %; pyannote community-1 dosáhl 21,6 %.
Nastavení následného zpracování. Některá nastavení následného zpracování jsme zvolili až po předregistraci, a to jen na samostatných ladicích nahrávkách; testovací nahrávky sloužily jen k vykázání výsledků.
Omezení. Přesnost jsme měřili jen v angličtině a čínštině; počet ručních oprav pochází ze 4 nahrávek. Časy pro Mac jsme naměřili na Macu s čipem M5, na kterém zároveň běžely jiné úlohy a betaverze macOS. Telefony byly připojené přes USB, takže spotřebu baterie jsme neměřili.
Vyzkoušejte to
Whisper Notes na iPhonu i Macu teď rozpoznává mluvčí pomocí modelu Nemotron 3. S dotazy nám pište na support@whispernotes.app.