仕組み
作品の動作や概要
- ハンドベル・卓上ベルの音を鳴らすと、その音色に反応して小さなロボットの「toio」が動きます
- ハンドベル・卓上ベルのどちらを鳴らしたか、卓上ベルについては普通に鳴らしたか連打して鳴らしたかによって、toio が異なる動きをします(全3種類)
- 鳴らした音を聞きわける部分には、Googleさんが提供している AI・機械学習の仕組みの「Teachable Machine」を使っています。それに関して事前に複数の種類の音を、機械学習で学習させています
- toio を動かす部分は、PC との間で無線の「Bluetooth」による通信を使っています
- 全て JavaScript で実装したプログラム(いくつかのライブラリを活用)で、それを使った処理はブラウザ上で行っています
体験してもらっている様子の一例【以下の X のポスト上半分】
様々な場所で展示をしているのですが、小さなお子さんでも体験でき、楽しんでくれます!
(一度体験した子が、他のブースなどまわって、その後にも 2度・3度と来ては繰り返し・長時間体験してくれたりしました)
昨日の北海道でのイベント「美唄デジタル見本市」に作品 2つを展示して来ました!
— you (@youtoy) April 28, 2024
という話のその2
こちらは、「音でtoioを動かす」作品をワイワイ体験してもらっている時の様子
一度体験した子達が、戻ってきて体験してくれるというシーンもあったりしました#toio #p5js #ml5js #TeachableMachine https://t.co/GuH3qIS2zV pic.twitter.com/F9u5m1hjjD
利用している技術・仕組みやライブラリ
- Teachable Machine
- AI・機械学習モデルの作成(音用のモデル)
- 上記の事前学習済みモデルを使った、鳴らされた音の識別
- ml5.js
- JavaScript による機械学習を扱いやすくしてくれるライブラリで、Teachable Machine を扱いやすくするために利用(ライブラリは TensorFlow.jsベースで実装されているもの)
- p5.toio
- PC のブラウザと toio の間での Web Bluetooth API を使った通信処理を使いやすくしてくれるライブラリ
- p5.js
- p5.toio が依存しているライブラリで、ブラウザのキャンバスを使った 2D/3D 描画に関する描画ライブラリ
利用しているデバイス・物
- toio
- 小さなロボットトイです
- LEGOパーツ
- 見た目を可愛くするため、上部に LEGO の板と目玉のパーツをつけています
- PC
- Google Chrome で JavaScript のプログラムを動かしています
- 100均の音を鳴らすアイテム
- 音色の異なる 2種類のベル(卓上ベル、ハンドベル)
実物はこんなセットです(※ ポストの上半分の部分の写真内、なおかつ電子ペーパーデバイスは除く)。
2台あるうち、電子ペーパー名札にしなかったほうの M5Paper は、#toio と #p5js ・ #ml5js ・ #TeachableMachine を組み合わせた作品の、展示説明用に使ってみた!#M5Stack #UIFlow https://t.co/sD1T35mkoT pic.twitter.com/uA3C5tM9qo
— you (@youtoy) April 27, 2024
関連する技術情報
書籍を出版したもの
●Amazon.co.jp: 「Teachable Machine」による機械学習 (I/OBOOKS) : 豊田 陽介: 本 https://www.amazon.co.jp/dp/4777522059
関連技術についての自身のアウトプット(主なもののみ抜粋)
●Teachable Machine を使った音声からの任意のキーワードの検出(ブラウザ上で機械学習) - Qiita https://qiita.com/youtoy/items/9096836e5d77274500ea
●toio を音で制御してみた(Audio用の Teachable Machine でベルやタンバリンの音を機械学習) - Qiita https://qiita.com/youtoy/items/37f70bb4ce630e6cbd92
●p5.toio を使ったシンプルな p5.js のプログラム:接続中の toio の数の表示や move()、rotate() などによる走行 - Qiita https://qiita.com/youtoy/items/f67e6a3624ec260f2022
toioたちの動きが絶妙にきれいでいいですね
ありがとうございます!
「展示イベントで長机の一部だけしか使えないとかでも大丈夫な、限られたスペースでも活用できる(そして、机からはみ出て落ちていかない)」とか、「音色ごとに異なる動きの違いが、小さい子から大人まで年齢は問わずで分かりやすくて、良い感じに見えるもの」など、そういうことを考えながら工夫して作った動きなので、動きについてのコメント、嬉しいです!