WSL-Ubuntuで音声認識モデルWhisperを使って文字起こししてみた。20250316

ブログ コンピュータ
ブログ

音声ファイルが多量にあり中身を一つ一つ視聴し確認する作業をしていて、飽きてきたので音声ファイルを文字起こしが出来ないか調べてみました。

Whisperといツールがヒットしましたので、WSL-Ubuntuでインストールしてみました。

pipパッケージでインストール出来るとのこと。

pip install openai-whisper

pipでインストールするということは、依存するパッケージがインストールされるということに成ります。

そのままpython環境が荒れますので、venvでWhisper専用の環境を用意します。gitのリポジトリでは無いのでインストール用のディレクトリは必要ないですが、venvや実行用のpythonスクリプトを保存する必要があるので、whisperというディレクトリを作成しそちらで作業をすることにしました。

インストールしたところ多量の依存パッケージがインストールされました。

適当に実行用のpythonスクリプトを用意しまして、wav形式の音声ファイルを読み込ませました。日本語話者の会話の音声でしたが結果が英語で一瞬日本語対応していないかと思いましたが、たまたま選んだ音声が英語と認識されただけで他の音声ファイルは日本語で出力されました。

その後WindowsのPowerShellから実行出来ると便利なのでPowerShellスクリプトを作成しました。WSL内のUbuntuのコマンドやスクリプトをPowerShellから外部コマンドの様に呼び出すことが出来る点は、他の仮想化システムと比べて実用的で良い機能だと思います。(Microsoftっぽくない)

検出した文字を標準出力に出力されるスクリプトですが、WSL-Ubuntuでは文字化けしませんが、PowerShellから呼び出すと文字化けします。(Microsoftっぽい)

文字化けを直すと環境が壊れる可能性があるので、出力先を標準出力からテキストファイルにスクリプトを変更しました。出力されたテキストファイルは文字化けしていませんでした。

音声の文字おこし、OCR、文章読み上げ、などが無料で使える良い時代になりました。とは言え実用的に使える環境を作るには、結構ハードルが高いのが現状です。機械学習などで長時間PCが占有されるため、メインPCとは別にPCを用意したりするとさらに費用がかさみます。また、導入する場合、依存するパッケージをインストールする必要があり、バージョンが新しいければ良いと言った物でもないので、ソフトごとに実行環境を用意する必要があったりと手間がかかります。記事としてインストールログを残していますが、記事の通り作業しても失敗する可能性が結構高く、場合によってはスクリプトを修正する必要があったりします。

普通に考えれば面倒くさいことこの上ないのですが、コンピュータが目的の人の場合、面倒なこと=楽しいの式に成ります。
個人的に、パーツの相性問題が今より厳しかった時代の自作PCをしている頃を思い出しました。

話は変わりますが、ウェブブラウザで動くJavaScriptを勉強しておりましてlocalStorageを知りました。具体的内容はこれから勉強しますが、概要としてユーザーデータをローカルストレージに保存する機能とのこと。セキュリティ的にウェブブラウザはローカルストレージにアクセスできない作りになっています。例外としてCookieがありますが、localStrageはCookieより大きなデータを扱えるとのことです。

ということでlocalStrageを使い当ブログサイトの記事のサイドバーにメモ機能を設置してみました。ページごとにメモが保存されるようにしてみました。怪しさ満載な見た目なので利用者は筆者だけになりそうです。

コメント