回答:
ffmpegでサポートされているファイルでステレオからモノに「ミックスダウン」する方法は次のとおりです。
ffmpeg -i file.ext -ac 1 file_mono.ext
「-ac 1」ビットは、ffmpegに1つのオーディオチャネル、つまりモノラルのみを出力するように指示します。デフォルトでは、この操作はファイル形式を保持しますが、ビットレートをffmpegのデフォルトの64kbsに戻します。より高いビットレートが必要な場合は、次を実行できます。
ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext
... 192kを好みのビットレートに置き換えます。
これが適切に機能するためには、ffmpegのインストールが特定のGSMコーデックをサポートする必要があることに注意してください。libgsmを介してffmpegでGSMエンコードオーディオがサポートされていることは知っていますが、GSMファイルを自分で処理したことはありません。ただし、他の種類のファイル(MP3)を問題なくモノに変換できました。
ffmpeg -i stereo.flac -ac 1 mono.flac
上記の答えは、フォーマット間で変換したい場合に機能しますが、長いファイルには時間がかかります。または、品質を落とすためにもう一度変換したくないので、単にコピーをストリーミングしたいかもしれません。-codec:aと-ac 1を同時に使用しても機能しませんが、ffmpegパンフィルターのドキュメントによると、特定の条件が満たされている場合(チャンネルのレベルを調整していない、または2つのチャンネルを1つに混合していないなど) 、このケースを認識して「Pure channel mapping detected」とレポートし、ストリームコピーを実行します。
例:左チャンネルを使用してビデオストリームをコピーするだけでステレオファイルをモノラルにするには、次のようにします。
ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
soxでそれが可能であることを知っています。過去に私にとってうまくいったことをお知らせください。