Skip to content

Latest commit

 

History

History
136 lines (98 loc) · 4.69 KB

README_ja.md

File metadata and controls

136 lines (98 loc) · 4.69 KB

お知らせ

本リポジトリは、v0.10.0にて開発を一時凍結します。(管理者不在のため)プルリクエストやISSUEを頂いても対応できません。

  • 今後は関連ライブラリのバージョンアップにより不具合がおきた場合に更新するかもしれません。
  • 管理していただける人がいたら是非お願いします。

M5Stack-Avatar

Powered By PlatformIO Build Status

M5Stack-Avatar

動画: https://www.youtube.com/watch?v=C1Hj9kfY5qc

ENGLISH

機能

  • 😐 アバターの顔を表示します。
  • 😄 表情を変えられます(喜び, 怒り, 悲しみ など)。
  • 😺 アバターの顔を独自にカスタマイズできます。
  • 💋 リップシンク(音声に合わせて口を動かす)できます。
  • 🎨 色を変更できます。
  • 🔃 顔を移動、拡大、回転できます。
  • 2️⃣ M5Stack Core2に対応。

インストール

前提

  • Getting Started: Installing the USB Driverにしたがって、USBドライバがインストールされている
  • 何らかの開発環境がセットアップされている
    • このライブラリはArduino IDE, Platform IOで動作確認しています。

Arduino IDEを使う場合

  • Arduino IDEのメニューから"Sketch > Include Library > Manage Libraries..."を選択します
  • 検索窓("Filter your search...")に"m5stack avatar" と入力します
  • 検索結果から"M5Stack_Avatar"を選択し、"Install"ボタンをクリックします。
  • M5Stack-Avatarライブラリがインストールされ、使用可能になります。

Platform IOを使う場合

  • 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 ディレクトリを参照ください。

0.7.x から 0.8.x への移行

M5Stack-Avatar は現在、M5Stackシリーズの機能を統合したライブラリである M5Unified に依存しています。 バージョン0.8.0以降では、アバターを使ったスケッチはM5Stack.hM5Core2.hではなくM5Unified.hをインクルードするようにしてください。

v0.10.0 の注意事項

アプリケーションによりaddTask()で追加したタスクのスタックサイズが足りなくなりリブートする場合があります。その場合は、該当タスクのスタックサイズを増やしてください。