Automatické rozpoznávání a překlad řeči v reálném čase v C#
Program zachytává zvukový proud z aplikací jako Teams, rozděluje jej na věty podle hlasitosti a pauz. Následně provádí Whisper STT do ruštiny, angličtiny nebo francouzštiny, za nímž následuje překlad. Implementace v C# používá přibližně 20 % ručního kódu, zbytek tvoří integrace. Podporuje režim diktování při výběru jednoho jazyka: pouze rozpoznávání s možností ukládání zvuku.
Nastavení umožňuje kalibrovat:
- Hlasitost hlasu pro detekci řeči.
- Délku pauzy mezi větami.
Statistika v pravém dolním rohu zobrazuje aktuální úrovně zvuku a indikátory detekce – ideální pro přesné ladění. Zachycení funguje pouze prostřednictvím systémového mixéru (sluchátka nebo reproduktory), mikrofon přímo není podporován.
Výběr modelu Whisper a výkon
Testovány lokální řešení pro STT:
- Sherpa (ONNX): streamová verze pro francouzštinu nevyhověla architektuře.
- Foundry Local (Microsoft): hrubé, souborová komunikace, založené na Whisper.
Vybrali jsme Whisper:
| Model | Rychlost | Logika | Poznámky |
|--------|----------|--------|-------------|
| Base | Rychlá | Ne | Minimální, bez kontextu |
| Small | Střední | Ano | Optimální vyváženost, teplota 0,1–0,2 |
| Medium | Pomalá | Dobrá | Fronta částí roste během živých schůzek |
Bez NPU/GPU je zatížení RAM, ale kvalita je přijatelná při dobrém zvuku z konferencí.
Integrace překladačů
Dva možné přístupy:
- OpenAI: klíč, model, URL v nastavení.
- Azure Translator: klíč, 2 miliony znaků/měsíc zdarma, vyžaduje účet.
Rozhraní ITranslationService usnadňuje přidávání nových služeb (Yandex API je možné s fakturací). Lokální překladače se nepodařilo najít ekvivalenty s dostatečnou kvalitou.
Příklad konfigurace pro Azure:
public class AzureTranslationService : ITranslationService
{
private readonly string _key;
// ...
}
Praktické scénáře a omezení
Nástroj řeší úkol v reálném čase pro konference v cizích jazycích bez nahrávání. Testován na francouzštině, angličtině a ruštině. Není univerzálním nahrávačem – pouze systémový výstup.
Pro middle/senior: architektura modulární, zaměření na streamovou práci s částmi. Rozšíření prostřednictvím nahrazení STT/překladu nebo přidání VAD algoritmů.
Důležité:
- Zachycení systémového zvuku, rozdělení vět podle parametrů podobných VAD.
- Whisper Small je optimální pro RT: teplota 0,1–0,2, bez GPU.
- Jednoduché rozhraní pro překladače, Azure zdarma až 2M znaků.
- Režim STT-only pro transkripci bez překladu.
- Statistika pro ladění detekce řeči.
— Editorial Team
Zatím žádné komentáře.