かやのんの誕生日を祝うために、KayanoAIを作ったよ!パート2~茅野さんの声判別~

AI
スポンサーリンク

茅野愛衣さん、33歳のお誕生日おめでとうございます!

どうも、タナシンです(・∀・)ノ

皆さん、本日は茅野愛衣さんの誕生日です!
本日を持って茅野さんは33歳になられます。

とまぁ、昨年と同じ出だしで始めてみました 笑
決して手抜きではないです!

さて、昨年は茅野さんを祝うために、茅野さんのお顔を検出するAIを開発しましたというお話をしました。
気になる方は以下を見てみてください!

というわけで、今年も茅野さんを祝うために、新しいAIの開発に挑戦しました!
今回挑戦したのは、

茅野さんの声を判別するAI

です。
一般的には話者認識と言われる分野ですね。
今回は前回のようにアプリ化してはいないのですが、音声データを与えると誰が話しているのかを判定するAIを作ってみましたので、ご紹介します。
もちろん、

茅野さんの33歳のお誕生日を祝うため

ですよ!

茅野さんボイス判別AI

利用するデータ

早速本題に入っていきます。
今回やりたいのは、音声データを与えると、その音声データ内で話している人物が茅野さんか否かを判別してくれるAIの開発です。
今回は友情出演として、安野希世乃さんの協力をいただこうと思います。
安野さんがゲストとして登場したかやのみ#80の音声データを使って、今話している人が茅野さんなのか、はたまた安野さんなのかを判定して行きたいと思います!
かやのみ#80の詳細は、以下の記事を御覧ください(サリゲナイセンデン

判定の検証には、上記のかやのみ動画を使うとして、AIを作るには学習用のデータが必要になります。
はじめは、かやのみ#79も安野さんゲスト回だったので、こちらを利用しようかと思ったのですが、同じような音声データを学習に利用したら、うまく判別できてしまうのは当たり前のような感じがします。
また、いちいち茅野さんと安野さんが話している部分だけを頑張って切り出して、学習用データに仕立て上げるのも結構な手間です。

そこで、学習用データには、茅野さんと安野さん各々が一人喋りしている音声が良いだろうと考えました。
そこで行き着いたのは、お二人のラジオ番組です。

茅野さんは今年の初め頃まで、「通常攻撃が全体攻撃で二回攻撃のお母さんは好きですか?」のラジオ番組でメインパーソナリティをされていました。

TVアニメ「通常攻撃が全体攻撃で二回攻撃のお母さんは好きですか?」公式サイト
「通常攻撃が全体攻撃で二回攻撃のお母さんは好きですか?」2019年7月より放送開始!

また、安野さんはこの7月まで「超!A&G+マンスリースペシャル 安野希世乃のきよなび」という1ヶ月限定のラジオ番組でパーソナリティをしていました。

【新番組】「超!A&G+マンスリースペシャル 安野希世乃のきよなび」毎週木曜21時30分〜22時放送!7月9日(木)「超!A&G+」で放送開始! | 超!A&G | 文化放送 JOQR
A&Gゾーン注目のパーソナリティが毎月交代でお送りする番組「超!A&G+マンスリースペシャル」7月は、安野希世乃が担当! タイトルは「超!A&G+マンスリースペシャル 安野希世

そのため、これらのラジオの音声データを学習用データとして、かやのみ動画の音声を判別できるAIを作っていきたいと思います。

と言っても、この記事はお誕生日お祝い記事なので、技術的な細かいことは書きません。
何をどうやったかだけ伝えていきますね。

データの作成

学習用データと検証用データの準備について、軽く触れていきます。

学習用データはラジオ1回分の音声データを3秒毎に区切って、複数の音声ファイルに分けます。
3秒にした理由は特にありませんが、ラジオはだいたい30分くらいなので、3秒毎に取れば600ファイル。仮に声の入っていない部分を省くことになっても500ファイルくらいにはなってくれると思ったので、ちょっと学習に使うにはちょうどよい分量だと思ったからです。
茅野さんと安野さんで500ファイルずつなら、1000ファイルくらいになりますしね。

検証用のかやのみ#80の音声データも、同様に3秒毎に区切りました。

余談ですが、動画から音声を取り出すのは無料の動画変換ソフトを利用しています。
wavファイルに変換しています。
そして、wavファイルを3秒毎に分割する部分は、自分でPythonのコードを書いて分割しています。
動画から音声へ変換するのもPythonで実装できそうですが、今回は便利なツールがそのまま使えそうだったので頼りました。

ちなみに、実際に3秒で切り出すと、以下のような音声が手に入ります。

茅野さんのラジオボイス
安野さんのラジオボイス

こんな感じの音声データを元に、茅野さんと安野さんの声をAIに覚えさせていきます!

AIの学習

というわけで、早速学習させていきます。
難しい話はしたくないので、ざっとお伝えすると、学習のためには一旦お二人の声データから特徴量というものを抽出します。
このときに、メル周波数ケプストラム係数(通称MFCC)というものを使うのですが、知らなくても良いです。
人が声を聞いたときに判別しているのと似たような特徴量を抽出できるすごいやつくらいの認識でOKです。

お二人の音声データを、このMFCCという特徴量に変換してあげます。
そしたらいよいよ学習です。

学習のときは、AIの元となる機械学習モデルというのを使います。
この、機械学習モデルに先程の特徴量を与えて学習させると、音声判別AIになってくれるわけです。
機械学習モデルにはいくつか種類があるのですが、今回は話者判別で良く利用されるサポートベクターマシン(SVM)というモデルを使っていきます。

というわけで、まとめると以下の手順でAIを学習させていきます。

AIへの学習のさせ方
  1. 学習用の音声データ(茅野さんと安野さんのラジオ音声データ)を取り込む
  2. 音声データをMFCCの特徴量に変換する
  3. 機械学習モデルSVMを用意する
  4. SVMに音声データのMFCC特徴量を与えて、学習させる

以上で、茅野さんと安野さんの音声を判別するAIができました!

話者判別

では実際に開発したAIに音声データを与えて判別できるか試してみます。
まずは茅野さんの音声データを与えてみたいと思います。
与えるのは「30.wav」というファイル名の茅野さんボイスです。

茅野さんボイス(30.wav)
茅野さんボイス判定結果

どうやらちゃんと茅野さんと判別してくれているようです。
やったね!

逆に、安野さんを判別できるか試してみたいと思います。
与えるのは「244.wav」という安野さんボイスです。

安野さんボイス(244.wav)
安野さんボイス判定結果

安野さんもちゃんと判別できましたね!
やりました!

では最後に、皆さんに質問です。
以下の音声は茅野さんと安野さんどちらが話しているでしょうか?

431.wav

わかりますか?
ファンの方なら一発でわかりますよね。
答えを言う前にAIに判定してもらいましょう。

AIの判定結果

というわけで、AIは安野さんが話していると判定しました。
気になる答えは……

安野希世乃さんでした!

というわけで、それなりにちゃんと声を分類するAIができましたね!
やってやったぜ!

まとめ

いかがだったでしょうか?

今年の茅野さん生誕祭は、茅野さんボイス判定AIを開発しました。
このAI、開発しましたと偉そうに言っていますが超簡単です。
なぜなら、ネットで無料で学べる内容だけで構成されているからです!

実は今回の内容はpaizaというプログラミング学習サイトの以下のコンテンツで学んだ内容でほぼやっています。

【CV:上坂すみれ】Python×AI機械学習入門 画像認識、概要編|paizaラーニング
PythonやJupyter Notebook、Pandas、scikit learnなどのツール/ライブラリを使いながら、画像分類を行う人工知能・機械学習が学べる入門講座。5秒で学習を始められる、Python×動画×オンライン実行環境によるAI入門者、機械学習入門者向け学習コンテンツ。

しかもこのコンテンツ、何とナレーターとして上坂すみれさんが参加しています!
そうです、かやのみにもゲストで来てくださった、あの上坂すみれさんです!
なので、今回の内容は、直近かやのみにゲストとして来てくださった安野希世乃さんと上坂すみれさんを交えてた、贅沢な茅野愛衣さん生誕祭なのです!

ちなみにこちらのpaizaのコンテンツは9/27まで無料で学習できます。
この記事で興味を持った方は、ぜひやってみてください!
Pythonの基礎がわかっていれば、すぐにできるようになりますよ。
Pythonがわからない方は、基礎講座もありますので、そちらも活用いただくのが良いかと思います。

というわけで、なんとか新しいKayanoAIネタでお祝いできました。間に合ってよかったです。

ちなみに、昨年作った茅野さん検出アプリは、実行ファイル化してみたりと、ちょっとずつ手を加えてはいます。
もうちょっと色々したいなーと思いつつ、その時間がなかなかなく……
一応、アプリが健在であることをアピールするために、最新のかやのみ映像で検出した結果画像を添付します。

茅野さん検出アプリ

開発以降、追加学習をさせたりはしていないのですが、ちゃんと茅野さんを検出してくれいていますね。
これもひとえに茅野さんの美しさが変わらないおかげです!
さすが茅野さんです!

と、いうわけで、今日の記事はこれくらいにしようと思います。
最後にもう一度言わせてください。

茅野さん、お誕生日おめでとうございます!
ずっと応援しています!

それでは、今回はこのへんで!
では、また次回(* ̄▽ ̄)ノ~~ マタネー♪


コメント

  1. […] かやのんの誕生日を祝うために、KayanoAIを作ったよ!パート2~茅野さんの声判別~茅野愛衣さん、33歳のお誕生日おめでとうございます!皆さん、本日は茅野愛衣さんの誕生日です!本 […]