Scyclone Voice Changer

arxiv.org

読んだんだけど、わからない点が数点あった

わからない点

mel2melのモデル構造はともかく、
WaveRNN-based vocoderの方で数点

Split

fig中の前サンプルを連結したあとのスプリットの意味がわからない

GRU手前までの構造はこの論文でのオリジナル構造だとして、
実際のWaveRNNはGRU以降、SplitはGRUのあとにくるはず

これはWaveRNNをみてもそんな感じがして、
リカレントユニットの前にスプリットは行っていない

Fig中の表記

書き方の問題なんだけど、
"u1024"ってなんのこと言ってんのかわかんねえ
この書き方やめてほしいんだけど?

FCのu1024はc1024だとして、
shape(128,64)ってのもなかなか紛らわしい

で、Concatでshape(128,65)になってるこれがマジでよくわからん
WaveRNNを参考にしてこの論文の通りにするなら、
前サンプル64点をそのままshape(128,64)に連結するわけだけど、

これって64Vecの概念はどこへいった?
次元表現の中にサンプルの値をそのまま組み込んでいいのか?
サンプルの値じゃなくて、FC通して得られたt-1のshape(128,64)を組み込んで
shape(256,64)にするならなんとなく理解できるんだけど

サンプルの値をそのまま組み込むにしても、
WaveRNNを参考にするならそのあとに一度全結合を行う

問題はさらにあと、
shape128*(65,)の表記も意味がわからないが、
そのあとのGRU u1024ってどういうことだ?
まず数字が合わないんだけど

shape128*8づつに区切ってGRUに投入するってことか?
いや、65Vecは切り崩しちゃいけないからやるなら128のほうか
それでも計算がおかしい

追記:
隠れ層がってことか
なるほど

おわり

まだちょっとわかっていないとこもあるけど、
とりあえずこんなところで

正直WaveRNNのとこの説明が不足しすぎていると思う
もうちょっと掘り下げて書いてほしかった
GitHubにコードがでてこないのはそういうことなんじゃないのか?
理解できないものを書いているからコードにしようがないっていう

追記

1日で学習プログラムまで実装できた

これバッチ160ってマジか
1660でいけるのか?って思ってやってみたら意外といけた
WaveRNNの学習って比較的軽いんだな

あとは合成できるかだ