Pydubで音声ファイルを無音部分で分割してみる
- 2020.11.26
- プログラミング

以下をを参考に音声分割を実施しました.
西住工房
しかし、環境の違いなのか所々エラーを吐いてしまったので、その解決策を含めて備忘録としてまとめておこうと思います.
ちなみにOSはMacOS(Catalina)です.
エラー対処
参考サイトのサンプルプログラムを実行した際に以下のエラーが発生.
1 |
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work |
内容をみる限り、多分「ffmpeg」が足りないのだろうと思ったので以下でインストールしました.
1 |
$ brew install ffmpeg |
するとXcodeのことでエラー吐いた.
Error: Xcode alone is not sufficient on Catalina.
Install the Command Line Tools:
xcode-select –install
そういえばMacをCatalinaに上げて以降、Xcodeを触っていなかったため確認したところ別バージョンにインストールが必要だったため改めてXcodeをインストールしました.

また、上記エラーを見ると「Install the Command Line Tools: xcode-select –install」って書いてあります.
こちらも入れましょう.
1 |
$ xcode-select --install |
終わったら再度ffmpegをインストール
1 |
$ brew install ffmpeg |
するとお次はこのエラー
1 |
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks |
「/usr/local/Frameworks」がないと言われてますね…
ディレクトリーを作って権限も与えました.
1 2 |
$ sudo mkdir /usr/local/Frameworks $ sudo chown $(whoami):admin /usr/local/Frameworks |
終わったら再度ffmpegをインストール
1 |
$ brew install ffmpeg |
「success」という文字が見当たりませんでしたがエラーが出なければ多分大丈夫です.プログラムに戻り再度実行してみました.
すると今度は以下のようなエラーです…
1 |
CouldntDecodeError: Decoding failed. ffmpeg returned error code: 1 |
anacodaを利用している際は以下のように別途ライブラリもインストールする必要があったみたいです…
1 |
$ conda install -c conda-forge ffmpeg |
再度プログラムを実行してみるとようやくうまくいきました.
ファイルが無音部分でちゃんと分割されています.

終わりに
pydubで無音分割を行いました.
このライブラリでは基本的な音声読み込み(mp3,wav)の他にもサンプリングレートなどの情報取得やNumpyへの変換、また、ファイル出力時にフォーマットとビットレートの指定などもできるようです.
-
前の記事
Raspberry Pi4でMinecraftのセットアップ 2020.11.17
-
次の記事
Raspberry pi ImagerでRaspberry Pi OSイメージを入れる 2020.11.27