🎶
ffmpegでmp3のノイズを除去する方法
音声ファイルのノイズを除去しようと思って調べました。コマンドラインでできる方法がよかったのでffmpeg
のコマンドを探したところ、
こちらでffmpeg
をつかって動画から音声ファイルを切り離しノイズ除去までやっていました。当方macOSなのでffmpeg
はhomebrew
でインストールしました。音声除去コマンドは↓
ffmpeg -i <audiopath> -af arnndn=m=<path to model> <output file>
(リンク先のコマンドに<output file>
を追加しました)
<path to model>
に入るのはなんでしょうか。-af
オプションはffmpeg
のfiltergraphをつくるようです(公式)。いろいろなフィルターがあると思いますが、ニューラルネットワークでトレーニングされたものがありました。
このリポジトリをローカルにクローンします。このリポジトリには5種類のフィルターがあります。
General | Voice | Speech | |
---|---|---|---|
General | marathon-prescription | leavened-quisling | orig |
Recording | conjoined-burgers | beguiling-drafter | somnolent-hogwash |
注意事項として、Speechは「話し声」、Voiceが「笑い声などをふくむ人間の発する音」とされています。それぞれの名前に意味はないそうです。
具体例
変換するファイルが~/audio.mp3
で、フィルターのリポジトリを~/rnnoise-models/
にクローンしたとすると、
ffmpeg -i ~/audio.mp3 -af arnndn=m=~/rnnoise-models/conjoined-burgers-2018-08-28/cb.rnnn
この例ではconjoined-burgers
のフィルタを使っています。5つのフィルターを試しましたが、今回はconjoined-burgers
がいちばん聞きやすかったです。
Discussion