ffmpeg 3.4 から追加のフィルタ。サラウンドを HRIRs(head-related impulse response, 頭部インパルス応答) ファイル web.archive.orgを元に頭部伝達関数(HRTF)を適用しユーザの周りに仮想スピーカを作ってステレオとして出力するheadphoneフィルタの使い方。

HRIRsファイルの配布ページが重たい場合はミラーを上げている。(要MSログイン)

HRIRsファイルには DFC, MINP, RAWがあり、基本コマンドにはSubject_001_Wav.zipを使っている。

Geminiで他のダウンロード先を調べた。

主要なHRTFデータベースのURL

  1. CIPIC HRTF Database (University of California, Davis)
    • 直接のダウンロードページは公開されていませんが、多くの学術研究で使用されており、関連情報や論文からアクセスできる場合があります。
    • 関連情報: The CIPIC HRTF Database (論文のPDF)
    • 「CIPIC HRTF Database download」などで検索すると、SOFA形式に変換されたデータへのリンクが見つかることもあります。
  2. LISTEN HRTF Database (IRCAM)
  3. The RIEC HRTF Dataset (東北大学 電気通信研究所)
  4. ARI HRTF Database (Austrian Academy of Sciences)
  5. SONICOM HRTF Dataset
  6. HUTUBS HRTF Database (Technical University of Berlin)
  7. Aachen HRTF Database (RWTH Aachen University)

基本コマンド

5.1ch の音声に映像をコピーして 2ch で出力
ffmpeg -i input -i azi_30_ele_0_DFC.wav -i azi_330_ele_0_DFC.wav -i azi_0_ele_0_DFC.wav -i azi_100_ele_0_DFC.wav -i azi_260_ele_0_DFC.wav -filter_complex "[0:a][1][2][3][3][4][5]headphone=FL|FR|FC|LFE|BL|BR" -vcodec copy output.mp4
2ch の音声を 5.1ch にsurroundフィルタで変換し映像をコピーして 2ch で出力
ffmpeg -i input -i azi_260_ele_0_DFC.wav -i azi_100_ele_0_DFC.wav -i azi_0_ele_0_DFC.wav -i azi_30_ele_0_DFC.wav -i azi_330_ele_0_DFC.wav -filter_complex "[a:0]surround[0a];[0a][1][2][3][3][4][5]headphone=FL|FR|FC|LFE|BL|BR" -vcodec copy output.mp4
公式ドキュメント:FFmpeg Filters Documentation : headphone

オプション

ゲインの設定をしても音量が変わらず、チャンネルマッピングmap以外の設定の方法がよく分からない。個別チャンネルの音量設定はpanフィルタでもできる。

  • map[string]
    入力音声を配置し畳み込み処理をする。チャンネル毎に“|”で区切り、出力音声より多い数を入力する。基本は元となる音声にサラウンドのチャンネル数だけ HRIRs ファイルを入力する
  • gain[float]
    ゲイン(dB)の設定
    既定値:0
  • lfe[int]
    LFE ゲイン(dB)の設定
    既定値:0
  • type[float]
    処理形式の設定
    0, time (time domain processing ) 遅い
    1, freq (frequency domain processing) 速い
    既定値:1

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)