Teachable Machine
*今回は音声のみ紹介します
Teachable Machineのサイト(使用にはGoogleアカウントが必要になります)
https://teachablemachine.withgoogle.com
Teachable Machineの特徴
Googleのサービスの一環なので、Googleアカウントがあれば複数人で一つのプロジェクトファイルを扱うことができる
音声の学習
音声の取り込み
- 「マイク」を選択すると「20秒間録画する」というボタンが現れる
- ボタンを押すと録音が開始される
(バックグラウンドノイズでは最大20秒、そのほかでは最大2秒録音) - 音声は1秒ずつ分割され、取り込むをクリックすると録音した全ての音がサンプルに追加される
(同じサンプルを複数追加できるが、精度がとても低くなるので注意) - サンプルは1つずつ再生と削除が可能
- 音声サンプルを最低数以上追加するとモデルの作成が可能となる
音声の形式:.webm
他のTeachable Machineプロジェクトで録音した音もgoogleドライブ経由で使用可能
また録音した音はダウンロード、googleドライブに保存が可能
バックグラウンドノイズ
何の音でも動く(20個以上)
(1つ以上のホワイトノイズを推奨)
判別させたい音
数が多いほど精度は上がる(8個以上)
周囲の音も認識されるため録音には注意が必要
絶対にしてはいけないこと
保存せずにページを再読み込みすると集めたデータが無くなるので注意
モデルトレーニング
トレーニング中はタブを変更できないので注意
トレーニング自体はボタンを押すだけで自動
エポック数について
エポック数はトレーニングするデータの学習回数を示す
モデルで正しい予測結果が得られるまでこの数値を調整する
(通常は大きくするが過学習にならないように)
モデルのアップロード
モデルをアップロードできます
発行されたリンクからWeb上で判別の様子を見ることができます。
モデルのダウンロード
モデルはダウンロードすることが可能
Tensorflow.js と Tensorflow Lite で利用できます
HTMLで動くサンプルコードで基本的にダウンロードしたjsonデータはサーバーにあげる必要がある
音声の判定
音声の判定はリアルタイムで行われる
判定はノイズとそれぞれの音声でどの可能性が高いかを合計1になるように出力される
オーバーラップ係数
オーバーラップ係数を高い値に設定するとより高い頻度で判別をしてくれる
終わりに
今回技育CAMPキャラバン vol.2 のハッカソンの開発の中で Teachable Machine を使用しました。
ハッカソンで作った成果物の詳細についてはこちらから
技育CAMPキャラバンで最優秀賞をとったアプリについて -紙を破ってPCを操作するアプリ- -@SatooRu65536(佐藤 さとる)
https://qiita.com/SatooRu65536/items/1399c899813b8507572b
音声を集めるだけで音声を判別するモデルを作れるのは便利ですね
音を収集すれば収録環境に左右されずに高い品質のモデルを作れるので色々活用しやすそうです
参考にしたサイト
Teachable Machine を使った音声からの任意のキーワードの検出(ブラウザ上で機械学習) @youtoy(Yosuke Toyota)
https://qiita.com/youtoy/items/9096836e5d77274500ea