LoginSignup
21
24

More than 5 years have passed since last update.

Arduino Uno で音声合成LSIを利用する

Last updated at Posted at 2014-12-04

こんにちは.nyagato_00です.
Arduino Unoで株式会社アクストの音声合成LSI"AquesTalk"を利用する際につまずいたので備忘録も兼ね記録を残します.

今回は,"ATP3011F1-PU"を利用しました.
これはホスト(Arduino)からシリアル通信を介してデータを送信し,任意の音声をリアルタイムで発話させることができます.

回路の設計

ブレップボードとArduino Unoを使って回路を組みます.
LSIconnect.png
今回はアンプを使わずに音量調整か出来るスピーカーを利用しました.
スピーカーのイヤホンジャック端子にワニ口クリップで接続しました.

Arduinoのプログラム

こちらからArduino用のLibraryを取得してください.
Arduino>Libraryに設置してください.
以下にサンプルコードを示します.

#include <AquesTalk.h>
#include <Wire.h>  // ライブラリ内部で使用するので定義必要
#define BUTTON_PIN 2
boolean started = false;

AquesTalk atp;  //インスタンス定義 変数名は任意

void setup()
{
  Serial.begin( 9600 );
  pinMode(BUTTON_PIN, INPUT);                       // Set button
  digitalWrite(BUTTON_PIN, HIGH);
}
void loop()
{
  if (digitalRead(BUTTON_PIN) == 0) {
    started = true;
  }

  if (started) {
    atp.Synthe("yahharoo.");  //引数に指定のテキストを発声(やっはろー)
  }
}

すると,スピーカーから"やっはろー"を発話してくれると思います.
発話させたい文字列はローマ字で入力します.
流暢に発話させる方法は次の記事に記載します.

21
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
24