リアルタイム・キャプション機能の開発には、以下の主要な技術的実装プロセスが必要です:
- モデルの準備例:中国語はzh-cnモデルをダウンロードする必要があります)また、精度を向上させるために、再スコア付きの大きなモデルを使用することをお勧めします。
- オーディオ・パイプライン建設::
- AudioContextによるオーディオ処理環境の構築
- createTransfererを使用して、128*150サイズのデータ転送バッファを作成する。 - イベントリスナー2つの重要なイベントを同期登録:
- partialResult: 200ミリ秒ごとにリアルタイム表示用の一時的な認識結果を取得する。
- result: ステートメントの終わりが検出されたら、最終テキストを出力する。 - UIレンダリングの最適化インターフェイスの遅延を避けるため、アンチシェイク技術を使用してDOMの更新頻度を制御することをお勧めします。
パフォーマンスのヒント
- ビデオダビングを扱う場合、音声ファイルは OfflineAudioContext を使って前処理することができます。
- 長い動画の場合、メモリのオーバーフローを避けるために、モデルを分割してロードすることをお勧めします。
- 字幕のタイムラインは、AudioContext.currentTimeと同期させることができます。
この答えは記事から得たものである。Vosk-Browser:ブラウザ上で動作する音声認識ツールについて