消極的自殺の記録

暁月分明 (tube_worm) が人生という消極的な自殺をしていくにあたっての記録です。

機械学習でダメ絶対音感を再現する ~機械でウマ娘声優予想はできるのか~

こんにちは、tube_worm です。

さて、唐突ですがぼくは声優の相坂優歌さんを応援しています。この相坂優歌さんが参加しているプロジェクトにウマ娘というものがあります。簡単に言うと競走馬の擬人化です。詳細は公式サイトを見てください(自分も詳細はよくわからない)。

umamusume.jp

このウマ娘なのですが、すでに18キャラクターが公開されており、それぞれのソロ曲やユニット曲なども発売されています。これはブログの本筋とは関係ないのですが、相坂優歌さん演じるナリタブライアンのソロ曲「シャドーロールの誓い」がクッソエモいのでオタクは聴け。これはマスト*1
さて、本筋に戻りますと、この18キャラ以外に追加で41キャラクターが、元ネタとなった競走馬(すなわちキャラクターの名前)のヒント・サンプルボイスともに公開されています。正解発表は7/1のイベントで行われるということです。今日ですね。はい、ぎりぎりです。

ここでオタクのみなさんは思いつくのではないでしょうか?

「サンプルボイス公開されてるなら CV 当てられるんじゃね?」
そう、ダメ絶対音感というやつです。

しかしここでぼくはこう考えてしまいました。
「普通にオタクがサンプルボイス聞いて CV 予想するだけじゃただのオタクだよな~」残念なくらい逆張りです。というかオタクじゃないので全然 CV 予想つきません。耳が腐っている。いや25番が藤田茜さんとかはさすがにわかるけど*2→外してたので耳を削ぎ落しました。

というわけで今回の趣旨です。
機械学習を用いて、未知のキャラクターボイスから声優の判別ができる判別機『声豚くん』は作製できるのか?」

流れ

  1. 既知のウマ娘18キャラと藤井ゆきよさん演じるトレーナーの駿川たずなの計19キャラクターについて、声豚くんはちゃんと正しく判定を行えるのかチェックします。
  2. うまく判別できたのなら、未知の41キャラについて声豚くんに声優予想をしてもらいます。
  3. 7/1 のイベントで正解かどうか確かめます!

結果

声豚くんはダメダメでした。
流れの一つ目、既知のキャラ判別がまずボロボロだったので追加キャラの予想は諦めました。……結果としてはうまく判別できなかったのですが、「はい、うまくいきませんでした、おわり」では身も蓋もないのでまあ今回とりあえずできたこと、結果と改善点なんかを適当に述べていきたいかと思います。

なにはともあれ結果です。

f:id:tube_worm:20170701033159p:plain

縦軸にキャラクター名、横軸に声優名をとって、それぞれのキャラクターがどれくらいの確率でどの声優に判定されたかをプロットしています。本来のCVが正確に予測できていれば左上から右下にかけて対角線上に濃いプロットとなるはずですが……う~~ん、微妙

教師データ

特徴量など詳細は以降の記事に任せますが、まずは学習用の教師データが必要です。教師データとはすなわち声豚くんに対して「この声は声優の~~の声だよ」と教えてあげるものです。声豚くんはこの教師データを元にして未知の声を分類していきます。声豚くんを一人前の声優オタクに仕上げましょう。
今回は教師データとして、声優事務所のサンプルボイスを使いました。前田玲奈さんはサンプルボイスがなかったので、前田玲奈さん演じるグラスワンダーは使用しませんでした。

今回のまとめ

今回はイントロとメインリザルトだけの紹介になりましたが、細かい仕組みやソースコード、参考文献については次回以降にまとめます。

やっぱり話者識別って難しいんですね。特に今回は18クラスの分類となるとなかなか厳しかったようです。機械がオタクに勝つのはまだ早いということでしょうか。


※追記
当ブログ記事について、はじめは「その1」としていましたが、本内容を東京大学声優同好会 会誌第一号 に寄稿させていただきました。続きなどについてはこちらを参照していただければと思います。

*1:これはブログの本筋とは関係ないです

*2:これで外してたら恥ずかしい