適切な音量、ラウドネスを考慮し、ユーザの鼓膜を守ろう

1K Views

September 20, 24

スライド概要

主にゲーム向けです
以下の記事用スライドです
https://zenn.dev/twugo/articles/07761ac1d6119e

profile-image

げーむぷろぐらま(うにtyなど)

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

「適切な音量」考える ~ユーザーの鼓膜を守ろう~

2.

結論 音割れしない程度に ラウドネスを 既定の値にそろえよう 2

3.

ラウドネス規制(テレビ) https://www.j-ba.or.jp/category/t032 3

4.

音圧戦争(ラウドネス・ウォー) テレビ以外でも… • 音圧が高いほど「良い音」に聞こえやすい • 単純に目立たせたい 音圧戦争勃発!! 現在は各コンテンツ別でラウドネス規制を設けている場合がある 4

5.

ゲームでも • シーンごとにラウドネスが異なるとつらい • 音ゲーで曲ごとにラウドネスが異なるとつらい タイトル ホーム バトル リザルト • 各社でラウドネスに制限をかけ、 調整している(ラウドネスノーマライゼーション) 5

6.

音の大きさ • RMS(Root Mean Square, 二乗平均平方根) • 平均的な音の大きさ • ラウドネス • 人が感じる音の心理的な大きさ • 周波数によって聞こえ方が異なる • 低い音は小さく、高い音は大きく聞こえる、超音波は聞こえない • LKFS(=LUFS) • ラウドネス測定単位 • 人間の聴覚特性によって補正をかけた音量 • +1dB ≒ +1LKFS 6

7.

ラウドネスの種類 • モーメンタリラウドネス値(Momentary Loudness) • 400msの瞬間的なラウドネス • ショートタームラウドネス値(Short-Term Loudness) • 3秒間のラウドネス • 平均ラウドネス値(Integrated Loudness) • 最初から最後まで通したラウドネス • Integrated Loudnessでそろえることが多い • 冒頭から末尾までを同じ音量でそろえることを意図しているわけではない • ダイナミックレンジ(音量の大小の幅)があるほうが自然 • 目的は聞きやすくすること 7

8.

ラウドネスメータ • ライブ測定型メータ • リアルタイムで測定 • ソフトウェアの再生音量などによってラウドネスが変わってしまう • リファレンス音源を使って揃える • 最終的に出力される音量感を揃えるのに有用 • Orban Loudness Meter(無料版)など • ファイルベース型メータ • 完パケ状態で測定 • 測定時間がリアルタイムより短い • DAW(音楽制作ソフト)のプラグイン、単体の測定プログラムなど • ffmpegでもできる 8

9.

ラウドネスノーマライゼーション Q. ラウドネスを無理やり変えると元の音楽を壊して しまわないか? A. 壊すやり方と壊さないやり方がある - 全体的に均一にする手法(ダイナミックレンジ圧縮(DRC)など) - 音楽のダイナミクスを損なう可能性がある - YouTubeの一部動画で使われる一定音量機能はこれ - 基本音楽ではオフですが、ライブのアーカイブとかでオンになっていることも - 1曲単位(もしくは1アルバム単位)での単純な音量変更 - 音量を変えるだけだが、気を付けるべきこともある 9

10.

ラウドネスノーマライゼーション(Spotify) https://support.spotify.com/jp/artists/article/loudness-normalization/ 10

11.

ラウドネスノーマライゼーション ラウドネスを小さくする場合 ⇒問題なし ラウドネスを大きくする場合 ⇒音割れが起きる可能性がある ⇒ノイズが大きくなる(生音の場合) 11

12.

音割れ(クリッピングノイズ) • ビット深度が16, 24 bitの場合、表現できる上限値(0dbFS≒0LKFS) を超えると、強制的に上限値に抑制(クリップ)され、音の情報が失 われてしまう • この結果、音が歪んだりバチバチといったノイズが出る音割れが生じ る 画像: https://tascam.jp/jp/feature/32-bit_float 12

13.

トゥルーピークとヘッドルーム • 音割れが生じないように、音源の最大値(トゥルーピーク)を 意識する必要がある • トゥルーピークが0dbFSを超えないように余裕を持たせる (ヘッドルーム) 0dbFS 0dbFSまでの余裕 (ヘッドルーム) 音源の最大値 (トゥルーピーク) 13

14.

ターゲットラウドネス ターゲットラウドネス トゥルーピークの最大値 Spotify -14dB LUFS -1dbFS Amazon Alexa -14dB LUFS/LKFS -2dBFS テレビ -24LKFS ±1 -1dBTP SCE(PS3) -23LUFS ±2 SCE(PSVita) -18LUFS DeNA モバイルゲーム規定(楽曲) ショートタームで-13LKFS DeNA モバイルゲーム規定(SE) RMS -13dB(response 90ms) テレビに近づけ ている Youtubeに近づけ ている (Spotify) https://support.spotify.com/jp/artists/article/loudness-normalization/ (Alexa) https://developer.amazon.com/ja-JP/docs/alexa/flashbriefing/normalizing-the-loudness-of-audio-content.html (Netflix) https://partnerhelp.netflixstudios.com/hc/ja/articles/360001794307-Netflix-サウンドミックスの仕様と実践ガイド (テレビ) https://www.j-ba.or.jp/category/t032 (SCE) https://www.slideshare.net/slideshow/sigaudio1-cedec2012/15240036 (DeNA) https://qiita.com/ADX_kawaguchi/items/edd6ecb2f2e77ce33b52 そのほか:https://av.watch.impress.co.jp/docs/series/higuchi/1142525.html 14

15.

ラウドネス、トゥルーピーク計測、ノーマライズ用ソフト • DAW(音楽制作ソフト)、プラグイン • 動画編集ソフト • (計測のみ)Unityサウンド系ミドルウェア(CRI ADX、Wwise) • フリーソフト • (ノーマライズのみ)Audacity • (計測のみ)Youlean Loudness Meter、 Orban Loudness Meter • ffmpeg • CUIのみだが、CUIのおかげで自動化プログラムを作りやすい。 • (計測のみ)Unity Technologies NativeAudioPlugins、Oculus Audio SDK 15

16.

ラウドネス、トゥルーピーク計測、ノーマライズ(ffmpeg) • ffmpegを使ってラウドネス計測を行う ffmpeg -i ファイル名 -filter_complex ebur128=peak=true -f null - • 見るのは次の2つ • Integrated loudnessの最初の数値 (I: の項) • True peak https://pspunch.com/pd/article/measuring_loudness/ https://ffmpeg.org/ffmpeg-filters.html#loudnorm https://nico-lab.net/ebur128_with_ffmpeg/ 16

17.

ラウドネス、トゥルーピーク計測、ノーマライズ(ffmpeg) • ffmpegによって音量を変更する • ffmpegにはラウドネスノーマライゼーション用にloudnormや dynaudnorm, speechnormといった機能もあるが、場合によっては 圧縮がかかる可能性があるのでここでは使わない • 1dbあげるとおよそ1LUFS上がる • True peakが-1dbFSを超えない値になるよう気を付ける • 1度音割れしたら元に戻らない。再度やり直す ffmpeg -i 入力ファイル名 -af volume=-8dB 出力ファイル名 • (dB数は上げたい、下げたい分を入力する) https://qiita.com/mml/items/c28d69ab889eb36dd522 17

18.

補足 • 意図がある場合はターゲットラウドネスに縛られなくてもよい • 呟いた声と叫び声を同じラウドネスにしなくてもよい • とはいえ上限を超えてうるさすぎてはいけない • 意図がない場合はできる限りそろえる • 最終的には人の耳で判断する 18

19.

効果音 • 効果音もアセット段階では音量をそろえる • 参考.DeNAモバイルゲームの規定: • 楽曲はショートタームで -13LKFS • SEはラウドネスではなく、RMS -13dB(response 90ms) • https://qiita.com/ADX_kawaguchi/items/edd6ecb2f2e77ce33b52 • ラウドネスでなくRMS? • たぶんMomentary Loudnessの400msじゃ長すぎるからRMSを使ってる? • ターゲットラウドネスに近い値のdbFSにする? • 効果音再生段階で音量を調節する • 重要度など、意図によって調節する https://www.youtube.com/watch?v=Zf8o_0J3p-o https://blog.audiokinetic.com/ja/loudness-processing-best-practice-chapter-3-scalable-loudness-processing-for-games/ 19

20.

効果音 • 音は同時に鳴ると大きくなる • 物理の「重ねあわせの原理」 • 同じ音が同時に2個鳴ると音量2倍、3000個鳴ると3000倍 ■大きくなりすぎないようにするテクニック • 同時になる音数を制限する • 先着優先と後着優先 • 2個目以降が鳴る場合は音量を小さくする • ピークが重ならないようキューを使い少しずらす • 鳴らしたいタイミングからずれてしまう可能性あり • 出力直前にコンプレッサー・リミッターをかける • 耳を守る https://note.com/adx_kawaguchi/n/n2e28b57cafdd https://game.criware.jp/manual/native/adx2/latest/criatom_feat_voice_pool.html 20

21.

まとめ • 音割れしない程度にラウドネスを規定値にそろえると聞きやすく なる • 音割れ防止にトゥルーピークに-1dbFSぐらいヘッドルームを持たせる • 耳でも判断する • 人の耳に勝るセンサーはない • プレイ環境を想定した様々な視聴環境を想定・用意できるとよい 21