日本語を話すのに便利な電子部品AquesTalk Pico LSIですが、自然な発音で出力するには、音声記号列を調整する必要がありました。また、インターネットなどから取得した文章を話すにはローマ字ベースの音声記号列への変換が必要です。
本稿では、音声記号列への変換に、㈱アクエストの AquesTalkPi に含まれる言語処理エンジン AqKanji2Koe を使用してカタカナの音声記号列を生成し、カタカナ→ローマ字変換を行ってから、AquesTalk Pico LSIに転送するプログラムを紹介します。
目次
特長
- 漢字交じりの日本語を AquesTalk Pico LSI 用の音声記号列に変換します
- Raspberry Pi のUSBに接続したUSBシリアル変換アダプタ経由で転送します
- Wi-Fi接続によるHTTP通信で転送することも出来ます
必要な機器(最小限)
- Raspberry Pi
- USBシリアル変換アダプタ
- AquesTalk Pico LSI および周辺回路(電源,スピーカ,音声アンプなど)
インストール方法
㈱アクエストの AquesTalkPiと、筆者が作成したI/F部のプログラムaquestalk2pico.pyを使用します。詳細は、下記のGitHubページを参照ください。
aquestalkpi2pico | AquesTalkPiの言語処理エンジンAqKanji2Koeを使ってAquesTalk Pico LSIを動かす (bokunimo.com)
https://git.bokunimo.com/aquestalkpi2pico/
実行結果の一例
Raspberry Pi上のLXTerminalからプログラムaquestalk2pico.pyに、話したい文を付与して実行します。下記は、音声「日本語を入力すると話します」を出力するときの実行例です。
pi@raspberrypi:~/aquestalkpi2pico $ ./aquestalk2pico.py 日本語を入力すると話します ⏎ Usage: ./aquestalk2pico.py 日本語を入力 MAINPRO1, 開始 subprocess = aquestalkpi/AquesTalkPi 日本語を入力すると話します | /usr/bin/aplay 再生中 WAVE 'stdin' : Signed 16 bit Little Endian, レート 8000 Hz, モノラル MAINPRO1, 終了 MAINPRO2, 開始 subprocess = aquestalkpi/AquesTalkPi -t 日本語を入力すると話します|./aquestalk2pico.py SUBPROCESS Usage: ./aquestalk2pico.py 日本語を入力 SUBPRO, this subprocess is called by a script ニホンゴオ/ニューリョ_クスル'ト/ハナシマ'_ス。 nihonngoo/nyu-ryo_kusuru'to/hanasima'_su. 200 MAINPRO2, 終了
USBシリアル接続したAquesTalk Pico LSIは、もちろんのこと、ESP32やESP8266マイコンを使えば、Wi-Fi経由で転送することも可能です。
下図は、ESP32マイコンを搭載したArduino互換マイコンボードでの実験例です。
また、ESP8226マイコン(ESP-WROOM-02)であれば、下図のようにブレッドボードで手軽に製作することが出来ます。
家じゅうに設置すれば、我が家だけのIoT対応・放送システムを構築することが出来るようになります。
by bokunimo.net