プログラムで音声ファイルの自動結合

例えば、子供向けに、一問一問別ファイルになったなぞなぞ音声ファイルのうちから 3問だけランダムに抜き出して、ひとつの音声ファイルにしてダウンロードさせるとか、まあ、そういう感じのデモ要件があるので、プログラムを作ってみた。

まあ、ffmpeg 使えば一発なんだけどね。

プログラム的には、結合する 3つのファイルをランダムにもとめて、そのファイル名を i オプションと一緒に連結していくだけ。(ひとつのファイルごとに i オプションは必要なので注意)

下のように編集したオプションで ffmpeg を実行するだけだ。
(出力ファイル名を毎回同じにするなら、上書き許可の y オプションもお忘れなく。プログラム内から呼ぶのであれば、ffmpeg は大量のログを標準出力に出すので、loglevel オプションでの抑制もお忘れなく)

/usr/bin/ffmpeg -y  -i /data/11.mp3 -i /deta/7.mp3 -i /data/5.mp3  -loglevel quiet -filter_complex "concat=n=3:v=0:a=1" /data/nazonazo.mp3

赤いところがプログラムの編集が必要なところ。
n=3 は入力ファイルの数で、最後の /data/nazonazo.mp3 が出力ファイル名だ。

連結対象のファイルの個数が変わらないのなら n=3 のところは変更不要だし、毎回同じファイルに書くのなら /data/nazonazo.mp3 も編集不要。

結合したファイルを聞いてみたが、つなぎ目に変なノイズが入ることもなく、なかなかいい感じであった。

トラックバック(0)

このブログ記事を参照しているブログ一覧: プログラムで音声ファイルの自動結合

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/5729

コメントする

このブログ記事について

このページは、shinodaが2020年10月17日 12:55に書いたブログ記事です。

ひとつ前のブログ記事は「オンラインサービスで m4a → mp3 変換を行う」です。

次のブログ記事は「愛俺弁当「ガーリックチャーハン弁当」」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら