This repository is temporarily frozen at v0.10.0. (Due to the absence of the administrator) We cannot respond to pull requests or ISSUE received.
- We may update this repository in the future when we find bugs due to version upgrades of related libraries.
- If there is anyone who can maintain this repository, please let us know.
Video: https://www.youtube.com/watch?v=C1Hj9kfY5qc
- 😐 Draw avatar face
- 😄 Expression(Happy, Angry, Sad etc.)
- 😺 Customize face
- 💋 Lip sync
- 🎨 Color Palette
- 🔃 Move, Zoom and Rotation
- 2️⃣ Compatible with M5Stack Core2
- USB Driver is installed throwgh Getting Started: Installing the USB Driver
- Any of IDE is set up
- This library is confirmed on Arduino IDE and Platform IO for now
- On Arduino IDE, Select "Sketch > Include Library > Manage Libraries..."
- Search "m5stack avatar"
- Select "M5Stack_Avatar" from the results then click "Install"
- The library gets installed
- Initialize your Platform IO project
mkdir my-avatar
cd my-avatar
platformio init -d . -b m5stack-core-esp32
- Install the library and its dependency
platformio lib install M5Unified
platformio lib install M5Stack-Avatar
- The library gets downloaded from repository to .piolibdeps directory
#include <M5Unified.h>
#include <Avatar.h>
using namespace m5avatar;
Avatar avatar;
void setup()
{
M5.begin();
avatar.init(); // start drawing
}
void loop()
{
// avatar's face updates in another thread
// so no need to loop-by-loop rendering
}
-
setup AquesTalk-ESP32 (http://blog-yama.a-quest.com/?eid=970195).
- (For parsing Kainji statement) Copy the dictionary file from above link to the microSD card.
- You don't need to copy AquesTalkTTS files. They are included in this library.
-
Write below to open avatar mouth according to the audio output.
#include <AquesTalkTTS.h>
#include <M5Unified.h>
#include <Avatar.h>
#include <tasks/LipSync.h>
using namespace m5avatar;
// AquesTalk License Key
// NULL or wrong value is just ignored
const char* AQUESTALK_KEY = "XXXX-XXXX-XXXX-XXXX";
Avatar avatar;
void setup() {
int iret;
M5.begin();
// For Kanji-to-speech mode (requires dictionary file saved on microSD)
// iret = TTS.createK(AQUESTALK_KEY);
iret = TTS.create(AQUESTALK_KEY);
avatar.init();
avatar.addTask(lipSync, "lipSync");
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) {
// For Kanji-to-speech mode
// TTS.play("こんにちは。", 80);
TTS.play("konnichiwa", 80);
}
}
see examples
directory.
M5Stack-Avatar
now depends on M5Unified
, the integrated library for all devices of M5Stack series.
Since 0.8.0, Sketches with avatar should include M5Unified.h
instead of M5Stack.h
or M5Core2.h
Some applications may reboot due to insufficient stack size for other tasks. In such cases, increase the stack size of the relevant task.