Skip to content

ミキシングの基礎 ​

ミキシングは、録音された複数のパートのバランスを取り、意図の伝わる 1 つのステレオにまとめる技術です。すべての要素が聞こえ、互いにぶつからず、前後の奥行きと左右の広がりが感じられる状態を目指します。このページは、ミキシングエンジン ガイドを読む前に必要な言葉を定義します。終わり近くに、主なコントロールを呼び出しとして示す短い例があります。

ミキシングの位置

制作の流れは、個々のパートを編集し(タイミング、ピッチ、ノイズ)、それらをミックスし、仕上がったステレオファイルを配信向けにマスタリングする、という順です。ミキシングは、ばらばらのステムをバランスの取れた 1 曲に変える中間工程です。ここでバランスが取れていれば、マスタリングは救済ではなく仕上げになります。

トラックとチャンネルストリップ ​

トラックは録音された 1 パートです。リードボーカル、ベースの DI(楽器から直接受けたライン信号)、ステレオのドラムオーバーヘッドなどが、それぞれ 1 トラックになります。ミキサーでは各トラックがチャンネルストリップ、つまりそのパートだけを処理する縦 1 列のコントロール群を通ります。ミキシングの作業は、各ストリップをパート同士がうまく重なるように設定し、共通の出力へルーティングすることに尽きます。

ENGINE · LANE MIXERIDLE
エンジンのレーンミキサー — 再生エンジン内のフェーダーとミュート

3 つの MIDI クリップがリアルタイムエンジンでループします。各トラックはレーンを 1 つ占有し、専用のチャンネルストリップを持ち、レーンの合計はエンジンの True Peak リミッターを載せたマスターストリップへ送られます。フェーダーはストリップのセッターを、ミュートは setSoloMute を呼びます。下の各バンドは各レーンをソロにしてマスターチェーンを通した個別の試聴結果で、操作のたびに renderOffline で描き直されます。

リードのフェーダー
0 dB
ベースのフェーダー
3 dB
ドラムのフェーダー
-8 dB
リードをミュート
ベースをミュート
ドラムをミュート

レベル: トリム、フェーダー、ゲインステージング ​

ストリップには 2 つのレベルコントロールがあり、役割が異なります。

  • 入力トリムは、どの処理よりも前の入口で、妥当な作業レベルを決めます。録音の音量はばらばらなので、トリムでそろえておくと、後段のプロセッサが適正なレベルの信号を受け取れます。
  • フェーダーは、他のトラックと聴き比べながら動かすバランスコントロールです。ボーカルを前に、伴奏を後ろに、といった調整をここで行います。

各段でレベルを適切に保つこと、つまり小さすぎず(ノイズが目立つ)、大きすぎず(クリップする)に保つことをゲインステージングと呼びます。ミキシングで最も重要な習慣です。詳しくはゲインステージングを参照してください。

パン: 左右への配置 ​

パンは、トラックを左端から右端までのステレオフィールド内に配置します。パートを左右に広げると、中央に積み重ねずにそれぞれの居場所ができます。細かい点が 2 つあります。

  • パンモードは位置をチャンネルへどうマッピングするかを決めます。モノラルソースを動かす本来のパン、ステレオトラックの片側を下げるだけのバランス、左右独立の配置のいずれかです。
  • パンローは中央をサイドに対してどれだけの音量にするかを決め、パンしてもパートの音量が跳ねないようにします。

インサートとセンド ​

初学者が最もよく取り違える区別ですが、名前を知れば単純です。

インサートセンド
信号経路直列。トラック全体がそこを通る。並列。トラックのコピーを共有の行き先へ送る。
主な用途ボーカルのコンプやベースの EQ のように、そのトラック固有の処理。ボーカル、スネア、ギターを 1 つのリバーブへ送って同じ空間に置くように、複数トラックで共有するエフェクト。
レベルの調整トラックのフェーダーが、処理後の信号をどれだけ先へ流すかを決める。センドレベル(sendDb)が、行き先へ送る量を決める。

プリフェーダーとポストフェーダー

センドは、フェーダーの前からでも後からでも信号を取り出せます。プリフェーダーはバランスから独立するので、ヘッドホンやキューミックス向きです。ポストフェーダーはバランスに追従するので、フェーダーを動かしてもエフェクトの比率が保たれます。どちらを選ぶかは定番のつまずき所で、各タップの正確な位置はミキシングエンジンページで信号順に説明しています。

MIXER · SENDSIDLE
プリフェーダー送りとポストフェーダー送り — フェーダーを動かす

1 つのチャンネルが 2 つの送りとメイン出力に分かれます。チャンネルフェーダーを下げると、ポストフェーダー送りとメイン出力はそれに従います。フェーダーの後ろで分岐しているからです。プリフェーダー送りはフェーダーの前で分岐しているので、そのまま残ります。再生すると、ドライ音(ポストフェーダー)は消えていくのに、プリフェーダー送り(リバーブ/AUXのリターンの代役)はフェーダーを下げきっても鳴り続けます。プリフェーダーに送ったボーカルのリバーブが、ボーカルを下げても消えないのはこのためです。よくある送りの落とし穴です。

チャンネルフェーダー
0 dB

バスとサブグループ ​

バスは、複数の信号を合算する共有の行き先です。最も重要なバスはマスターで、すべての信号が最後に到達するステレオ出力です。ほかによく使うロールが 2 つあります。

  • AUX バスはセンドのリターンです(共有リバーブはここに置きます)。
  • サブグループ(サブミックス)は、ドラム一式のような関連トラックをまとめ、1 つとして処理・調整できるようにします。ドラムのサブグループに挿したコンプはキットの音をまとめ、1 本のフェーダーでキット全体のレベルを動かせます。

VCA グループ(VCA は voltage-controlled amplifier の略)は似た考え方ですが、音声の経路は変えずに、複数トラックのレベルだけを 1 本のフェーダーでまとめて動かします。パートを別々のバスへ流したままレベルを揃えたいときに使います。

オートメーション ​

固定したままのミックスが最良になることは稀です。オートメーションは、コントロールを時間とともに変化させます。サビでボーカルを 0.5 dB 上げる、シンセを 4 小節かけてフェードアウトする、ライザーでフィルターを開く、といった動きです。コントロールは、設定した点の間を直線のランプ、なめらかな S カーブ、即時のジャンプといったカーブでたどります。これでミックスに時間的な動きが生まれます。

メーター: 耳とともに目も信じる ​

耳は疲れ、部屋の響きは正確ではないので、ミキシングではメーターも見ます。重要なものは次のとおりです。

  • ピーク/True Peak: 最高レベル。True Peak は、サンプルメーターが見逃すサンプル間ピーク(ISP)の超過を捉えます。
  • RMS/LUFS: 平均レベル(RMS は二乗平均平方根)と、知覚上のラウドネス(LUFS は Loudness Units relative to Full Scale の略)。リスナーが実際に感じ取るのは後者です。
  • 相関値: 左右チャンネルが一致しているか。強い負の値は、ミックスがモノラルで弱まったり打ち消されたりする警告です。

libsonare で試す ​

mixStereo は、数本のステムを 1 回の呼び出しで 1 本のステレオマスターにレンダリングします。トリム、フェーダー、パン、幅はトラックごとの設定で、トラックごとのメーター値も返ります。

typescript
import { init, mixStereo } from '@libraz/libsonare';

await init();

const mix = mixStereo([vocalL, musicL], [vocalR, musicR], sampleRate, {
  inputTrimDb: [3, 0],    // どの処理よりも前の作業レベル
  faderDb: [-3, -12],     // バランス: ボーカルを前に、伴奏を後ろに
  pan: [0, -0.2],         // 伴奏をわずかに左へ
});

// mix.left、mix.right: マスター
// mix.meters[i].peakDb、.rmsDb、.correlation: トラックごとの値
python
import libsonare as sonare

mix = sonare.mix_stereo(
    [(vocal_l, vocal_r), (music_l, music_r)],
    sample_rate=48000,
    input_trim_db=[3, 0],
    fader_db=[-3, -12],
    pan=[0, -0.2],
)

# mix.left、mix.right: マスター
# mix.meters[i]: トラックごとの値
bash
# ネイティブ CLI の mix-strip は、1 つのファイルを 1 つのチャンネルストリップに通します。
sonare-cli mix-strip vocal.wav --input-trim-db 3 --fader-db -3 --pan 0.2 -o out.wav

センド、バス、サブグループ、オートメーションには、シーンベースの Mixer が必要です。ミキシングエンジンガイドを参照してください。

libsonare がこれらをどうモデル化するか

libsonare のミキシングエンジンは、これらの概念を具体的なオブジェクトへ対応づけます。

概念実装上の対応
ストリップ入力トリム・EQ・フェーダー・パン・幅・インサート・センドを固定の信号順に持つ ChannelStrip
バスmaster/aux/submix のロールを持つルーティング先
センドプリ/ポストフェーダーでタップする送信経路
オートメーションサンプル精度の位置で linear/exponential/s-curve/hold カーブとともにスケジュール
メーター各ストリップのメータースナップショットとゴニオメーター履歴バッファ
シーンミキサー全体を保存して読み直せる JSON データ

エンジンはリアルタイム安全です。デノーマル対策、ロックフリーなパラメータ変更、事前確保バッファ、ルーティンググラフ全体のプラグインディレイ補償を備えるため、同じモデルがオフラインでも AudioWorklet 内でも動きます。

関連: ミキシングエンジン、ミキシングシーン JSON、ゲインステージング、モノラル互換性、オーディオ基礎