このページは、R128NetをWebAssemblyとして、ブラウザーの中で動かします。音声は外部へ送りません。1番で選んだ音声を、放送用のラウドネスメーターと同じ方法で測定します。そのうえで、目標のラウドネスに合わせるゲインを求め、結果をもう一度測定します。
1. 音声
音声: Linda Johnson氏がLibriVox向けに録音したもので、Keith Ito氏のLJ Speech Datasetから引用しています。このデータセットはパブリックドメインです。
ファイルはブラウザーの外へ出ません。WAVファイルはそのまま読み込みます。ほかの形式は、ブラウザーが復号し、可能なら48 kHzにします。使うのは最初の120秒だけです。
- テスト用の番組は、ブラウザーの中で生成します。静かな和音、拍を伴う大きな和音、ほぼ無音の区間、中くらいの大きさの和音が続きます。ほぼ無音の区間は絶対ゲートの下、静かな和音は相対ゲートの下にあるため、どちらも統合ラウドネスには数えません。
- 1 kHzの正弦波は、-23.0 LUFSと測定されます。ピークは、両方のチャネルで-23 dBFSです。
- 12 kHzの正弦波は、どの標本も波の頂点に当たらないように、48 kHzで標本化してあります。最大の標本は、2つの標本の間にある波形の実際のピークより3 dB低い値です。サンプルピークは前者を、トゥルーピークは後者を示します。
2. ラウドネス
| 項目 | 値 |
|---|---|
| 統合ラウドネス | |
| ラウドネスレンジ | |
| 相対ゲート | |
| 瞬時ラウドネスの最大 | |
| 短期ラウドネスの最大 | |
| サンプルピーク、チャネルごと | |
| トゥルーピーク、チャネルごと |
- 瞬時ラウドネスの対象は直近400ミリ秒、短期ラウドネスの対象は直近3秒です。図は、どちらも100ミリ秒ごとに読み出しています。短期ラウドネスは、3秒の時点から始まります。
- 統合ラウドネスは、まず-70 LUFSを下回るブロックを除き、次に、残りの平均より10 LUを超えて低いブロックを除きます。この2つ目の限界が相対ゲートです。
- ラウドネスレンジは、EBU Tech 3342の定義による、短期ラウドネスの広がりです。ゲートを通るブロックが少なすぎると0 LUになり、3秒より短い音声がこれに当たります。
- トゥルーピークは、標本の間で波形が達する最大の値で、過標本化して求めます。
3. 目標へ合わせるゲイン
R128Netは測定だけを行い、音声は変えません。下のゲインは、目標から統合ラウドネスを引いた値です。このページは、そのゲインを複製に掛け、複製を16ビットに丸めて、もう一度測定します。
4. モードごとの費用
モードごとに処理時間がかかるため、必要なモードだけを指定するのが、測定を速くするいちばん簡単な方法です。ボタンを押すと、上の音声を6通りのモードの集合で測定器へ投入し、このブラウザーでそれぞれの時間を測ります。そのあと、測定中に確保するマネージドメモリの量も確かめます。
| モードの集合 | 時間 | 実時間の倍率 |
|---|---|---|
| 瞬時 | ||
| 統合 | ||
| ラウドネスレンジ | ||
| 統合とサンプルピーク | ||
| 統合とトゥルーピーク | ||
| すべてのモード |
補足
- 初回は、主に.NETの実行環境で約2.2 MBを読み込みます。ページを開いた時点で読み込みを始めます。コードは事前にコンパイルしてあるため、待っている間のコンパイルはありません。2回目からは、ブラウザーが保存したものを使います。
- 処理はWeb Workerの中で動くため、測定の間もページは操作できます。
- 確保量を数える前に、測定を一度実行します。WebAssemblyの実行環境は、一部のコードが最初に動くときに、数キロバイトを自分で確保するためです。
- WebAssemblyは独自の数学ライブラリとベクトル命令を持つため、ここでの時間はREADMEの表の値と同じではありません。結果の最後の桁も、ネイティブのビルドと異なることがあります。原典との照合を済ませているのは、ネイティブのビルドです。