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
- CIPIC HRTF Database (University of California, Davis)
- 直接のダウンロードページは公開されていませんが、多くの学術研究で使用されており、関連情報や論文からアクセスできる場合があります。
- 関連情報: The CIPIC HRTF Database (論文のPDF)
- 「CIPIC HRTF Database download」などで検索すると、SOFA形式に変換されたデータへのリンクが見つかることもあります。
- LISTEN HRTF Database (IRCAM)
- ダウンロードページ: DOWNLOAD PAGE – IRCAM Listen
- The RIEC HRTF Dataset (東北大学 電気通信研究所)
- ダウンロードページ: The RIEC HRTF Dataset
- 日本語ページ: 頭部伝達関数(HRTF)のデータベース
- ARI HRTF Database (Austrian Academy of Sciences)
- SONICOM HRTF Dataset
- ダウンロードページ: SONICOM HRTF Dataset
- ダウンロードリンクはページ内の「HRTF and 3D Scan data can be explored and downloaded at the following link: https://transfer.ic.ac.uk:9090/#/2022_SONICOM-HRTF…/」に記載されています。
- HUTUBS HRTF Database (Technical University of Berlin)
- 関連情報 (ダウンロードリンクあり): A Cross-Evaluated Database of Measured and Simulated HRTFs Including 3D Head Meshes, Anthropometric Features, and Headphone Impulse Responses (PDF論文、ダウンロードリンクは論文内に記載)
- 通常、SOFA Conventionsのウェブサイトからアクセス可能です。
- Aachen HRTF Database (RWTH Aachen University)
- ダウンロードページ: The ITA HRTF-database: A high-resolution head-related – 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