トラックがいっぱい REAPERでの5.1chオーディオの使い方
皆さんごきげんよう。今回の記事はちょっとした豆知識の記事です。
REAPERで音声ファイルを読み込んだとき、極まれにこんな風にトラックが表示されることがあります。
ファッ!?トラックがいっぱいだぁ…
ということで、この記事ではこんな5.1chサラウンド対応のファイルの紹介と扱い方の記事を書いていきます。
目次
5.1chサウンドとは
まず最初に5.1chサウンドとは何か、説明します。
通常の音声ファイルは、モノラルかステレオの形式になります。モノラルは単なる一つの波形の音声。ステレオは人の右耳用のRチャンネルと左耳用のLチャンネルの二つの波形の音声です。
それらに対して5.1chのオーディオは、視聴者から見て正面、左右前、左右後+低音用スピーカーの6つのスピーカーを用いることでより臨場感のある音響効果をもたらすための形式になります。
6つのスピーカー用の音声波形があるので、REAPERで読み込むと6個分のトラックが表示されるわけですね。
ちなみにREAPERは最大64チャンネルの音声まで対応できます。っぱREAPERよ
チャンネルと方向の対応は以下のとおりです。
チャンネル | 名称 | 方向 |
---|---|---|
1ch | FL (Front Left) | 左前 |
2ch | FR (Front Right) | 右前 |
3ch | C (Center) | 中央前 |
4ch | LFE(Low Frequency Effect) | 重低音 |
5ch | SL (Surround L) | 左後 |
6ch | SR (Surround R) | 右後 |
5.1chの .1chはLFEチャンネルを指すそうです。
5.1chサラウンドの音声から特定のチャンネルを抜き出す
5.1chの音声を素材として使うための方法を解説します。
一部のアニメでは、セリフのトラックとBGMのトラックが分かれている場合があるので、BGM除去に有用だったりします。
サンプルとして3chでだけ音がなっている5.1ch音声ファイルを用意しました。
※環境によってどのように再生されるか不明です。再生しても音がならない可能性があります。
3chだけを抜き出すためには、音声のアイテムプロパティを開き、通常 -> モノラル(3~64) -> モノラル3を選択すると3chのみを抜き出すことができます。
素材として使うだけなら正直この項目だけ読めばOKね
メディアアイテムの音声のチャンネルを変える
簡単のためにモノラル音声のアイテムを3chに変更する例を示します。
メディアアイテムのプロパティ画面から、通常 -> Open Channel mapper を選択します。
するとチャンネルマッピングの設定ウィンドウが開きます。碁盤の目の黒くなっているところが有効で、入力チャンネル(上)と対応させる出力チャンネル(右)の対応を設定します。
今回はモノラル音声(1ch,2ch 注意:REAPER上ではモノラルの音声アイテムは1chと2chで再生されます)を3chに対応させたいので、画像のように有効にする場所を変更します。クリックで有効無効を切り替えられます。二重に送らないように1chのみを3chに送りました
これでメディアアイテムのチャンネルの変更が完了しましたが、このままではファイルを書き出しても音声は入りません。
なぜなら、REAPERはデフォルトではトラックのチャンネル数は2になっているからです。手動で変更しないとマスタートラックには送られません。
ミキサー画面のRouteボタンを押して、ルーティングウィンドウを開き、トラックのチャンネル数を6に設定します。(※今回の例では3chに音声を置くだけなのでチャンネル数を4にしてもOKです。通常5.1chを扱う場合は6。)
エドワード・エルリックのように察しのいい皆さんは気付いているでしょうが、同様にマスタートラックのチャンネル数を変更する必要があります。
方法は同じなので割愛。
REAPERで5.1chオーディオを書き出す方法
REPAERでは、5.1chオーディオを読み込むだけでなく書き出す事もできます。
まずは先述の方法でマスタートラックのチャンネル数を6に変更します。
そしてファイルレンダリング画面を開き、オプションからチャンネル数を6に変更し書き出します。
すると、3chに音声が入ったファイルが書き出され、REAPERで再度読み込んでもその通り表示されます。
Aviutlでの5.1chオーディオの扱いは?
結論:非対応
Avitulに先程の例で書き出した5.1ch音声を読み込むと、一見読み込まれたように見え波形も表示されますが、プレビューしても音声は出ず、MP4で書き出しても音声は正常に再生されません。
動画を一旦書き出した上でffmpegなどで音声を差し替える必要がありそうです。
音声差し替えの方法は以下の記事を参照
5.1ch音声からステレオ音声への変換
5.1ch音声をREAPERで読み込んで書き出したり再生した場合、デフォルト設定では1,2chのみが出力され、3~6chは無視されてしまいます。
そこで5.1ch音声をステレオ音声に変換(ダウンミックス)する必要がある場合があります。
右側で再生されるべきチャンネルをRチャンネルに、左側で再生されるべきチャンネルをLチャンネルに送るわけです。
ただしCチャンネル(中央前)がある以上単純にルートの設定をするだけでは上手くいきません。
5.1chをStereoに変換する際の各チャンネルのLRへのルート割合を表で示すとこんな感じになります。
Channel | L | R |
---|---|---|
1ch(FL) | 1 | 0 |
2ch(FR) | 0 | 1 |
3ch(C) | 1/√2 | 1/√2 |
4ch(LFE) | 0 | 0 |
5ch(SL) | 1/√2 | 0 |
6ch(SR) | 0 | 1/√2 |
オーディオ系の規格?に準拠した設定らしいです。
参考
LFEチャンネルの音声はダウンミックスでは使用しないようです。
この割合で各チャンネルをLRに送るためには標準機能では困難なので、JSスクリプトを利用します。
スクリプトの引用元は次のページです。7.1ch向けを5.1ch向けに(あと一部のミスを)わずかに改変しています。
ダウンミックスしたいトラックのFX追加画面のメニューから、新規JSエフェクトを作成し、
適当なファイル名を入力したら、
こんな感じのウィンドウになるので、右上の「編集」ボタンを押します。
そして以下のコードをコピペしてCtrl+Sでリコンパイルします。
desc:5.1 to 2ch downmixer //tags: mixer gain //author: Niusounds, ytpmv.info // Reprinted from https://qiita.com/niusounds/items/76201eb189c32fc5c6c1 in_pin:input 1 in_pin:input 2 in_pin:input 3 in_pin:input 4 in_pin:input 5 in_pin:input 6 out_pin:left output out_pin:right output @slider _1_sqrt2 = 1 / sqrt(2); @sample spl0 = spl0 + spl2 * _1_sqrt2 + spl4 * _1_sqrt2; spl1 = spl1 + spl2 * _1_sqrt2 + spl5 * _1_sqrt2; spl2 = spl3 = spl4 = spl5 = 0
すると5.1ch音声がステレオに変換されます。
トラックにエフェクトとして掛ける場合はトラックのチャンネル数を6に変更しておく必要があります。
なお、計算式を見てもらえばわかると思いますが、各チャンネルの音声を足しているので音量は大きくなります。適宜音量調節してください。
(余談:TV放送での5.1ch→ステレオ変換では音量調節のため上のコードに加えて更に値を補正しているようです。
spl0 = spl0 * _1_sqrt2; spl1 = spl1 * _1_sqrt2;
しかし、この補正によって音量が小さくなりすぎる現象が起きてるようなので、この記事ではこの補正は行わず、手動にて調節することとしました。
参考:JPPA 技術委員会, テレビの音量レベル差と放送規格 第 1 回 サラウンドの音はなぜ低いのか, JPPA 会報 2009 年 2 月号, URL
余談終わり)
そんなわけで5.1chサラウンドオーディオに関する記事でした。ここまで内容充実させる必要があったかは甚だ疑問ですが、まぁ良いでしょう。ノシ
ツイート
コメントする?