Misakichi’s ログblog

好きなものを紹介したり備忘録のため

ディープラーニングで声優を当てる

声優さんの音声データがネットで公開されている

voice-statistics.github.io
日本声優統計学会より。3人×300。こういう情報がネットですぐ手に入るのは非常にありがたい。
これを用いて、音声がどの声優のものであるのか当てるディープラーニングプログラムを作ろうと思った。

作ったプログラムのソース

www.youtube.com
以前この動画のSeth Adams氏のプログラムで、音声分類をやったこともあり、
ちょっと改変してプログラムを作成した。著作権はSeth Adams氏に。
このあたりの著作権周りってどうなってるんだろう

手順

音声フォルダの作成

f:id:Misaki_yuyyuyu:20200309002008p:plain
https://voice-statistics.github.io/
先ほどの日本声優統計学会から、声優さん3人のデータをダウンロード。
tar.gz形式なのでubuntuでやるのが楽だと思います(Lhaplusってtar.gz対応してたっけ?)。
解凍したらwavfilesフォルダに入れる。フォルダ直下がwavになるように

edaファイルで無音部分をとる

cleanフォルダを作成
pythoneda.pyを実行。
gist.github.com

instruments.csvはおいておきます。
https://gist.github.com/yuyyuyu/ed4b3c181098ae7d77ba8f94ddc4dd2f

cleanフォルダのなかに処理済みの音声が入る

modelで実行

gist.github.com

→pickleファイル、最適化されたmodelファイルが出力される。
f:id:Misaki_yuyyuyu:20200309002958p:plain

predictionで予想など

gist.github.com

f:id:Misaki_yuyyuyu:20200309003140p:plain
https://gist.github.com/yuyyuyu/75d7f23535222474f93325d3ddd134ac

認識精度は95%くらい。高すぎ?(要検討)

注意点など

・pickleファイルの保存で、mfcc特徴量およびクラスを保存できるのでこの機能を使うと時短できる。
・もちろんのことだがグラボを使うとかなり早くなる cpu core i7 4770で40分くらい→GTX750で8分
・個人的なミスとしては、configファイルをインポートしているのにかかわらず再びconfigを定義してしまいattributeが存在しないというバグで小一時間悩んでしまった。
・mfccの形状には常に気を使うこと。 形があってないと学習・予想ができない。configファイルで変数を統一しとけば困ることはないと思う

次にやりたいこと

・music genre determination
http://marsyas.info/downloads/datasets.html

・data augmentation
・Freesound Audio Tagging
https://www.kaggle.com/c/freesound-audio-tagging-2019/notebooks
github.com