以前、Teachble Machine で画像データを学習させて micro:bit の連携をさせたのですが、今回は音声データの学習をやってみました。
以前の記事
基本的な流れは前と同じなので、音声学習の部分のみ詳しくやり方を残していきます。
Teachable Machine のサイトはこちら。
音声プロジェクトを選択します
まずは「バックグラウンドノイズ」を学習させます。
「マイク」のアイコンをクリックします。
マイクの使用許可のポップアップが出てきますので、「許可する」を選択します。
バックグラウンドノイズを20秒間録音します。
ここのコツとしては、静かにするよりは少し物音を立てるなどしても良いです。
認識させたい音声【以外】の音をガサガサと立てても良いと思います。
「家(静かなところ)では動いたけど外(うるさいところ)だと動かない」といった場合は、バックグラウンドノイズをうまく学習させると改善されるかもしれません。
録音が終わったら、「サンプル抽出」のボタンを押します。
右側に、1秒毎に区切られたサンプルが作成されます。
バックグラウンドノイズの学習に必要なデータ数は20以上なので、これで準備はOKです。
もっと追加したければしても良いです。
次は、学習させたい音声の録音をしていきます。
今回は2秒間になっている点に注意。
録画する秒数を変更したい場合は、歯車のアイコンを押すことで変更できます。
こんな感じで、変更可能です。
「サンプルを抽出」を押すことで、右側に1秒区切りのデータが移動します。
学習させるために必要なデータ数は8個以上なので、これを何度か繰り返します。
私は「みぎ」という単語を学習させました。
ここのコツとしては、1秒ごとの区切りを跨いで音声を録音しないことです。
例えば、下記のような録音の仕方は悪い例です。
【悪い例】
「みぎ」という音声が、1秒ごとの区切りをまたいで「み」と「ぎ」に分かれてしまっている。
良い例は、下記のような状態です。
【良い例】
1秒の枠内に「みぎ」という音声が収まっている。
0~1秒の間は録音されていないが、後で削除すれば良いので問題無い。
1~2秒の間の音声のみデータとして使用する。
データの削除の仕方は、下記の通りです。
削除したいデータにカーソルを合わせると、ゴミ箱のアイコンが出るので削除できる。
再生アイコンを押すと、データの内容を確認できる。
学習させる音声を追加したい場合は、一番下にある「クラスを追加」を押します。
必要な数だけ学習データを溜めたら、次に進みます。
今回は下記の2種類の音声データを学習させました。
Case2:「みぎ」
Case3:「ひだり」
Case2やCase3は名称が変えられますので、分かりやすい名前に変更しても良いと思います。
データに問題が無ければ「トレーニング」項目の「モデルをトレーニングする」を押します。
しばらく待って、トレーニングが完了するとプレビュー画面が出てきます。
ここで音声が認識されるか確認します。
思ったように反応しない場合は、学習データの変更をすると良いでしょう。
動作確認している様子はこちら。
必要最低限の学習データでしたが、それなりに反応してくれました。
これでOKなら、次に進みます。
プレビューでしっかりと動作確認をしたら、「モデルをエクスポートする」を押します。
「モデルをアップロード」を押します。
押してから、少し待ちます。
URLが発行されるので、これをコピーします。
これを使って、学習させたデータに合わせた動作をプログラムしていきます。
今回もTM2Scratchを使いました。
設定や使い方など詳しくは以前の記事を参考にしてください。
TM2Scratch
(参考)以前の記事
まずはこの形を作って、URLを貼り付けます。
マイクの許可を求められるので、許可します。
そうすると、学習したデータが使えるようになります。
試しに、こんな感じのブロックを組みます。
動作確認の様子はこちら。
プレビューでしっかりと動作していれば、そこそこ動いてくれると思います。
micro:bitが上手く繋がらない場合は、Scratch Linkの最新バージョンをインストールし直してみると良いかもしれません。
Teachable Machine、久々に触りましたが、やっぱり凄いですね!
ポーズプロジェクトも、近いうちに試してみようと思います。
これを機に、機械学習をもう少し勉強しようと思いました。