web-dev-qa-db-ja.com

無音がある場所でオーディオファイルをバッチ分割するにはどうすればよいですか?

SoXで次のコマンドを使用して、0.3秒より長い無音がある場所ごとに多数の大きなオーディオファイルを分割しています。

sox -V3 input.wav output.wav silence 1 0.50 0.1% 1 0.3 0.1% : newfile : restart

ただし、これにより、完全に無音のファイルが作成され、各ブレークの前にオーディオがトリミングされることがあります。

Audacityでより良い結果が見つかりましたが、何百ものWAVファイルを分割する必要があり、Audacityはフリーズせずに10個のファイルを同時に開くことさえできません。

SoXまたは同様のソフトウェアを使用して、0.3秒の無音期間の終わりにファイルを分割し、無音部分がスピーキングの最後に固定されるようにするにはどうすればよいですか。ただし、前ではなく、完全に無音のクリップはありません。 、input.wavの先頭から来ていない限り?

20
Village

0.5から3.0に変更すると、正常に機能します。

sox -V3 input.wav output.wav silence 1 3.0 0.1% 1 0.3 0.1% : newfile : restart
10
user272651

プログラミング言語を指定しなかったので、自分でプログラミングする方法を特に探しているわけではないと思います(これにより、ここでは少し話題から外れます)。ちなみにそれはそれほど難しいことではないでしょう。

とにかく、多分これはあなたのためのトリックをします:

http://www.nch.com.au/splitter/

分割するしきい値をdB単位で設定できます。 0dBに設定すると、スライスごとに必要なすべてのオーディオが得られると思います。

sox -V3 orig.wav p.wav silence -l  0   1 0.5 0.1% : newfile : restart

これは私のために働きます。コマンド here および here に関するいくつかの有用な説明を見つけました。

2
and-bri

うーん、ウェーブパッドの多くのオーディオファイルに無音がある場合は、バッチプロセスを設定するオプションはありません。これは、このようなすばらしいエディターがまだ不足している数少ないものの1つです。

0
Mario Meneses