Die Entwicklung von Echtzeit-Untertitelungsfunktionen erfordert die folgenden wichtigen technischen Implementierungsprozesse:
- Vorbereitung des ModellsWählen Sie ein Modell, das für die Zielsprache geeignet ist (z. B. muss für Chinesisch das Modell zh-cn heruntergeladen werden), und es wird empfohlen, ein großes Modell mit einem Rescore zu verwenden, um die Genauigkeit zu verbessern.
- Audio-Rohrleitungsbau::
- Erstellen einer Audioverarbeitungsumgebung durch AudioContext
- Verwenden Sie createTransferer, um einen 128*150 großen Datenübertragungspuffer zu erstellen - Ereignis-ListenerSynchronisierte Registrierung von zwei wichtigen Ereignissen:
- partialResult: Abruf eines vorläufigen Erkennungsergebnisses für die Echtzeitanzeige alle 200ms
- result: gibt den endgültigen Text aus, wenn das Ende der Anweisung erkannt wird - Optimierung des UI-RenderingsEs wird empfohlen, die Häufigkeit der DOM-Aktualisierung mit Hilfe der Anti-Shake-Technologie zu steuern, um eine Verzögerung der Schnittstelle zu vermeiden.
Leistungstipp:
- Bei der Nachvertonung von Videos können Audiodateien durch OfflineAudioContext vorverarbeitet werden
- Bei langen Videos empfiehlt es sich, das Modell in Segmenten zu laden, um einen Speicherüberlauf zu vermeiden.
- Die Zeitachse der Untertitel kann mit AudioContext.currentTime synchronisiert werden.
Diese Antwort stammt aus dem ArtikelVosk-Browser: Spracherkennungsprogramm in einem BrowserDie
































