本リポジトリは、v0.10.0にて開発を一時凍結します。(管理者不在のため)プルリクエストやISSUEを頂いても対応できません。
- 今後は関連ライブラリのバージョンアップにより不具合がおきた場合に更新するかもしれません。
- 管理していただける人がいたら是非お願いします。
動画: https://www.youtube.com/watch?v=C1Hj9kfY5qc
- 😐 アバターの顔を表示します。
- 😄 表情を変えられます(喜び, 怒り, 悲しみ など)。
- 😺 アバターの顔を独自にカスタマイズできます。
- 💋 リップシンク(音声に合わせて口を動かす)できます。
- 🎨 色を変更できます。
- 🔃 顔を移動、拡大、回転できます。
- 2️⃣ M5Stack Core2に対応。
- Getting Started: Installing the USB Driverにしたがって、USBドライバがインストールされている
- 何らかの開発環境がセットアップされている
- このライブラリはArduino IDE, Platform IOで動作確認しています。
- Arduino IDEのメニューから"Sketch > Include Library > Manage Libraries..."を選択します
- 検索窓("Filter your search...")に"m5stack avatar" と入力します
- 検索結果から"M5Stack_Avatar"を選択し、"Install"ボタンをクリックします。
- M5Stack-Avatarライブラリがインストールされ、使用可能になります。
- cliからPlatform IOプロジェクトを初期化します。
mkdir my-avatar
cd my-avatar
platformio init -d . -b m5stack-core-esp32
- cliからライブラリをインストールします。
platformio lib install M5Unified
platformio lib install M5Stack-Avatar
- ライブラリがプロジェクトの.piolibdeps配下にダウンロードされ、使用可能になります。
#include <M5Unified.h>
#include <Avatar.h>
using namespace m5avatar;
Avatar avatar;
void setup()
{
M5.begin();
avatar.init(); // 描画を開始します。
}
void loop()
{
// アバターの描画は別のスレッドで行われるので、
// loopループの中で毎回描画をする必要はありません。
}
-
AquesTalk-ESP32 をセットアップします(http://blog-yama.a-quest.com/?eid=970195)
- (漢字かな混じり文から音声出力する場合)辞書データをあらかじめmicroSDカードにコピーしてください
- 記事中にあるAquesTalkTTSのソースは本ライブラリに同梱されているため不要です
-
下記コード例のように記述すると、出力に合わせてアバターの口が動きます
#include <AquesTalkTTS.h>
#include <M5Unified.h>
#include <Avatar.h>
#include <tasks/LipSync.h>
using namespace m5avatar;
// AquesTalk のライセンスキー
// NULLや誤った値を指定すると単に無視されます
const char* AQUESTALK_KEY = "XXXX-XXXX-XXXX-XXXX";
Avatar avatar;
void setup() {
int iret;
M5.begin();
// 漢字かな混じり文から音声出力する場合(辞書ファイルが必要)
// iret = TTS.createK(AQUESTALK_KEY);
iret = TTS.create(AQUESTALK_KEY);
avatar.init();
avatar.addTask(lipSync, "lipSync");
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) {
// 漢字かな混じり文から音声出力する場合
// TTS.play("こんにちは。", 80);
TTS.play("konnichiwa", 80);
}
}
examples
ディレクトリを参照ください。
M5Stack-Avatar
は現在、M5Stackシリーズの機能を統合したライブラリである M5Unified
に依存しています。
バージョン0.8.0以降では、アバターを使ったスケッチはM5Stack.h
やM5Core2.h
ではなくM5Unified.h
をインクルードするようにしてください。
アプリケーションによりaddTask()で追加したタスクのスタックサイズが足りなくなりリブートする場合があります。その場合は、該当タスクのスタックサイズを増やしてください。