m5stackで顔とか表情を表示させたら面白いんじゃないかな~と思って調べたら、ちょうど面白そうなのを発見しました。それが m5stack-avatar というもので、顔の表示させて、さらに表情を変えたりできるようです。しかも音に合わせて口がうごくリップシンク機能もあるとのことで早速試してみました。
まずはmeganetaaan/m5stack-avatarのページでデータをダウンロード。サンプルプログラムのface-and-colorを起動させてみると、色んな表情があって面白そうです!

そして一番気になるのがリップシンク機能です。サンプルコードはtalkになります。説明を読んでみると、リップシンクを使うには準備が必要で、まずはm5stack-avatarのページからさらにリンク先のN.Yamazaki’s blog様のブログにある説明の通りAquesTalk ESP32をダウンロードしてライブラリにインクルードします。ですが、これをインクルードしただけではダメで、このままでやるとコンパイルエラー祭りでかなり時間をロスしてしまいましたwwちゃんと説明に書いてあるように、platform.txtの編集が必須です。以下、N.Yamazaki’s blog様の記事を参考にさせていただいて、自分用の忘備録として引用させていただきます。
まずは
”注意 Arduino core for the ESP32の Ver.1.0.4 の場合は、以下の追加設定が必要です。”
とのことで、私の環境ではこのバージョンでしたので追加設定必須でした。そして
”「C:¥Users¥%username%¥AppData¥Local¥Arduino15¥packages¥esp32¥hardware¥esp32¥1.0.4」上記フォルダにplatform.txtファイルがあるはずです。”
なのですが、とりあえずファイル検索で「arduino15」をさがせば出てきます。
次に
”ここにplatform.local.txtを次の内容で作成します。
compiler.libraries.ldflags= recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} {compiler.libraries.ldflags} -Wl,--end-group -Wl,-EL -o "{build.path}/{build.project_name}.elf"
この設定をしないと、リンク時に undefined reference to `CAqTkPicoF_Init’ といったエラーが出ます。”
とのことです。一瞬意味が分からなかったのですが、まずは「platform.txt」をメモ帳で開いて、そのまま名前をplatform.local.txtに変更して保存します。その後、”platform.local.txtを次の内容~”以下にある枠内の部分をコピー、メモ帳に戻って、貼り付けます。この時、もともとplatform.txtとして開いたときに表示されていた内容は全消去して、新たに貼り付けした部分だけをplatform.local.txtとして保存します。
あと、もう一点忘れてはいけないのが、m5stack-avatarをインクルードした時に、libフォルダー→AquesTalkTTSフォルダーの中に入っているAquesTalkTTS.hとAquesTalkTTS.cppの二つのファイルをsrcフォルダーに移動させておいて下さい。こうしとかないとまたコンパイルエラーになります。
あと、補足として、説明には辞書をSDカードに云々とありますが、サンプルプログラムのようにローマ字で入力するのであれば必要ないようです。
ちなみにここで使えるAquesTalk ESP32は
”AquesTalk-ESP32の評価版はナ行とマ行がすべてヌと発声される制限があります。ライセンスキーを購入することでこの制限が解除されます。ライセンスキーの入手は、アクエストOnline Storeで「AquesTalk ESP32 使用ライセンス」を購入します。”
とのことです。
とまぁ、なかなか使えるようになるまで時間がかかりましたが、いざしゃべらせてみると面白いもんですね~。
>工作室へ
コメント