人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

メルケプストラム次数

SPTKの使い方 (7) メルケプストラム分析合成(2013/1/19)の続き。

メルケプストラム次数を変えたときにスペクトル包絡と分析合成音がどのように変化するか実験してみました。前回書いた mcep.py というスクリプトを使います。

SPTKのmcepコマンドのメルケプストラム次数(order of mel cepstrum)のデフォルト値は25になっていました。というわけで、25、20、15、10、5、1と変えていったときどのように変化するか調べました。

スペクトル包絡の変化

左上から順にメルケプストラム次数が25、20、15、10、5、1としたときの結果です。次数が小さいほどスペクトル包絡が滑らかになり、近似精度が落ちることがわかります。

f:id:aidiary:20130126173512p:plain:w300 f:id:aidiary:20130126173645p:plain:w300
f:id:aidiary:20130126173723p:plain:w300 f:id:aidiary:20130126173734p:plain:w300
f:id:aidiary:20130126173744p:plain:w300 f:id:aidiary:20130126173755p:plain:w300

逆に100くらいに大きくしてみるとかなり過剰にフィッティングすることがわかりました。

f:id:aidiary:20130126174238p:plain:w300

分析合成音の音質の変化

次に、音源を先のスペクトル包絡のfフィルタに通したときの分析合成音を聴き比べてみます。上から順にオリジナルの音声、25、20、15、10、5、1としたときの分析合成音です。

(オリジナル)(m = 25)(m = 20)(m = 15)(m = 10)(m = 5)(m = 1)

だんだん音質が悪化していくのがわかります。m = 1でもかろうじて何ていっているのかわかりますね。ほとんどスペクトル包絡の形がなくなってしまっても聞き取れるのは驚いた。

逆にm = 100にしたときの分析合成音です。

(m = 100)

m = 25のときと比べても大して音質がよく聞こえません。