M5Stack CoreInk を呼び込み君にできるのでは?と、突然思い立ち、呼び込み君にしてみました。
呼び込み君とは、スーパーで見かけるロボット(?)です。
スーパーでよく聞く「ポポーポポポポ」 18年たっても愛される理由 (1/2)
https://www.itmedia.co.jp/business/articles/1807/26/news020.html
開発秘話も熱いです。
やることは、電子ペーパーへの画像表示と、TONEによる音楽再生ですね。あと、手の飾りつけもしました!
M5Stack CoreInk で「呼び込み君」! pic.twitter.com/5BRfbzGkD5
— Nochi (@shikarunochi) December 17, 2020
完成!
プログラムはこちら。
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
M5Stack CoreInk で「呼び込み君」
和音に挑戦! https://t.co/6OUqkUkPsd pic.twitter.com/jgA6M4tuht— Nochi (@shikarunochi) December 20, 2020
さすがに、音質は悪くなってしまいますが、そこそこ…いけますね!
ちなみに、5ms ごとに3音を切り替えてます。ここが長すぎても短すぎてもイマイチでした。5ms ぐらいがちょうどな感じです。
プログラムはこちら。
M5CoreInkYobukomiKun / YobikomiKun2 /
https://github.com/shikarunochi/M5CoreInkYobukomiKun/tree/main/YobikomiKun2
一番短い長さを16分音符として、最初に全部のデータを展開しています。各音ごとに1/100秒の音を出さない時間を作る方法は、和音だと難しかったので、各音の終わりに16分休符を挟む方法にしました。
楽譜は、こちらを参考にさせていただきました!
練習不足でぎこちないけど演奏見本つくりました
楽譜読めない人は鍵盤の動きで覚えてくださいwメイプル2 即興演奏 呼び込み君のテーマ https://t.co/uMHZozwJ5A @YouTubeさんから
— まちゃ@カリアンナ (@carianna0817) May 25, 2020