web-dev-qa-db-ja.com

ステレオトラックを分割し、右チャンネルを破棄し、ノイズを除去する必要があります

私はAudacityを使用していくつかの短いオーディオクリップを処理しています-それらの約300(!!!)なので、それぞれに対して手動で手順を繰り返すのは本当に嫌です。

しかし、「ステレオトラックを分割して右チャンネルを破棄する」ステップを含むチェーンを作成する方法が見つからないようです。私は私の知恵の終わりにいます。これを行う方法はありますか?そうでない場合、これを自動化された方法で実行できる別のプログラムはありますか?

5
Arkaaito

この種のことには sox を使用することをお勧めします。右チャンネルをドロップ:

sox in.wav out.wav remix 1

ノイズを減らすには、ファイルのサイレント部分からノイズプロファイルを取得する必要があります。つまり、次のようなものです。

sox noisy.wav -n trim 0 1 noiseprof | play noisy.wav noisered

Noiseprofとnoiseredの詳細については、以下を参照してください。

したがって、録音の最初の1秒間にバックグラウンドノイズのみが含まれていると仮定すると、各ファイルのシーケンスは次のようになります。

sox in.wav -n remix 1 trim 0 1 noiseprof NOISE_PROFILE
sox in.wav out.wav remix 1 noisered NOISE_PROFILE

sox manから:

   noiseprof [profile-file]
          Calculate  a  profile of the audio for use in noise reduction.  See
          the description of the noisered effect for details.

   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 profile to profile-file, or to stdout if no  pro-
          file-file or if `-' is given.  E.g.
             sox speech.wav -n trim 0 1.5 noiseprof speech.noise-profile
          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.3
          How much noise should be removed is specified  by  amount-a  number
          between  0 and 1 with a default of 0.5.  Higher numbers will remove
          more noise but present a greater likelihood of removing wanted com-
          ponents  of the audio signal.  Before replacing an original record-
          ing with a noise-reduced version, 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 atten-
          tion 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 noisered
6
Thor

私はうまくいくアイデアを持っていますが、すべてを書き出す前に、試してみてください:

  1. FFMPEGビルドを入手してください: http://ffmpeg.zeranoe.com/builds/
  2. エキス
  3. 次のパラメーターを使用してFFMPEGを実行します。ffmpeg -i somefile.mp3 -ac 1 somefile.wav

これにより、somefile.mp3が読み込まれ、オーディオチャネルが1つに制限され、正しいオーディオチャネル(正しいチャネル)が削除されてから、WAVファイルとして吐き出されます。

これが機能しない場合は、ffmpegotherチャネルを削除させる方法を理解する必要があります。

4
sinni800