言うだけ言ってみる

なんとなく記録。

ステレオの音声ファイルから左チャンネルだけを取り出す方法

2010年09月09日 | Weblog
SoX (Sound eXchange)を使って、ステレオの音声ファイルから、左チャンネルだけを取り出して
モノラルファイルを作る方法。

(旧)sox -t wav -c 2 stereo.wav -t wav -c 1 mono.wav pick -l
 ※pickは、バージョン13.0.0で廃止されました。
(旧)sox -t wav -c 2 stereo.wav -t wav -c 1 mono.wav mixer -l
 ※mixerは、バージョン14.4.0で廃止されました。
(新)sox stereo.wav mono.wav remix 1


バージョン14.4.2で確認しました。
…ころころ変えないで欲しいですね。

iPhoneのボイスメモをwavに変換する

2010年09月03日 | Weblog
iPhoneアプリに「ボイスメモ」というものがある。

音声データがメールで送れるのだが、送ってみると、
m4aというファイルがメールに添付されてくる。

iTunesがインストールされていると、再生やら変換やらができるそうなので、
それが近道だと思うけど、それを使わず、コマンドラインでwavに変換する方法。

m4a→wavの変換はffmegで簡単にできる。

ffmpeg -i input.m4a output.wav


…ん、ステレオファイルなのか。

Lチャンネルだけに音声が入っていて、Rチャンネルには規則的なパルス?が。


でも、「ボイスメモのm4aファイルはモノラル」と説明しているサイトが多いのだが…?謎


ffmpeg -i input.m4a

と打って、ファイルの情報を見てみると、

Stream #0.0(und): Audio: alac, 44100 Hz, stereo, s16

ステレオと判別されているな…。

真空波動研というコーデック判別ソフトで見てみても、やはり「ステレオ」になっている。
http://www.forest.impress.co.jp/lib/pic/video/vdoenc/shinkuuslite.html


ステレオで変換されたoutput.wavから、Lチャンネルだけを取り出してモノラルファイルを作りたい。

…というわけで、今度はSoX (Sound eXchange)を使う。


sox -t wav -c 2 output.wav -t wav -c 1 output_mono.wav pick -l

これでいいはず・・・が、エラー。
むむっ。

SoXは便利だが、バージョンごとにコマンドやオプションが変更になってしまうのが難点。
今度は、pickがなくなってしまったのかな。便利なのに…。


調べてみたら、バージョン13.0.0で廃止されていた。
新しいeffect名は、mixerとのこと。

sox -t wav -c 2 output.wav -t wav -c 1 output_mono.wav mixer -l

これで、元のLチャンネルからモノラルファイルができた。
※mixerは、バージョン14.4.0で廃止されました。
 ☞ステレオの音声ファイルから左チャンネルだけを取り出す方法 参照

単純に、ステレオをモノラルにするだけだったら、

sox -t wav -c 2 stereo.wav -t wav -c 1 monoral.wav

でよい。
これは、LとRの両方が混ざったモノラルとなる。