web-dev-qa-db-ja.com

ギャップを残しながら音声ファイルから無音を削除する

現在、シェルスクリプト内でこのコマンドを使用して、オーディオファイルから無音を削除しています。

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y

これは正常に機能しますが、すべての無音が削除され、残りのオーディオが一緒に圧縮されます。

これを行うには、各オーディオの間に2〜3秒の間隔をあけます。

多くのオーディオを処理するため、ソリューションは非常に効率的である必要があり、ffmpegやsoxなど、LinuxとOSXの両方にかなり簡単にインストールできるツールを使用する必要があります。

17
Nathan Arthur

私が見た最良の方法は、-lフラグは次のように無音にします。

sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%

The Sox of Silence という非常に便利なブログ投稿の例6からこのコマンドをコピーしました

25
Ben T