概要
自分の声が誰に似ているか気になりますよね!
今回はWebアプリにて似ている声の人を診断してくれるアプリを作ってみました。
早速ですが、作ったサイトは↓
実際の動作
スマホ上でこんな感じで動きます。
仕組み
使ったことのあるpythonを使用しています。
webアプリを作れるライブラリのdjangoを用いています。
実装としてはそこまで珍しいことはしていないはずです。
webアプリ初心者なので、ひたすら調べながら実装しました。
実際に作成したイメージは以下の画像の通りです。
- 測定部
- getUserMedia() を使っています
- なので、httpでは通信できません
- wavファイル形式で測定するならこの方法が一番かと思います
- 通信部
- 測定データはAjaxで送信しています
- データはbase64でエンコードしています
- 解析
- 要改善部分ですが、herokuでの運用を考えると計算量を少なめにする必要があります
- 音声の話者の特徴を表すmfccを特徴量として抽出しています
- ローカル環境で、SVMを用いた分類器を作成しています
- 測定結果の入力に対して、分類結果を返します
感想
動くところまで作れて良かったです。
本当は深層学習ベースの話者特徴量(speaker embedding)を使いたかった(ローカル環境では作りました)のですが、計算量が多いってherokuに怒られたので諦めました。
とはいっても、自分で試した限り精度は良くないのでもう少しいい方法があったら実装していきたいです。
もし使ってくれるようならデータも増やしていくつもりです。
コメント