
マイクロビットv2.2でリップシンクしてみました
マイクやスピーカーなど機能が追加されたマイクロビットv2.2をゲットしたので、リップシンクさせてみようと思います。リップシンクとはいわゆる口パクという意味です。音声に合わせて顔や口の動きを表現します。
今回はエルモにハロウィンソングを歌ってもらいました。ちょっとカタカタしてぎこちないですが、ちゃんとセリフを拾って動いています。
仕組みとしては、機体周辺の音を計測してその音量に合わせてサーボモーターの角度を変えています。さらにマイクロビットの5x5マスLEDをサウンドメーターとして表示させてみました。

プログラミングはmakecodeで行いました。音の計測は「入力」カテゴリから「まわりの音の大きさ」ブロックを使用しています。「数値をマップする」ブロックで、音の数値とサーボモーターの角度を連動させています。音量のLED表示は「棒グラフを表示する」ブロックにて動作しています。
プログラムデータはこちらのリンク↓をクリックしてご確認ください。
大雑把な作りでお恥ずかしいですが、サーボモーターの上にエルモの頭をどんと乗せて動かしています。口をパクパク動かした方がもっとリアルに見えるかもしれませんね。

【参考リンク】
Making lip synching robots using the microphone of the #microbit V2 and a geek servo is awesome🥳
— Martine Segers / PinkyPepper (@PinkyPepper_) February 25, 2023
This one is built by Hugo, who made lots of cool builds during my Creative with code and Lego workshops for kids.
Sound on please 🔊🔉🔊 pic.twitter.com/M7NFamvf1d
【エルモの動画リンク】
【注意点】
・音量の計測はマイクが搭載されているマイクロビットv2.2にて使用可能です。v1.5ではできません。
・今回の環境下では、マイクロビットを寝かせて置くと静かな時もなぜかモーターが反応して動いてしまいます。立てて置くとちゃんと止まっていました。
・上記のグレーのサーボモーターは入手困難になっています。ほかのモーターでも大丈夫です。その場合は数値を調整してみてください。
・マイクロビット用のモジュールはこちらをご覧ください。
よかったらお好きなキャラクターで試してみてくださいね。
最後まで読んでいただきありがとうございました。
Happy Halloween!!