2025年3月15日土曜日

ささやき

 前から、mp3の音声をテキストに文字おこししたいと思っていたのですが、

有料サービスだと、お金がかかる上、たくさん変換できないという感じだったので、

諦めていたのですが、VLCで生成AIの字幕機能がつく!みたいなニュースを見て、

早く実装されないかなーと思っていたのですが、

Whisperというものを使えば、私のPCでもテキスト変換できそうだったので、やってみた。

anacondaのpythonで仮想環境を作り、(pythonのバージョンは3.10とかでないとwhisperが対応していないので注意)

conda create -n myenv python=3.10

pipとGITでwhisperをインストール

pip install git+https://github.com/openai/whisper.git

しようとしたのですが、私のPCにGITはインストールしていないので

pip install openai-whisper

でインストールして、

pip install ffmpeg-phython

してみたが、できなかった。

エラーで、何かのファイルが足りませんみたいな表示がでていた。

ググると、それらしい解決作が書いてあった。

つまり、
https://www.ffmpeg.org/

で ffmpegの7zをDLして解凍して、binフォルダのPATHを通す

そしてwindowsを再起動

テキスト変換のpythonスクリプトを実行してみるとできました。

import whisper

# 使用するモデルをロード
#model = whisper.load_model("base")
model = whisper.load_model("small")
#model = whisper.load_model("medium")
#model = whisper.load_model("large")

#size parameters VRAM
#tiny 39M 1GB
#base 74M 1GB
#small 244M 2GB
#medium 769M 5GB
#large 1550M 10GB


# MP3ファイルのパスを指定
audio_path = "./a.MP3"

# 文字起こしを実行
result = model.transcribe(audio_path,verbose=True,language='ja')
#result = model.transcribe(audio_path)

# 結果を表示
print(result["text"])

with open("./a.txt", "w",encoding="utf_8") as f:
    f.write(result["text"])

ていう感じのスクリプトで実行できました。

使用するモデルが大きいほど、良い感じでテキストになるようです。

日本語は同音異義語が多いので、正しくテキストにはなりませんが、

なんとなく、読めるテキストにはなっているんじゃないかな。




0 件のコメント:

コメントを投稿