【Windows】inaSpeechSegmenterをインストールして使えるようにするまでの備忘録(Python)

プログラミング,python

inaSpeechSegmenterは音声データの中から「人の声」が鳴っている部分を抽出することができるライブラリです。

発話区間検出とも呼ばれています。

音声合成のために自動でコーパスを作るスクリプトを作成する際に、inaSpeechSegmenterを使う必要があったのですが、importができなかったので対処するまでつまづいた部分を備忘録として残しておこうと思います。

おそらくWindowsでinaSpeechSegmenterを使おうと思ったら全員つまづく部分だと思います。

inaSpeechSegmenterのインストールするときの手順

基本的にはpipでOKということなので、何も考えず実行していきます。

$ pip install inaSpeechSegmenter

pipは成功しますが、importしようとするとエラーが吐かれます。

from inaSpeechSegmenter import Segmenter

ffmpeg program not found でエラーになる

エラー内容としては以下の通りです。「ffmpeg」がないと出ます。

$ ffmpeg program not found

inaSpeechSegmenterのgitのreadmeを確認すると「ffmpegが必要」と前提に書かれていました。

https://github.com/ina-foss/inaSpeechSegmenter

macとunixの場合はsudoでインストールできますが、Windowsの場合どうすればいいのかreadmeに書かれてはいません。

ffmpegが必要なのでインストールする

Windowsでffmpegをインストールする場合は、コマンドラインからインストールはできません。

ffmpeg公式サイトからbinファイルをダウンロードして、環境変数にパスを通す必要があります(面倒ですが)

FFmpeg公式ダウンロードページ
https://www.ffmpeg.org/download.html

ダウンロードするに際して、以下のサイトを参考にさせていただきました。

参考:WindowsにFFmpegをインストールする

参考サイトのどのバージョンを選択すればいいのか、という部分の情報が古く、どれを選べばいいのか戸惑いました。

ぱっと見、アセットがたくさんあって迷いますが、linux64は選択肢から外れるの「gpl-shared」もしくは「gpl」の2択になります。

それぞれが別れている理由は、ライセンスと依存ライブラリの呼び出し方の違いのようです。

ffmpegは毎日自動でビルドされているので、基本的に最新のものを使えばよい

今回は「ffmpeg-master-latest-win64-gpl.zip」を使用しました。

ダウンロードしたzipファイルを解凍して、binファイルを環境変数に通します。

注意点として、「ユーザー環境変数」ではなく、「システム環境変数」にbinファイルを通しましょう。

環境変数が編集できない、という問題が発生する人は以下の記事を参考に編集してみてください。

【Windows11】環境変数の編集ができない、灰色でクリックできない問題の対処方法

以上です。

不明点等ありましたらtwitterのDMや問い合わせフォームからご連絡ください。

参考

pythonで自分の声を使って音声合成する

inaSpeechSegmenterによる音声区間検出