前回の記事で、WhisperのモデルをONNXにして文字起こしができるようになったので、Windowsでスタンドアロンで実行できるアプリを作成した。
C#でWPFを使用して開発したので、実行できるのはWindowsのみである。
GitHubのReleaseからダウンロードできるようにした。
GitHub - TadaoYamaoka/RealtimeTranscribe: real-time transcription application
実行環境
.NET 6の.NET デスクトップ ランタイムが必要である。
実行方法
ReleaseからダウンロードしたRealtimeTranscribe.zipを解凍して、「RealtimeTranscribe.exe」をダブルクリックすると起動できる。
ラジオボタンで、「マイク」を選択すると音声をマイクから入力し、「ループバック」を選択するとPCで再生している音声から入力する。
余談
ONNX RuntimeのDirectML版を試したが、CPUより遅かったため、CPUで実行するようにしている。
4コアのノートPCでもほぼ処理落ちなしに実行できることを確認した。
起動時に、ONNX Runtimeでモデルの最適化を行うので30秒くらい待たされる。
3秒ごとに認識しているので、3秒以上の遅延がある。
認識のタイミングが音声の途中になると精度が落ちてしまう問題がある。
実行速度の問題があり、前の音声とつなげて認識し直す処理は実装していない。
実用性はあまりないと思うが、Whisperをスタンドアロンで実行できるデモとして作成した。