TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

Whisperでリアルタイムに文字起こしするアプリ

前回の記事で、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をスタンドアロンで実行できるデモとして作成した。