AviUtlで棒読みちゃんの音質が変わる話

オチは無いし疑問で終わります。

棒読みちゃんから出力された音声ファイルは音質がよろしくありません。これはサンプリングレートは8000Hzなので仕方がないでしょう。

これをプラグイン無しのAviUtlに突っ込んで44100Hzで出力するとやたら鮮明になります。不思議ですね。

これをAviUtlに頼らずやっていきたい。そこでAudacityで44100Hzで出力させます。するとこちら、

カスですね。一体何が違うのか、スペクトルを比較してみましょう。

f:id:Cra2yPierr0t:20210916153956p:plain
左-Audacity 右-AviUtl

Audacityだと4000Hz以降ぶっつり切れてますがAviUtlだと存在していますね。ローパスフィルタを使ってAviUtlの出力の4000Hz以降をカットすると、Audacityと似たような音質になります。よって4000Hz以降を如何に補間するかが重要だと推測できます。

f:id:Cra2yPierr0t:20210916155103p:plain
4000Hz以降をカットした音声のスペクトル
AviUtlの出力から4000Hz以降カットした音声

すべての音声データはffmpegに通じているので、棒読みちゃん出力をffmpegで44100Hzに変換してみましょう。

若干マシになりましたね。スペクトルを比較してみましょう。

f:id:Cra2yPierr0t:20210916160254p:plain
左-Audacity 右-ffmpeg

ffmpeg出力には4000Hz以降が僅かですが補間されています、俺には見えるんだ。 というわけで筋はいいですがffmpegでもなさそう。

AviUtlどうなってんだ、ffmpegより強力な補間技術を持っている?それともコーデック周りとかで僕が知らない常識が存在しているのか、誰か教えてくれ。