コマンドラインから音声録音をクリーニングしますか?


28

以前、録音からノイズを除去するためにAudacityを使用しましたが、コマンドラインの使用は非常に限られています。数百件の短い講義ビデオがあり、今後数か月間視聴する予定です。一度に、または必要に応じて視聴前にそれらをすべて簡単にクリーニングする方法を希望しています。

これを行うために使用できるコマンドラインツールまたは一般的な言語ライブラリはありますか?

回答:


17

を見てみましょう sox

引用man sox

SoX - Sound eXchange, the Swiss Army knife of audio manipulation

[...]

SoX is a command-line audio processing  tool,  particularly  suited  to
making  quick,  simple  edits  and to batch processing.  If you need an
interactive, graphical audio editor, use audacity(1).

したがって、それはaudaciyに代わるコンパニオンコマンドラインとしてはぴ​​ったりです。


録音のクリーニングの実際のタスクについてnoiseredは、ノイズリダクションフィルターAudacityに等しいフィルターを見てください。

man sox | less -p 'noisered \['

           [...]
   noisered [profile-file [amount]]
           Reduce noise in the audio signal by profiling and filtering.
           This effect is moderately effective at  removing  consistent
           background  noise such as hiss or hum.  To use it, first run
           SoX with the noiseprof effect on a  section  of  audio  that
           ideally  would  contain silence but in fact contains noise -
           such sections are typically found at the  beginning  or  the
           end  of  a recording.  noiseprof will write out a noise pro‐
           file to profile-file, or to stdout if no profile-file or  if
           `-' is given.  E.g.
              sox speech.wav -n trim 0 1.5 noiseprof speech.noise-profil
           To  actually remove the noise, run SoX again, this time with
           the noisered effect; noisered will reduce noise according to
           a  noise  profile  (which  was generated by noiseprof), from
           profile-file, or from stdin if no profile-file or if `-'  is
           given.  E.g.
              sox speech.wav cleaned.wav noisered speech.noise-profile 0
           How  much  noise  should be removed is specified by amount-a
           number between 0 and 1 with a default of 0.5.   Higher  num‐
           bers will remove more noise but present a greater likelihood
           of removing wanted components of the audio  signal.   Before
           replacing  an  original  recording with a noise-reduced ver‐
           sion, experiment with different amount values  to  find  the
           optimal one for your audio; use headphones to check that you
           are happy with the results, paying particular  attention  to
           quieter sections of the audio.

           On  most systems, the two stages - profiling and reduction -
           can be combined using a pipe, e.g.
              sox noisy.wav -n trim 0 1 noiseprof | play noisy.wav noise
           [...]

7
残念ながら、manページでsoxが使用する説明は非常にうるさく、読むのが面倒です。ノイズリダクションをジャグリングするためのコマンドが1つだけで、もっと簡単な方法はありませんか?
シェビー

確かに、問題ありません-変更したいものを1つの簡単な文で書くだけです-しかし、技術的に明確になるのに十分正確です... OK、それはノイズとは何か、そして除去したいノイズ、それを減らすことができる、そしてノイズリダクションを行わなければ音質を下げることができるもの。ノイズリダクションをジャグリングするには、ジャグリングクラブを知っておく必要があります。ジャグリングするノイズの種類と、空中で衝突したときのバランスの取り方です。次に、soxがツールボックスおよび応急処置キットです。
フォルカーシーゲル

12

受け入れられた答えは実用的な例ではありません(最初のコメントを参照してください)。Ubuntuにaptをインストールするsoxと、オーディオ形式がサポートされます

sox

最初のインストールsoxと形式のサポート(mp3を含む):

sudo apt install sox libsox-fmt-*

次に、ファイルでコマンドを実行する前に、まずプロファイルを作成し、ノイズのサンプルを作成する必要があります。これは、ノイズが発生する最適な時間を選択する必要がある最も重要な部分です。このサンプルでは、​​音声(または保持しようとする音楽/信号)があります。

ffmpeg -i source.mp3 -ss 00:00:18 -t 00:00:20 noisesample.wav

次に、そのソースからプロファイルを作成します。

sox noisesample.wav -n noiseprof noise_profile_file

最後に、ファイルに対してノイズリダクションを実行します。

sox source.mp3 output.mp3 noisered noise_profile_file 0.31

どこnoise_profile_fileにプロファイルと0.30値があります。値は0.20から0.30の間で最も良くなり、0.3を超えるとアグレッシブになり、0.20未満はやや柔らかく、ノイズの多いオーディオに適しています。

それを試してみてください。他の設定のコツを見つけたら、その結果とチューニング設定についてコメントしてください。

それらをバッチ処理する方法

ノイズが似ている場合は、すべてのmp3に同じプロファイルを使用できます

ls -r -1 *.mp3 | xargs -L1 -I{} sox {}  {}_noise_reduced.mp3  noisered noise_profile_file 0.31

または、フォルダー構造がある場合:

tree -fai . | grep -P ".mp3$" | xargs -L1 -I{} sox {}  {}_noise_reduced.mp3  noisered noise_profile_file 0.31

1
オーディオが話されており、左右のチャンネルを別々にする必要がない場合、すべての入力チャンネルをモノラルremix -ミックスダウン
Jake Berger

2
@EduardFlorinescuあなたの答えはすぐにわかります。各録音の背景に静的ノイズ録音がありました。私はあなたの答えを読み、音声ファイルから最初の2秒間を使用してプロファイルを作成し、最後にそれを使用して録音からノイズを除去しました。これに感謝します。
アブラーホセイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.