dancept2の日記

あやしうこそものぐるほしけれ

YouTube 動画アップロード時の音声ビットレート/形式について(その二)

下記つづき。

その一アップ後しばらくすると当方の PC 環境では Opus 再生が使用されるようになり、アップロードファイル作成時のサンプリング周波数は 48 kHz(あるいはその整数倍?)一択、AAC-LC 再生を考慮する意味も余りない感じになった。そんなんで続きをアップしたものか躊躇しているうちに随分時間が経ってしまったが、その一だけというのも何なので以下とりあえずそのままアップすることに。


4. 結果

こんかいの実験くんはタイトルのとおり元音源のサンプリング周波数(やビット深度)には着目していなかったのだが、そうはいっても取り上げた YouTube 側のエンコードが 44.1 kHz(AAC-LC)と 48 kHz(Opus)というところでサンプリング周波数が気になる結果となった。サンプリング周波数(やビット深度)をスコープにしての実験くんもおもしろいかも。当方の環境・耳ではこちらもデータ上のハナシになりそうですが(苦笑)。

4.1 入力ファイル

図14 はサンプル No. 01 から 07 の入力アップロードファイルの周波数特性。サンプルが多いので出力ダウンロードファイルとは別にした。入力ファイル変換元の FLAC を加え(黄色カーブ)、08(WAV)は省略(以下同様、08 については 4.7 参照)。

図14 、入力ファイル波形比較図14 、入力ファイル波形比較

(1) 3 (8)(エントリその一)で、サンプリング周波数 48 kHz のサンプル No. 06(Opus:シアン)の webm 入力および出力が 44.1 kHz の FLAC 元ファイルおよび m4a 出力に比べ微妙に上ずり気味とした *1 。図14 ではわかりずらいが同じく 48 kHz の 05(Vorbis:濃い緑)も同様。いっぽう 44.1 kHz のサンプル 01 – 04(AAC-LC)ではこうした「上ずり」は見えない。

(2) Audacity の周波数特性値取得ポイントの違い (a) でそこまで差が、しかももっぱら「上ずり」側に出るのかというところなのだが、いっぽう Opus 、Vorbis エンコードの特性 (b) とすると、Vorbis → Opus の 05 、Opus → Opus の 06 の webm 出力で 倍「上ずり」が見えてもよさそうだが後述のとおりそうは見えない。二度目のエンコードは 48 kHz → 48 kHz なので「倍」にはならない、すなわちエンコード時の 48 kHz リサンプリングの影響 (c) かともおもえる。ところが入力ファイルの如何に関わらず webm 出力に「上ずり」が見られ、入力時点で 「上ず」っていた筈の 05 、06 を含む m4a 出力には見えない(以上、後述 4.2 参照)——ということで (a) に戻ってしまった。48 kHz のサンプルを用意すればある程度切り分けできそうだが、こんかい元ネタが CD ということもあり先にすすむ。

(3) 図15 に 図14 を拡大。サンプル No. 05(Vorbis 160 kbps(VBR):濃い緑)がやや特徴的。01 AAC-LC 128 kbps(ABR)より急激に落ちる(17.2 kHz 付近)。また、図14 ではわかりずらいが、図15 の 14 kHz – 15 kHz 間のように波形の谷での上振れが目立つ。以上後述 4.4 参照。その他についても後述各項目で。

図15 、入力ファイル波形比較図15 、入力ファイル波形比較

4.2 出力ファイル

(1) 図16 はサンプル No. 01 から 07 の YouTube 出力ダウンロードファイルの周波数特性。こちらはさらに webm 出力(上) と m4a 出力(下)に分割した。前述 4.1 のように(上)グラフは「上ずり」でやや黄色( FLAC 元ファイル)が下側に覗くが(後述 4.6.2 図26 、図27 も参照)、すでに入力時点で「上ずり」の見えていた 05(Vorbis:濃い緑)、06(Opus:シアン)でとくに「上ず」っているというようには見えない。

図16 、入力ファイル波形比較図15 、入力ファイル波形比較図16 、出力ファイル波形比較

4.2.1 Opus/WebM 出力

(1) サンプリング周波数は 48 kHz に変換される。図17 に 図16(上)を拡大。20 kHz ハイカット。黄色カーブが変換元音源の FLAC 。その FLAC をアップロードしたサンプル No. 07(濃い青)含め、ぜんたいに 15.6 kHz あたりから上振れし始め 20 kHz ハイカット。20 kHz に収める反動が 15.6 kHz あたりから出ているかんじか。3 (9) (エントリその一)で触れたように YouTube 出力 Opus は平均 160 kbps 出ていないのだが、サンプル No. 06 の Opus 160 kbps(VBR)入力ファイル(上掲 図15 シアン)ではこのようなひずみ(?)は出ていない。当方の環境(FFmpeg は "libavcodec 58. 54.100" というのを搭載している模様)でも 130 kbps くらいでエンコードしてみればこのカーブを再現するのかの追試の予定は未定(笑)。以上 3 (8)(エントリその一)および後述 4.3.2.1 も参照。

図17 、出力ファイル(webm)波形比較図17 、出力ファイル(webm)波形比較

(2)「結論」(エントリその一)で述べたように、サンプル No. 07(FLAC)、06(Opus:シアン)、04(AAC-LC 320 kbps:ピンク)、03 (同 256 kbps:明るい緑)までほぼ同等のカーブに収れんする。

(3) 02(AAC-LC 192 kbps:赤)になると、それ以前から上記 (2) のグループのカーブでボトムをキープするが 18.8 kHz 過ぎあたりで脱落。01(同 128 kbps:茶)は 14.5 kHz あたりからボトムの位置をキープし出し、他が上振れし始める 15.6 kHz 過ぎで脱落。この「脱落」位置は入力ファイルの時点での挙動を反映しているかんじ。上掲 図15 および後述 4.3.2.1 も参照。

(4) 05(Vorbis:濃緑)は 01 が脱落した 15.6 kHz 過ぎからは残った上振れグループでボトムをキープし、入力ファイルの挙動(前述 4.1 (3))を反映して 17.2 kHz 過ぎあたりで脱落。高周波域での特性は 01 より元ファイルに近付くが、それ以前の領域では入力ファイルの動きを反映し波形の谷で上振れ気味。後述 4.4 参照。

4.2.2 AAC-LC(mp4a/m4a)出力

サンプリング周波数は 44.1 kHz に変換される。15.8 kHz ハイカット。図18 に 図16(下)を拡大。m4a 出力は 128 kbps(CBR)ということで、サンプル No. 05(Vorbis:濃緑)の「上振れ」(上述 4.2.1 (4) )を除き、「上ずり」の見えた 06(Opus:シアン)入力(前述 3 (8)(エントリその一)および 4.1)も含め、同等のカーブに収れん、15 kHz 過ぎで下がり出し、わかりずらいが実際にはそれ以前(12 kHz あたりか)からやや下がりぎみ(黄:FLAC 元ファイルが上側に覗くようになる)。05 については 4.4 参照。

図18 、出力ファイル(m4a)波形比較図18 、出力ファイル(m4a)波形比較

以下入力サンプル(入力コーデック)ごとに記述。もともと AAC-LC でビットレートを振ってみるテストだった筈なのだが手抜きして「差分抽出」は(「変換元ファイル」との比較となるサンプル No. 07 FLAC 除き)省略(苦笑)。

4.3 サンプル No. 01 – 04:AAC-LC(mp4a/mp4)入力

4.3.1 出力ファイル波形

図19 は入力ファイル 4 本(上)と m4a 出力ファイル 4 本(下)の波形。出力側サンプル No. 01(128 kbps)と 03(256 kbps)で一か所ずつクリップの赤線(1分47秒6 付近、潰れなし)。入力ファイルの時点で最大レベルはそれぞれ −0.042 、−0.283 、−0.042 、−0.357 、−0.356 dB と 01 、03 は高い。入力ファイルの変換元 FLAC は −0.386 dB 。これくらいは振れるということだろう(エントリその一 3 (4) および (5) も参照)。

図19 、入/出力ファイル波形比較(サンプル No. 01 – 04)図19図19 、入/出力(m4a)ファイル波形比較(サンプル No. 01 – 04)

4.3.2 周波数特性

図20 は入/出力ファイルの周波数特性。図16 同様 webm(上) と m4a(下)に分割した。細線のカーブが入力ファイル、太線は出力ファイル。色分けは 図14 − 図18 に合わせた。

図20 、入/出力ファイル周波数特性(サンプル No. 01 – 04)図20 、入/出力ファイル周波数特性(サンプル No. 01 – 04)図20 、入/出力ファイル周波数特性(サンプル No. 01 – 04)

4.3.2.1 Opus/WebM 出力

(1) 図21 に 図20(上)を拡大した。入力ファイル変換元 FLAC(黄色)カーブから入力ビットレートごとに出力レベル低下。

図21 、入/出力(webm)ファイル周波数特性(サンプル No. 01 – 04)図21 、入/出力(webm)ファイル周波数特性(サンプル No. 01 – 04)

(2) サンプル No. 03(256 kbps:明るい緑)は入力ファイル(細線)、出力ファイル(太線)とも 04(320 kbps:ピンク)と同等(カーブが重なって後者はほとんど見えない)、入力ファイルは FLAC にほぼ追従し、最後の最後 22 kHz 付近でどちらも 1.5 dB ほど落ちている。が、出力ファイルは 20 kHz ハイカットなので影響はない。

(3) 02(192 kbps)になると、すでに入力ファイル(赤細線)の段階において 19 kHz あたりで落ちている。出力ファイル(赤太線)はこの入力カーブをトレースして 19 kHz で落ちるのではなく、20 kHz ハイカットに合わせて出力レベルを引っ張り上げている感じである。図21 では出力レベルを −110 dB までしか示していないが、AAC-LC エンコードは 32 ビット浮動小数点で −150 dB まで出力があった。この −150 dB に到る領域に 32 ビット浮動小数点の分解能で圧し潰され、あるいは文字どおり「圧縮」されて収められていた出力を 20 kHz ハイカットのカーブに合わせつつだが引き延ばして再生、あるいは「解凍」する動作に見える。

(4) 図22 は 図21 縦軸を −150 dB まで伸ばした。192 kbps(赤)までは 16 kHz あたりからの「上振れ」(4.2.1 (1) 参照)が出ているが、128 kbps(茶)まで下がると入力ファイルより出力ファイルの方が変換元 FLAC(黄)に近いカーブとなり、改善というか部分的に回復(?)している。通常はさいしょからビットレート上げてエンコードしておけば良いのであまり意味はないが、「圧縮」が重ねられる際にはエンコードの組み合わせにより、このような振る舞いも見られるということですね(後述 4.4 も参照)。

図22 、入/出力(webm)ファイル周波数特性(サンプル No. 01 – 04)
図22 、入/出力(webm)ファイル周波数特性(サンプル No. 01 – 04)

(5) webm 出力ファイルを再アップロード、あるいは手元の環境ででも各出力ファイルを Opus で再エンコードしてみる、または二度のエンコードの順序を変えてみる、などなどの追試の予定は未定。

4.3.2.2 AAC-LC(mp4a/m4a)出力

図23 に 図20(下)を拡大。出力は CBR 128 kbps ということで 4.2.2 で触れたとおり出力カーブ(太線)は一定。webm 出力のようなハイカット前の「上振れ」もない。こんかいサンプル 01 – 04 は ABR で作成したが、出力と同じ CBR で入力ファイルを作成してみるテストの予定は未定(実用上敢えて使うかたもいないでしょう)。

図23 、入/出力ファイル周波数特性(サンプル No. 01 – 04)図23 、入/出力(m4a)ファイル周波数特性(サンプル No. 01 – 04)

4.4 サンプル No. 05:Vorbisvorbis/webm)入力

図24 は入/出力ファイルの周波数特性。カーブの色分けは 図12(エントリその一)の方に合わせている。

図24 、入/出力ファイル周波数特性(サンプル No. 05)図24 、入/出力ファイル周波数特性(サンプル No. 05)図24 、入/出力ファイル周波数特性(サンプル No. 05)

4.4.1 入力ファイル

(1) 前述 4.1 (3) で触れたように入力ファイル(濃い青)は波形の谷部分が 6 kHz あたりから上振れし始めている。15.6 kHz 過ぎからは頂き側でも上振れし出し、17.2 kHz 過ぎで元ファイル FLAC(黄)のカーブから脱落。どうせ 16 kHz 以上は聴こえないので(笑)、6 kHz あたりからの挙動の方がもんだいかも(?)。サンプリング周波数が異なるので直接比較できないが、6.3 kHz 過ぎで FLAC 元ファイル約 −55 dB に対して 2 dB 弱の上振れ、2 dB 超えてるであろう個所もあり。

(2) 当該の vorbis/webm 入力ファイルは Aviutl の FFmpegOUT プラグイン "--vbr --bitrate 160" オプション指定で作成したが、MPC-HC 再生時の「統計情報」ビットレート「(平均)」は 100 kbps 。そこから FFmpeg で取り出した(-acodec copy)ogg ファイルの FFmpeg 表示は "bitrate: 101 kb/s" 。VBR なので「平均」160 k 行かないのはそんなものかもだが、06 の入力ファイル Opus 160 kbps(VBR)指定ではそれぞれ「(平均)」156 kbps 、"bitrate: 157 kbps" である(エントリその一 3 (9) 参照)。Aviutl−FFmpegOUT エンコードで使用されたライブラリは "Lavc58.54.100 libvorbis" の模様。Vorbis や Opus 入力エンコードビットレートを振ってみるテストの追試の予定は未定。

4.4.2 出力ファイル

(1) Opus/WebM 出力

6 kHz あたりからの波形の谷部分の上振れも含め、概ね入力ファイル(濃い青細線)の動きをトレースし 17.2 kHz 過ぎで脱落するが(ピンク)、15.8 kHz 過ぎではむしろ元ファイル FLAC(黄) のカーブに近づいているように見える。また、入力ファイルは 17.2 kHz 過ぎでサンプル No. 01 AAC-LC 128 kbps(ABR)より急激に落ちていたのだが(前述 4.1 (3))、出力ファイルでは Vorbis の方がより高出力となり(同 4.2.1 (4))、01 、02 同様のハイカット領域の「回復」が見られた(同 4.3.2.1)。

図25 は上掲 図24(下)に 01 の入力(茶色細線)および webm 出力(同太線) を加え、縦軸を伸ばした。考えてみると 32 ビット浮動小数点 = 24 ビット+小数点以下 8 ビットでこんなにフロアがあるのかということなのだが、そこはノン・リニアということなのだろう(?——これは違うか)。Vorbis はといえば −170 dB 近くまでフロアがあり、約 −150 dB までの 01 より「回復」した(濃い青細線 → ピンク)。ただし 02 AAC-LC 192 kbps(ABR)には及ばない(4.2.1 図17 参照、濃い緑と赤。02 は 15.6 kHz 過ぎからの「上振れ」もあるが)。

図25 、入/出力ファイル周波数特性(サンプル No. 05 ならびにサンプル No. 01 webm 出力
図25 、入/出力ファイル周波数特性(サンプル No. 05 、
ならびにサンプル No. 01 webm 出力

(2) AAC-LC(mp4a/m4a)出力

webm 出力同様入力ファイルの挙動を反映し 6 kHz あたりから波形の谷部分で上振れ。それ以外は前述 4.2.2 の AAC-LC(mp4a/m4a)出力カーブ(15.8 kHz ハイカット)、15 kHz 過ぎで下がり始め FLAC 元ファイル(図24、図25 黄)の下側に転じ、15.8 kHz に到る(同赤)。サンプル No. 01 入力ファイル(図25 茶細)と同じ AAC-LC ということで −150 dB 近くまでフロアがある(同赤)。 

4.5 サンプル No. 06:Opus(opus/webm)入力

3項(エントリその一)参照。

4.6 サンプル No. 07:FLACflac/mkv)入力

4.6.1 入力ファイル

後述 4.7(2) 図30 ならびに 図14 、図15 参照。要するに映像と mux しただけなので、ここは順当に元ファイル FLAC(黄色)のカーブをトレースした(濃い青細線)。

4.6.2 出力ファイル

4.6.2.1 Opus/WebM 出力

今回ベストの、前述 4.2.1 (2) カーブ、図26 参照(こちらでの出力ファイルは細線)。図26(上)は前述 4.2 の「上ずり」が確認し易い。最大レベル −0.498 dB(入力ファイル −0.386 dB)、遅延ないし無音部分の付加なし。入/出力ファイル差分の最大レベルは −16.900 dB(差分抽出ミキシング時 48 kHz → 44.1 kHz リサンプリング)。

4.6.2.2 AAC-LC(mp4a/m4a)出力

サンプル No. 05 を除きすべて同等の、前述 4.2.2 カーブ、図27 参照(図26 と同じく出力ファイルは細線)。最大レベル −0.114 dB 、無音部分の付加先頭(遅延)0.037 秒、後端にも 0.01 秒 あまりあり。入/出力ファイル差分の最大レベルは −19.366 dB と、webm より 2.466 dB 低い。

4.6.2.3 出力ファイル差分

(1) Opus/WebM 出力

周波数特性をかくにんしてみた。図26 は webm 出力差分(濃い青太線)。低周波域 430 kHz あたりまでは −50 dB  を上まわる(上側グラフ)。前述 webm 出力(濃い青細線)のぜんたい的な「上ずり」もかくにんしやすい。その後下側拡大グラフで、出力ファイル(濃い青細線)が「上振れ」し始める 15.6 kHz 過ぎ(4.2.1 参照)から上昇し、ハイカット 20 kHz 過ぎから FLAC 元ファイル(黄)のカーブをトレース、と、いちおう出力ファイルの挙動を反映しているように見える。

図26 、入/出力(webm)ファイル差分周波数特性比較(サンプル No. 07)図26 、入/出力(webm)ファイル差分周波数特性比較(サンプル No. 07)図26 、入/出力(webm)ファイル差分周波数特性比較(サンプル No. 07)

(2) AAC-LC(mp4a/m4a)出力

図27 は m4a 出力差分(赤太線)。ハイカット 15.8 kHz 過ぎから FLAC 元ファイル(黄)をトレース(下側拡大グラフ)。出力ファイル(赤細線)は webm 出力のような「上ずり」は見られず FLAC 元ファイル(黄)を素直にトレース、12 kHz 過ぎからやや下がりぎみ(前述 4.2.2)。差分ファイルでは 7.4 kHz 過ぎに 5 dB くらいの山があるのが目につくが、出力側では(山はあるが)FLAC 元ファイルとの乖離は見られない。また、1 kHz 以下の低周波域のカーブが webm とは異なる(以上上側グラフ)。

図27 、入/出力(m4a)ファイル差分周波数特性比較(サンプル No. 07)図27 、入/出力(m4a)ファイル差分周波数特性比較(サンプル No. 07)図27 、入/出力(m4a)ファイル差分周波数特性比較(サンプル No. 07)

(3) 出力ファイル差分比較

図28 に 図26 と 図27 をマージしてみた。約 −117 dB までの webm 出力(青細線)に対し m4a は −150 dB 近くまでのフロアがあるが(図27(下)赤細線)、さすがにこの微小レベルだと(webm 出力ハイカット約 −117 dB の領域における)「差分」側の差は読み取れない。低域では webm 差分の方がかなり高く、Audacity「書き出し」による周波数特性値最初の取得ポイント 86.132813 kHz では m4a の −57.465221 dB に対し webm は −45.596596 dB と 12 dB 近く差がある。3項(エントリその一 )では端折ってしまったがこの傾向はサンプル No. 06 Opus 入力差分も同様。その後 m4a 出力のハイカット 15.8 kHz に到る領域のおおよそその中間、8 kHz 過ぎで上下逆転する(上側グラフ)。

図28 、入/出力ファイル差分周波数特性比較(サンプル No. 07)図28 、入/出力ファイル差分周波数特性比較(サンプル No. 07)図28 、入/出力ファイル差分周波数特性比較(サンプル No. 07)

という訳で「差分比較」では、4.1 (2) でも触れたが 48 kHz 音源のサンプルを用意してサンプリング周波数の影響についてかくにんした上で、それぞれ入力ファイルも含め他のサンプルについても FLAC 元ファイルと「比較」してみるなど考えられるが今回はここまで。

4.7 サンプル No. 08:WAV(wav/mkv)入力

ついでに追加した WAV 入力だがアップロード出来た。以下 webm 出力ダウンロードファイルでかくにん。

(1) 最大レベル −0.498 dB(入力ファイル −0.386 dB)で FLAC と等しい。ただしこちらでは後ろ側に 0.012 秒ほど無音データが付加されていた。図29 は上からサンプル No. 07 FLAC 入力(flac/mkv)、08 WAV 同(wav/mkv)、07 FLAC webm 出力、08 WAV 同ファイルの終端部。なお前述 4.2.1 (1) のとおり webm 出力ファイルはサンプリング周波数 48 kHz に変換されている。

図29 、入/出力(webm)ファイル波形比較(No. 07 – 08)図29 、入/出力(webm)ファイル波形比較(No. 07 – 08)

(2) 周波数特性はサンプル No. 07 FLAC の webm 出力ファイルと同じ。図30 は FLAC 入力(flac/mkv:濃い青細線)、ならびに webm 出力ファイル FLAC(濃い青太線)および同 WAV(灰色)の比較。WAV 入力ファイル(wav/mkv)は省略したが FLAC「元ファイル」(黄色)はこれまでのグラフに合わせて残してある。

図30 、入/出力(webm)ファイル周波数特性(サンプル No. 07 – 08)図30 、入/出力(webm)ファイル周波数特性(サンプル No. 07 – 08)図30 、入/出力(webm)ファイル周波数特性(サンプル No. 07 – 08)

(3) なお、図30 では出力ファイルのカーブ(FLAC:濃い青太線、WAV:灰色)は「同じ」に見えるが、出力値でみると平均で 0.0002292 dB WAV の方が FLAC より低い( n = 255 )。試しに WAV の出力ファイルの後ろ側 0.012 秒(前述 (1) 参照)を含まないよう範囲選択した上で特性値出力を行なったところ、213番目の 19,968.75 kHz まで完全一致し上記の差異平均値は 0.0000002 dB に減少した。

(おわり)


*1:サンプリング周波数が異なるため Audacity の周波数特性値取得ポイントが異なり、そのまま値で示せない。

YouTube 動画アップロード時の音声ビットレート/形式について(その一)

だいぶ経ってしまいましたがお正月にちょっと実験くんです。当方 AviUtl を使用して YouTube 動画アップロード用の mp4 ファイル——映像の方は静止画一枚なので動かない「動画」なのだが(笑)——を出力しておるのですが、過日 YouTube 上で音質についてのコメントを頂いた。しかしこれまで下記のような次第でそれほど頓着せずにアップしており、

要するに YouTube にアップロードされた動画ファイルはサーバーで再エンコードされ、(われわれ泡沫チャンネルの音声は通常)最高でも AAC-LC(mp4a/m4a)/CBR 128 kbps が使用されるということらしく(以前は HD 動画については 192 kbps)、ABR 192 kbps でアップロードしておった訳です。[追記]投稿後20日ほどだが(2020/02/25)PC 環境では IE(など?)を除き Opus 再生に移行したように見える。詳細不明。以下関連する記述にも打消(打消)を入れた。

YouTube ヘルプには音声コーデック:AAC-LC 、ビットレートはモノラル:128 kbps、ステレオ:384 kbps、5.1:512 kbps 推奨とある *1 。ステレオは 1 ch ぶん表記 192 kbps ということで、「おすすめ」どおりアップしていたということでいいのだろう(たぶん)*2 。が、これって実際にはどうなのか。

さきに結論から申しますと、少なくとも今回のサンプルのデータ上においては、Opus 再生を前提にすると YouTube 推奨のビットレートよりも上げておいたほうがよいことがわかった。以下ご報告。一部サンプルにおいては YouTube 側の再エンコードで特性が部分的に改善(というか回復)するというような現象も見られた。図表も多くなり——じぶんでもワケが分からなくなりつつある(苦笑)——けっこう長くなったのでエントリその二に続く。


1. 結論

現状、ならびに今回のデータにおいて、YouTube アップロード用の音声ファイルは、

  • Opus 再生(パートナー企業さま、人気チャンネルさま、ならびに人気動画に適用(らしい))を想定すれば、AAC-LC エンコードビットレートは 256 kbps(ABR)以上を推奨。Opus でエンコードしてのアップロードであれば 160 kbps(VBR)でこれにほぼ同等(エントリそのニ 図17 参照)。

  • AAC-LC(mp4a/m4a)再生(一般チャンネル、一般動画に適用)では YouTube「おすすめ」どおり AAC-LC/ビットレート 192 kbps *1エンコードで OK(ただし ABR *2 )。また、Vorbis 160 kbps(VBR)では AAC-LC 128 kbps(ABR)にも劣る(エントリそのニ 図18 参照)。

AAC-LC のサンプルは qaac(mp4a/mp4)で作成。Opus と Vorbisビットレートは 160 kbps(VBR)以外は試していない(詳細は下記 2項 参照)。また、周波数特性上の差が現れるのは概ね 15 kHz 以上の高周波域である。いっぽう YouTube 側でのエンコードについては今後も変更 → 再エンコードということもあり得るであろうから、推奨値以上のスペックでアップロードしておくというのも一理あることではありましょう。YouTube にしてみれば迷惑な話ですが。

2. サンプル

(1) 音源

聴感上どうかもかくにんしてみたいというところで、オケの CD 音声つかってみた。(優秀録音との評も聞いたことはないが割と新しめのから——これがほとんど手元にないという(苦笑)——エッシェンバッハ指揮フィラデルフィア管/『悲愴』SACD ハイブリッド盤(2008年)の CD 層を iTunes により WAV で PC 取り込み、例の第一楽章提示部終わり pppppp へのあたりから展開部のトゥッティ3分間を FFmpeg で切り出し FLAC に変換。

(2) サンプル動画

AviUtl( x264guiEx および FFmpegOUT プラグイン)、FFmpeg 、 mkvtoolnix を使用して下記 No. 01 から 08 の動画ファイルを準備。とちゅう後述の 図1 にあるとおり映像を HD サイズにしていなかったことに気づいたが、いずれにせよ前述のとおり YouTube 側の AAC-LC エンコードの最大ビットレートは 128 kbps ということらしいのでよしとした。

No. 音声
コーデック
音声
ビットレート
[kbps]
コンテナ 映像
コーデック
備考
00 FLAC VBR 555 FFmpeg, 元ファイル
01 AAC-LC
(qaac)
ABR 128 mp4 H.264 AviUtl−x264guiEx
02 ABR 192
03 ABR 256
04 ABR 320
05 Vorbis VBR 160 webm VP9 sps = 48 kHz, 
AviUtl−FFmpegOUT
06 Opus sps = 48 kHz, 
FFmpeg
07 FLAC VBR 555 mkv mux: mkvtoolnix
08 (WAV) CBR 1,411

表1 、音声動画サンプル

No. 05 以下 AAC-LC 以外のコーデックもつくってみた。mkv ファイルは公式には YouTube 未対応だが *3 アップロードできるということで。No. 05(Vorbis/WebM)、06(Opus/WebM)はサンプリング周波数 48 kHz にリサンプリングされている。*1 の「おすすめ」にも関わらず「パートナー様」へは推奨している FLAC *4 も加え(No. 07)、さらについでにおおもとの WAV もアップできるのか試してみた(No. 08)。いろいろなツールを使っているのは単に当方が AviUtl プラグインの使い方を分かっていないためで、深入り(?)せず先に進めた(汗)。

3. 方法

(1) アップロード

サンプル No. 01 から 08 のファイルを YouTube にアップロード。

(2) ダウンロード

生成されたファイルから youtube-dl でビットレートの高い、フォーマットコード 251(opus/webm:以下 webm と記載)と 140(mp4a/m4a:以下 m4a 同)の音声ファイルをダウンロードした。下図は yourube-dl による、サンプル No. 06(Opus/WebM)において YouTube が生成したファイルのリスト。ビットレート、サンプリング周波数については 251 に @160 k (48000Hz) 、140 に @128 k (44100Hz) とある(図1)。 

図1 、出力ファイル一覧(サンプル No. 06)図1 、出力ファイル一覧(サンプル No. 06)

(3) 波形比較

相応のツールもいろいろあるのだろうが、ここではとりあえず Audacity に取り込んで波形比較を行なう(「サンプル形式(デフォルト)」設定:32bit浮動小数点)。以下(「結論」で述べたように、周波数特性上サンプル No. 03(AAC-LC 256 kbps)とほぼ同等の結果となった)サンプル No. 06(Opus/WebM)アップロードの例。トラック1(上側)がアップロード入力ファイル、トラック2(下側)がダウンロード webm 出力ファイル。出力側にはクリップ表示の赤線が…(図2)。

図2 、入/出力(webm)ファイル波形比較(サンプル No. 06)図2 、入/出力(webm)ファイル波形比較(サンプル No. 06)

(4) 最大レベル比較

「エフェクト」→「増幅」で確認すると、入力ファイルには 0.238 dB の余裕があったが、出力ファイルは 0 dB にタッチしている(図3)。

図3 、入/出力(webm)ファイル最大レベル(サンプル No. 06)
図3 、入/出力(webm)ファイル最大レベル(サンプル No. 06)

YouTube 再生画面右クリックで確認できる「詳細統計情報」に "content loudness" の表記があるように YouTube 側で音量調節行なってるようですが、再生側の都合など考えると 0 dB にもってくというのは…ただし後述のようにクリップ表示はこの一か所のみ、波形も潰れていない。こんなものなのだろう(エントリその二 4.3 (1) 参照)。アップロード時の最大レベルは控えめに、というところか(すなわち YouTubeエンコードで 0 dB にタッチすることがある)。

(5) 入出力シンクロ

図2 の拡大(図4、クリップ部分は右下)。小さいが波形の欄外下側「選択範囲の開始点と終了点」のとおり、1分47.660秒 − 1分47.653秒 = 0.007秒ほど遅延している。

図4 、入/出力(webm)ファイル波形比較(サンプル No. 06)図4 、入/出力(webm)ファイル波形比較(サンプル No. 06)

「移動ツール」で出力ファイル側の開始位置を合わせた(図5 、クリップ部分が左に移動)。

図5 、入/出力(webm)ファイル波形比較(サンプル No. 06図5 、入/出力(webm)ファイル波形比較(サンプル No. 06)

クリップ部分さらに拡大。シンクロした(図6)。波形の方は潰れてはいなさそうでジャスト・ゼロというかんじ。

図6 、入/出力(webm)ファイル波形比較(サンプル No. 06)図6 、入/出力(webm)ファイル波形比較(サンプル No. 06)

この「シンクロ」した状態で終端部をみると(図7)、トラック2(下側)の出力ファイルは途中でカットされているのがわかる。つまり先頭側に上述の 0.007 秒が足され、終端側で 0.007 秒がカットされていた(ように見える)。mux/demux かんけい(?)、よくわからんですが先に進む(苦笑)。

図7 、入/出力(webm)ファイル末端部波形比較(サンプル No. 06)図7 、入/出力(webm)ファイル末端部波形比較(サンプル No. 06)

(6) 差分抽出

ノーマライズが必要なのかもだが適切(?)なものになるとも思えず、単純に差分を抽出して違いを確認する。出力ファイルを「エフェクト」→「上下反転」後、「トラック」→「ミックス」→「新しいトラックにミックスして作成」で差分を抽出(図8)。差分の最大入力レベルは −17.846 dB(図9)。

図8 、入/出力(webm)ファイル差分抽出(サンプル No. 06)図8 、入/出力(webm)ファイル差分抽出(サンプル No. 06)

図9 、入/出力(webm)ファイル差分最大レベル(サンプル No. 06)
図9 、入/出力(webm)ファイル差分最大レベル(サンプル No. 06)

(7) m4a 出力ファイル

同様に m4a 出力ファイルも差分抽出。こちらは最大入力レベル −0.451 dB と入力ファイルより減少した。webm がクリップした場所で入力ファイルからの遅延 0.043 秒。終端側にも無音が足されているかんじだった(0.004 秒ほど)。

サンプリング周波数 44.1 kHz なので移動ツールだけでは完全にシンクロ出来ないが(図10 、上:webm 、下:m4a)、クリップの位置(3分の音源の 1分47秒653 付近)でズレが最小になるよう調整した上でリサンプリングは行なわず 図10 の状態で上下反転 → 入力ファイルとミックスした(ミックス時 48 kHz にリサンプリング)。差分の最大入力レベルは −15.046 dB と webm 差分より 2.8‬ dB 上昇。ただしサンプリング周波数の違いによる影響が大きそうではある(エントリその二 4.6.2 参照)。

図10 、出力ファイル波形比較:「移動ツール」調整後のずれ(サンプル No. 06)図10 、出力ファイル波形比較:「移動ツール」調整後のずれ(サンプル No. 06)

(8) 周波数特性比較

「解析」→「スペクトル」での周波数特性比較。上:入力ファイル、中:出力ファイル webm 、下:出力ファイル m4a(図11)。

図11 、入/出力ファイル周波数特性比較(サンプル No. 06)図10 、入/出力ファイル周波数特性比較(サンプル No. 06)図10 、入/出力ファイル周波数特性比較(サンプル No. 06)図11 、入/出力ファイル周波数特性比較(サンプル No. 06)

わかりにくいのでデータ「書き出し」でテキスト出力し、表計算ソフトでグラフ化してみる。変換元の FLAC も追加した(図12)。

図12 、入/出力ファイル周波数特性比較(サンプル No. 06)図12 、入/出力ファイル周波数特性比較(サンプル No. 06)図12 、入/出力ファイル周波数特性比較(サンプル No. 06)

入力の webm(濃い青) はハイカット 20 kHz まで FLAC をトレース。YouTube 出力の webm(ピンク)は 15.8 kHz 過ぎあたりから反応(?)が鈍くなり上振れしている。ハイカット 15.8 kHz の m4a 出力(赤)は 15 kHz あたりから息切れ。以上後述 4.2.2(エントリそのニ)も参照。

ぜんたいでも m4a が下がり気味に見えますが、実際には webm の方が入/出力ともやや上ずり気味、入力ファイルのエンコード時点ですでに上ずっていて m4a 出力で戻したようにも見える。ひとつには Opus(および Vorbis)とそれ以外ではサンプリング周波数の違いにより Audacity の周波数特性値取得ポイントが異なるというのがあるかもしれない(?)。また、サンプル No. 05(Vorbis/WebM)ほどではないが、図12 の 14 kHz – 15 kHz 間で見られるように、webm 出力は 6 kHz 過ぎから 波形の谷部分で上振れぎみ。05 については 4.4(エントリその二)参照。

(9) ビットレート比較

ところで、入力ファイルの webm から FFmpeg で取り出した(-acodec copy)opus ファイルの容量は 3,464 KB 、出力ファイル webm から同じく取り出した opus は  2,760 KB 。二割くらいダイエットしてます。そんなんで出力ファイルは平均 160 kbps( (2) 参照)出ていない(?)ようである。図13 は MPC-HC での再生画面、上:入力ファイル opus(平均 156 kbps)、中:出力ファイル opus(平均 124 kbps)*5FFmpeg でも前者は "bitrate: 157 kb/s" 、後者は "bitrate: 125 kb/s" と出た。下:出力ファイル m4a は平均 128 kbps、MPC-HC 再生中の「(現在) 」もほぼ 128 kbps で動かず固定(すなわち CBR)。以上 表2 参照。

図13 、入/出力ファイル・ビットレート比較(サンプル No. 06)図13 、入/出力ファイル・ビットレート比較(サンプル No. 06)図13 、入/出力ファイル・ビットレート比較(サンプル No. 06)
図13 、入/出力ファイル・ビットレート比較(サンプル No. 06)

ファイル ビットレート [kbps] 容量
[KB]
備考
MPC-HC
(平均)
FFmpeg
入力 opus 156 157 3,464 入力 webm(映像あり)から
FFmpegdemux 
出力 opus 124 125 2,760 出力 webm(映像なし)から
FFmpegdemux 
出力 m4a 128 129 2.845 (映像なし)

表2 、入/出力ファイル・ビットレート比較(サンプル No. 06)

聴感上の違いは…当方の環境・耳では聴き取れない——付け加えれば、元の FLAC とでさえ…というのは秘密だ(笑)。

(10) アップロード結果

前述 図13 の MPC-HC に表示されているファイル名に ID が含まれているが、サンプル 06 のアップロード結果は下記(真っ暗である)。上述のように webm(251)は使用されず m4a(240)再生になる。 "content loudness" の値は −4.1 dB 。


動画1 、アップロード結果(サンプル No. 06)

(11) 差分ファイル

上述 (7) による「差分」ではあるが、おもわぬ検証(?)ができたのでご紹介。差分ファイルそれぞれを FLAC で出力し、後述 (12) のような状況なので mkv に格納して YouTube にアップ。ついでに上の反省を踏まえ(?)Audacity の再生映像も付けてみた(動画2 および 動画3)。展開部トゥッティは52秒あたりから(音量注意)。m4a (動画3)の方はかなり楽器らしい音になって(しまって)おり、最初のクラリネット・ソロも聴きとれる。「詳細統計情報」"content loudness" はそれぞれ −22.4 dB 、−21.0 dB 。


動画2 、入/出力(webm)ファイル差分(サンプル No. 06)


動画3 、入/出力(m4a)ファイル差分(サンプル No. 06)

今回アップしたサンプル No. 01 から 08 の動画はすべて "Naxos:unknown artist" の音源として "AdShare MG for a Third Party(Naxos の代理)" が収益化しているのだが( "unknown" ねぇ。Naxos は手広くやってるようですが *6 )、動画2 では権利を主張していない。さすがにこうなると Content ID さまも検出出来ないようだ。が、動画3 では、No. 01 から 08 同様「コンテンツ内の対象範囲 0:00 – 3:00」でしっかり(?)検出した。ちなみに周波数特性値の入力ファイルとの相関係数は前者 0.804 、後者 0.925 。

(12) 音声ファイル

ここまでの音声ファイルは Google ドライブにアップしたので、<audio> タグの共有先アドレス open → uc 変更で貼ってみた——のだが再生出来ない(そもそも webm は?ですが)。なお、当方ブラウザは普段 Chrome を使用しており、以前別にアップしてあった mp3 も再生できなくなっている(設定なにか弄ったかしらん Microsoft Edge からであれば上記 mp3 は再生可能、今回の分は、すべて「この種類のオーディオ ファイルはサポートしません」)。よくわからんですが取り敢えずそのままにしておく。

  • 変換元ファイル flac(16 bit / 44.1 kHz)

  • 入力ファイル切り出し opus(アップロード動画ファイルは webm に mux)

  • 出力ファイル webm(音声コーデック opus)

  • 出力ファイル m4a(音声コーデック mp4a)

  • 出力 webm 入出力差分ファイル flac(24 bit / 48 kHz)

  • 出力 m4a 入出力差分ファイル flac(24 bit / 48 kHz)

(つづく)


*1:

*2:改めて眺めてみると YouTube 側での AAC-LC エンコードは CBR ということで、ここで表記のビットレートは CBR ??、などともおもったがよくわからない。

*3:

*4:ビット深度は「24 ビット推奨、16 ビット使用可」、サンプリング周波数の方は「44.1 kHz 推奨」、それ以上も使用可だが必須ではない、としている。

*5:念のためそれぞれ webm でも確認したが同じ。

*6:と疑いの目を向けてしまったが、動画1 を YouTube 上で再生するとかくにんできるとおり「この動画の音楽」にはフィルアップのチャイコフスキー "Dumka" も表示しており、正当な主張のようである。

ジョアン・ジルベルト

「ヴォーカルはギターに楔のように打ち込まれなければならない」*1

ジョアンの来日公演は三回とも一度ずつ観ている。大きな会場、ステージにジョアンがひとり、ぽつねんと椅子に座る。あの「声とギター」、いま思うに何かまぼろしのような。

平日仕事で開演に三十分ぐらいだったか間に合わないときがあったのだが、会場に着くと(東京フォーラム)やはりまだ開演していない。やがて場内アナウンス、「オーティストは、ただいまホテルを出たところで…会場に向かっています…」(云々)——宿は会場から近いことも想像できたが——場内ブーイングどころか爆笑となった。

途中、当方も寝てしまったのかとおもったものだがそうではなかったらしい。上掲は名盤モントルーの映像。(とうぜんジョアンはモントルーと比べていたわけでは無いだろうが)たしかに会場の雰囲気はえらく違っていた。アンコールに入って鳴りやまぬ拍手にギターを抱え俯むいて微動だにしない。やがてスタッフがステージに現れ肩を叩くと顔をあげ頷くが、鳴りやまぬ拍手にふたたび俯むき拍手に聴き入るジョアン。伝説の(?)フリーズ事件にも居合わせたのでありました。

ありがとうジョアン、R.I.P.


*1:だったかな、出典も忘れてしまい…(とほほ)。

「ラウドネス等化」って…Windows 10 のサウンド設定

当方の PC 、酷い音で再生していたことが判明、原因は再生機器の「拡張」設定の「ラウドネス等化」であります。これは一大事とググってみると、けっこうあちこちで指摘されていた… orz が、とにかく劇的に改善したので、こちらでもご紹介。

Windows 10 にバージョンアップしてこうなったのか、それ以前からそのような設定(があり、かつ ON )になっていたのかは不明。この設定外すと D/R が広がって小音量の部分が聴き取り辛くなるので、デフォルトでは ON ということなんでしょう *1 。これまでのもやもや、ぼわぼわがすっきり、くっきり。

「等価」ならぬ「等化」って聞きなれない言葉ですが(日本語変換出てこない)、下記掲載の設定画面の「説明:」には、「[…]認知される音量の差を補正します」とある。一般的にオーディオの世界で「ラウドネス」というと「認知され」にくい高域・低域の音量を上げるので、それによる「等化」ということ?とおもったのだが、「ラウドネス」に加えてコンプレッサーも掛かっており、「ラウドネス」プラス「等化」ということのようにも(?)おもえる。


タスクバーのスピーカーアイコンを右クリック →「サウンド」選択 *2

→「再生」タブ選択 →「スピーカー」選択し「プロパティ」ボタン押し下げ

→「拡張」タブ選択

speaker property1

一見サウンド効果は設定されていないように見えたりする。選択エリアのスクロールバーを下げると…「ラウドネス等化」が選択されている。

speaker property2

チェックを外す。

皆さん「すべてのサウンド効果をオフにする」にチェックを入れることを推奨しているようなので、一応そちらもチェック。

→ 選択エリアがグレーアウトされるとともに「直接モード」のチェックもグレーアウトされる。

「すべてのサウンド効果をオフにする」をチェックするとサウンド効果すべてのチェックが外れるというような入力補助的な動作にはなっていない(サウンド効果をチェックしたままにしておいても OK なのだろう)。

speaker property3

「OK」ボタンを押す。ヘッドフォンの設定にも入っていたので、そちらも変更する。


ライン入力で昔のカセットテープ録音を Audacity で取り込んだりしておるんですが、先日久々に作業を行なったところ当方の PC(ライン入力ではなく)マイク入力端子が二か所あることに気づいた。へー、ミキシングもできるってことね、というところで入力設定どうなってんだろうとサウンド周りを弄っていて発見した。

間抜けなことにライン入力の設定もおそらくデフォルトのままで、Audacity の設定に合わせて変えた方がよさそうなことにここで気付いた…*3

もともとカセット録音とはいえ、PC で聴くとなんか冴えねぇなぁとは感じており、PC 内蔵のサウンドカード(や現状の PC 外付けスピーカー)じゃしょうがないのかぐらいにぼんやり考えておりましたが、けっこうな伸びしろありました。すまん、サウンドカード。

そいや「サウンド」のスピーカー(など)の設定にはサンプリングレート、ビット深度の設定もありますが(「詳細」タブ)、再生時この設定を一時的にソースに合わせてより適切な値に自動変更してくれるしくみとかってないんですかね。排他設定で動けば再生ソフト側で実装できるようですが( DSD ファイルなどにも対応してるハイレゾ向けのソフトでは実装されてる?)。一般には WASAPI 排他モードの対応すらじゅうぶん行なわれていないということらしく、当方などの環境含め通常の使用ではオーバースペックということなんでしょうね。


*1:音が出ないトラブルの際にこの設定を ON にすることを推奨する記事も見掛けた(ような気がする…)のだが、この設定程度で音が出るようになったりするものなのだろうか??。

*2:[追記]その後 Windows 10 バージョン 1903 に更新したところ、「サウンドの設定を開く」→(右側「関連項目」の)「サウンド コントロール パネル」選択に変わった模様。また、同じくタスクバーのスピーカーアイコン右クリックからの「サウンドの問題のトラブルシューティング」を実施すると、「オーディオ拡張機能をオフにすると音質が向上する可能性があります。オフにするには、[すべて無効] チェック ボックスを使用するか、個別オフにして、[適用] をクリックします。拡張機能タブが表示されない場合、お使いのデバイスには拡張機能がありません。」との表示が出る(ようになった(?))。

*3:サンプリングレート、ビット深度の設定。ビット深度は Audacity が「強く推奨する」32 ビット浮動小数点ということで合わせきれないものの、レートのほうは合うように上げてみた——こちらの設定変更による差は、当方の環境、耳では聴き取れませんですが。

拡声器が似合うオンナ

Gunjyobiyori

FIFA 女子ワールドカップ開幕であります。Suchmos のことはなにも知らんのですが(汗)、その前に担当した椎名林檎さんは好きである。このライブ映像もさいきん知ったという次第でファンなどというのもおこがましいものの、今となっては数少ない気になるアーティストのひとりであります。ロック系の音楽聴くのもすっかり少なくなって久しい当方ですがロック魂(?)呼び覚まされました。久々にレッチリの CD でも爆音で鳴らしてみるか(古)。

2017年リリースの『椎名林檎と彼奴等がゆく 百鬼夜行2015』から(だよね)。すばらしい。ステージのスクリーン映写や照明、その映像化も秀逸(監督:ウスイヒロシ)。こちらもすぐ消されちゃうかもですがこの際ということで。

ギターに持ち換え「NIPPON」に雪崩れ込む。ギターソロに突入すると、バックの真っ暗なスクリーンに折り畳まれていたように現れた二つの青い映像がつながってやがて青空になり、たなびく日の丸がせり上がってくるのも最高。わはは。

NIPPON

公式 PV 版の方観たときはそんなでもなかったのだが、やっぱこのはちゃめちゃ感——はちゃめちゃではない——サイコーということでこちらの方も追加 with エレカシ宮本氏(スゴイね)「獣ゆく細道」。今年リリースの2018年ライヴ『椎名林檎 (生)林檎博’18 ―不惑の余裕―』から。

そいえば先日『めざましテレビ』で軽部アナがインタビューしていた。影響を受けた音楽についての質問に答えてマーラーもあげると軽部アナ食いつき、中学時代マーラーに嵌まってたんですよと熱く語り出して椎名さんにやや引かれていた(笑)。「群青日和」はやっぱ東京事変の PV も貼っちゃいましょう。♪しんじゅくは豪雨~、十五年前ですわ。