GAMDX改造:ADPCMアップサンプリングをSpeexで

このシリーズもそろそろ終わりです。

もとのGAMDXではADPCMはもともと15625Hzなのを62500Hzにアップサンプリング(ちょうど4倍なので4回同じデータを読み出す形でアップサンプリングして、ローパスフィルターを2回通している)して、FM音源と合成して、その後ダウンサンプリングしています。ここまでのところで、ダウンサンプラーを入れ替えることで音質向上になることがわかりました。

せっかくリサンプラーをいれたので、ADPCMをアップサンプリングするところもSpeexライブラリでやってみてはどうかと考えました。

1)もとのADPCMアップサンプラー(私が改造したものを使っているのでローパスフィルターを1回しか通っていないです。したがってやや高音のノイズが多い)+Speexダウンサンプラー

defaultupsampler

2)ADPCMにSpeexアップサンプラーを使用+Speexダウンサンプラー

speexupsampler

殆ど変わりません。アップサンプリングが15625->62500とちょうど4倍なので比較的ノイズが乗りにくいようです。そこで、内部44.1KHzにしたときを比較してみましょう

3)もとのアップサンプラーで44.1KHzにアップサンプリングして、44.1KHzのFM音源と合成、そのまま出力したもの

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-19-18-14-18

4)Speexでアップサンプリングして44.1KHzのFM音源と合成、そのまま出力したもの

speex441

4)は1),2)によく似ています。ということはアップサンプリングがうまく行っているということでしょう。非整数倍にアップサンプリングするときにはちゃんとした?リサンプラーを使ったほうが良さそうです。なお、このアップサンプリングはダウンサンプリングに比べてCPU時間が半分くらいですんでいます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中