M5Stack:CoreInk で呼び込み君

M5Stack CoreInk を呼び込み君にできるのでは?と、突然思い立ち、呼び込み君にしてみました。

呼び込み君とは、スーパーで見かけるロボット(?)です。

スーパーでよく聞く「ポポーポポポポ」 18年たっても愛される理由 (1/2)
https://www.itmedia.co.jp/business/articles/1807/26/news020.html

開発秘話も熱いです。

呼び込み君 開発秘話
https://www.gunmadenki.co.jp/pickup/yobikomikun/


やることは、電子ペーパーへの画像表示と、TONEによる音楽再生ですね。あと、手の飾りつけもしました!

完成!

プログラムはこちら。

M5CoreInkYobukomiKun / YobikomiKun
https://github.com/shikarunochi/M5CoreInkYobukomiKun/tree/main/YobikomiKun

同じ音を連続で出すと、音が繋がってしまうので、各音の終わりに 1/100秒、音を出さない時間を作っています。

画像の変換は、@ksasaoさんの ImageToCoreInk を使いました。

ksasao / ImageToCoreInk
https://github.com/ksasao/ImageToCoreInk


3重和音で伴奏にもチャレンジ!といっても、プログラム計算で3音合成のような高度なことはしてなくて、すばやく3つの音を順に出力する方式ですw

さすがに、音質は悪くなってしまいますが、そこそこ…いけますね!

ちなみに、5ms ごとに3音を切り替えてます。ここが長すぎても短すぎてもイマイチでした。5ms ぐらいがちょうどな感じです。

プログラムはこちら。

M5CoreInkYobukomiKun / YobikomiKun2 /
https://github.com/shikarunochi/M5CoreInkYobukomiKun/tree/main/YobikomiKun2

一番短い長さを16分音符として、最初に全部のデータを展開しています。各音ごとに1/100秒の音を出さない時間を作る方法は、和音だと難しかったので、各音の終わりに16分休符を挟む方法にしました。


楽譜は、こちらを参考にさせていただきました!