LoginSignup
0
0

More than 1 year has passed since last update.

Griffin-Limアルゴリズムの適切な反復回数はどのくらいだろう?

Last updated at Posted at 2022-02-02

はじめに

前の記事でGriffin-Limアルゴリズムを紹介しました。
その中でGriffin-Limアルゴリズムは十分な反復回数を行うことで品質の良い結果が得られますと述べました。
しかし、実装ではtorchaudio.transforms.GriffinLimのデフォルトの反復回数である32回とその十倍の320回を試しましたがデフォルトの反復回数と十倍の反復回数で品質が良くなったのかイマイチわかりませんでした。
そこで本当に品質が良くなっているのかMOSの自動算出プログラムであるViSQOLをつかってスコア形式で見ていきたいと思います。

ViSQOLについての記事はこちら

品質確認方法

以下の反復回数で試行します。

8回
16回
32回
100回
320回
500回
1000回
3200回

位相をランダムで初期化しているため反復回数ごとに3回動かしてみます。
入力データはM-AILABSの適当なデータです。
入力データのサンプリングレートは16hzでViSQOLのモードはスピーチモードを使用しました。

結果

反復回数 一回目のMOS 二回目のMOS 3回目のMOS MOSの平均
8 3.26646 3.27334 3.24124 3.26034666667
16 3.34565 3.24788 3.38707 3.32686666667
32 3.38952 3.39979 3.42066 3.40332333333
100 3.44303 3.45231 3.49419 3.46317666667
320 3.37232 3.54869 3.51795 3.47965333333
500 3.47666 3.53706 3.52448 3.51273333333
1000 3.50292 3.46924 3.55915 3.51043666667
3200 3.42859 3.52846 3.56928 3.50877666667

波形を見てみよう

元の波形
base.png
反復回数が8回の波形
8.png
反復回数が32回の波形
32.png
反復回数が3200回の波形
3200.png

波形だとやっぱり違いがよくわからない・・・

感想

繰り返しの数を増やしているだけあって3200回のときは時間が体感で10秒以上かかりました。
さて、Griffin-Limアルゴリズムの反復回数による精度比較ですが、MOSスコアの平均を見てみると500回以降はMOSが下がっています。
MOSの平均ではなく単体で見ると反復回数が8回から500回にかけては確かにスコアが伸びていると感じましたが、それ以上はスコアの伸びを感じませんでした。
「回数をすごく増やせばいい音質のものが手に入るのだから反復回数を増やせば増やすほどいいんじゃないか?」と考えていました。
しかし、反復回数にかかる時間を考慮すると、増やした時間に見合う精度のものが出力されるかというと違うことが分かりました。今回の結果からは、反復回数が500回くらいが時間と精度で見ると一番いい反復回数なのではないでしょうか?

おわりに

Griffin-Limアルゴリズムについて反復回数によるMOSの違いが体感できました。
初心者であるため間違いが多少あるかもしれません。もし、間違えているところがありましたらこっそり教えてください。
この記事が誰かのお役に立てれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0