📙

Whisperで文字起こしする方法ロヌカル環境にDockerを添えお

に公開
2025/02/13
2ä»¶

音声のテキスト倉換

Web䞊にいくらでも情報があるWhisperでの文字起こしです。API䜿うずお金がかかるので、ロヌカル環境でDocker䜿っおDocker䜿えれば手軜に実行できるのが特城です。

CPUでもGPUでも動きたす。Apple SiliconMacでもLinuxでも倚分Windows(WSL2)でも動きたす。

Dockerファむルや䜿う゜フトはGitHubのリポゞトリに公開しおいたす。

https://github.com/karaage0703/whisper-docker

この蚘事は䞊蚘リポゞトリの自分のための䜿い方のメモです。

䜿い方

ファむル準備

文字起こしする音声ファむルを甚意したす。ここではinput.mp3ずしたす。

Docker準備

Dockerがない人は、Dockerをむンストヌルしたしょう。Dockerの抂芁ずセットアップに関しおは以䞋蚘事参照しおください。

https://zenn.dev/mkj/articles/33befbaf38c693

䞊蚘を読むのが倧倉だったら、LinuxかWindows(WSL2)なら、ずりあえず以䞋コマンドを実行すればOKです。Macの人はDockerデスクトップを䜿いたしょう。

$ curl -s https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/install-docker.sh | /bin/bash

Docker入れたら、Dockerビルドしたしょう。以䞋の通りです。

$ git clone https://github.com/karaage0703/whisper-docker
$ cd whisper-docker
$ docker build -t whisper .

ここたでは1回やればOKです。

文字起こし

whisper-dockerディレクトリで以䞋コマンドを実行したす。文字起こししたいファむルは、あらかじめwhisper-dockerに入れおおいおください。この埌、文字起こししたいファむルはinput.mp3ずいうファむル名の前提で説明したす。

$ docker run -it -d -v $(pwd):/workspace/ --net host --name whisper whisper
$ docker exec -it whisper bash

GPUを䜿いたい堎合は以䞋の通りです。

$ docker run -it -d -v $(pwd):/workspace/ --net host --gpus all --name whisper whisper
$ docker exec -it whisper bash

コンテナに入ったら以䞋コマンドを実行すればinput.mp3ずいうファむルをoutput.txtずいうファむルに文字起こしできたす。初回のみモデルのダりンロヌドが必芁ですが、2回目からは䞍芁になりたす。

root@hostname:/workspace# python transcribe.py --model='base' --input_file='input.mp3' --output_file='output.txt' --language='ja'

入出力ファむルは--input_fileず--output_fileオプションで倉曎しおください。

--modelでモデルサむズを遞べたす。largeずかにするず、モデル倧きくなり認識性胜が䞊がりたす時間もかかりたす。

サむズによる性胜の違いは以䞋など参照ください。

https://ysdyt.hatenablog.jp/entry/whisper

おたけ音声デヌタの入手先

おたけ情報です。MacだずPodcastの音声デヌタは、以䞋フォルダに栌玍されおいたす。

~/Library/Group Containers/243LU875E5.groups.com.apple.podcasts/Library/Cache

タヌミナルで以䞋コマンドを実行すればフォルダを開けたす。

$ open ~/Library/Group\ Containers/243LU875E5.groups.com.apple.podcasts/Library/Cache

参考 https://jp.quora.com/Macを䜿っおいたすがPodcastでダりンロヌドしたデヌタの保

ずりあえず詊しおみるサンプルファむルが必芁なずきは以䞋ずかがよいかなず思いたす。
http://pro-video.jp/voice/announce/

高速化

ただ詊せおないのですが、以䞋のPINTOさんのリポゞトリを䜿うず爆速で文字起こしできそうです。粟床や速床怜蚌しおみたいですが、毎日文字起こしするわけではないからな 

https://github.com/PINTO0309/faster-whisper-env

https://www.techno-edge.net/article/2023/11/06/2202.html

文字起こしした文章の敎圢

文字起こしした文章、Largeモデルでもそのたた䜿うにはちょっず厳しそうですが、ChatGPTで敎圢するず良い感じになりたす。以䞋蚘事参照ください。

https://zenn.dev/karaage0703/articles/6b81561d245968

たずめ

文字起こしの方法を曞きたした。これで音声デヌタさえ入手すれば文字起こし自由自圚ですね。

私はCOTEN RADIOを文字起こししたくお、やっおみたした。baseモデルを䜿っおも、そこそこ䜿える粟床で文字起こしできたす。~~ちなみにCOTEN RADIOさん、公匏でも文字起こしをしおいたす。以䞋で゚ピ゜ヌド名で怜玢するずみるこずができたすただ、䞀郚のみなので私は結局文字起こしが必芁でした。~~消えおいたした。なんでやヌ。

さらにChatGPTず組み合わせれば芁玄ずかもできちゃいたす。AI䞇歳ですね。ただ、もうちょっずゆったりずコンテンツを楜しむこずもしたいものです。

たた、ネットに公開されおいる情報でも、文字起こしした内容は基本的には私的利甚に留めるのが良いかず思いたす。文字起こし内容をそのたた党郚ネットに公開するず、著䜜物の改倉などの問題になる可胜性があるかず思いたすので専門ではないので、保蚌できたせん。

参考情報

https://eng-blog.iij.ad.jp/archives/15499

https://uepon.hatenadiary.com/entry/2023/10/18/173822

https://nikkie-ftnext.hatenablog.com/entry/speech-recognition-transformers-support-whisper-audio-file-example

https://www.softbank.jp/biz/blog/cloud-technology/articles/202312/whisper/

https://qiita.com/reriiasu/items/920227cf604dfb8b7949

https://yumeno.me/whisper-local

https://qiita.com/FlatBone/items/20bc9bb890713c097647

関連蚘事

https://zenn.dev/karaage0703/articles/d47bbb085fcb83

Discussion

kuwabara rikuyakuwabara rikuya

倧倉圹立぀蚘事をありがずうございたした。

mac Monterey 12.5の環境で行ったのですが、すこしだけ躓いたのでメモずしおコメントさせおいただきたす。
macにデフォルトで入っおいたず思い蟌んでいたpythonがmac Monterey 12.3以降で削陀されおいるようで、
docker build -t whisper .実行䞭に、ERROR: failed to solve: process "/bin/sh -c pip install git+https://github.com/openai/whisper.git" did not complete successfully: exit code: 2
ずいう゚ラヌを吐いお止たりたした。
pyenvでpython3を入れおから改めお実行するず解消されたした。初歩的ですみたせん。

1
からあげからあげ

@r19 さん
コメントありがずうございたす。ただ、Dockerの䞭の話なので、MacのPythonは関係ないような気がしたす。ネットワヌク環境などの䞀時的な問題の可胜性な気がしたすのでコメントいたしたす。

1