0
@niusounds

REAPERで7.1chサラウンドを2chステレオにダウンミックスする

7.1chサラウンドの音源を2chステレオにダウンミックスしたくて、DTS Neural™ Surround DownMixのサイトを見たりいろいろ調べていたところ、audiokineticのサイトに以下のようなダウンミックス表を見つけました。

Input Channels L R
FL(1ch) 1 0
FR(2ch) 0 1
C(3ch) 1/√2 1/√2
SL(5ch) 1/√2 0
SR(6ch) 0 1/√2
BL(7ch) 1/√2 0
BR(8ch) 0 1/√2

LFEチャンネル(4ch)は無視するみたいです。
なるほど、これに従って入力音声から出力音声を生成すれば良さそうだ。

REAPERにはJSという音声処理を自分で記述できる仕組みがあるので、これを使います。
REAPERにトラックを作成し、FXをインサートし、メニューバーからFX→Create new JS FX...をクリックする。
スクリーンショット 2020-11-25 2.19.52.png

エフェクト名を入力したらテキストエディタが開くので、以下のコードをコピペします。

desc:7.1 to 2ch downmixer
//tags: mixer gain
//author: Niusounds

in_pin:L
in_pin:R
in_pin:C
in_pin:LFE
in_pin:LS
in_pin:RS
in_pin:LCS
in_pin:RCS
out_pin:L
out_pin:R

@slider
_1_sqrt2 = 1 / sqrt(2);

@sample
spl0 = spl0 + spl3 * _1_sqrt2 + spl5 * _1_sqrt2 + spl7 * _1_sqrt2;
spl1 = spl1 + spl3 * _1_sqrt2 + spl6 * _1_sqrt2 + spl8 * _1_sqrt2;

Cmd+Sで保存すればできあがりです。

5.1chの場合は上記のうち7,8chを使わなければ良いだけなので、5.1chの音源にもそのまま適用可能だと思います。

audiokineticのサイトの別ページにも記載がありますが、

The Wwise downmix performs no normalization, given the arbitrary nature of normalization coefficients. It is, therefore, common that downmixing from configurations with large numbers of channels to configurations with few channels results in loudness gains.

適当訳: ダウンミックスをすると音量が増えます。

なので、上の処理を通すと元の音源よりもピークレベルが上がります。ピークを超えないように適宜ゲインを調整する必要がありそうです。

0
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
niusounds
REALITYで活動中のスマホアプリエンジニアです。シンフォニックメタルとフォークメタルが好き。 VSCodeおじさん。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
フロントエンド強化月間 - 開発する上で知っておくべき知見を共有しよう
~
Azure AIを活用した機械学習に関する記事を投稿しよう!
~