はじめに
浅草ギ研では、1万ファイルの任意のMP3音源を再生・停止・音量調整できるMP3ボードAGB65-MP3を販売しています。このページではシリアル通信によりPCから音声再生を行うサンプルプログラムを紹介します。PC上でローマ字で入力した文字を、テキスト読み上げしてみます。
※このページで紹介する内容はあくまでも一例です。個別の作成のご相談ご質問はお答えできませんのでご了承下さい。このページと同じ内容についてのご質問についてはロボット掲示板にてお願いいたします。
※以下の情報は2008年10月現在のものです。ご注意ください。
AGB65-MP3ついてはこちらを参照願います。
ロボット神経システムについてはこちらを参照願います。
接続
ここでは実際の接続の様子を紹介します。接続についての詳細はAGB65-MP3のページに書いてあります。
購入後にしなければならないのはスピーカの接続のみです。今回、実験用にピンヘッダとコネクタで接続し、取り外しできるようにしました。ロボットに組み込む時にはスピーカーを直接ハンダ付けしてもよいと思います。ピンヘッダ・コネクタは浅草ギ研でも販売しています。コネクタは2550コネクタで2.54mmピッチです。
PCと有線で接続する場合です。右上の小さいボードがAGB65-232です。これにはPCのCOMポートに接続する為のケーブルなども入っていますので、特にハンダ付け等は必要ありません。
こちらは、浅草ギ研製Bluetooth無線AGB-BT20Eを使ってPCと無線接続しているところです。市販のロボット(京商製マノイPF)に組み込んでみました。
出力は左右LRの2つありますが、ロボット搭載時には写真のように口部と頭頂部につける、などできます。ロボットが人間よりも下の位置にいることが多いので、頭の上部にスピーカーを付けると有効です。
サンプル音源とテキスト読み上げ
AGB65-MP3には出荷時に日本語カナ音声と効果音のサンプル音源が入っています。カナ音声はマトリックス状に番号が付けられていますので、比較的簡単にテキスト読み上げのプログラムを作ることができます。
出荷時のディレクトリ02番には、下記のように音声と番号が対応しています。
01 |
a |
06 |
ka |
11 |
sa |
16 |
ta |
21 |
na |
26 |
ha |
31 |
ma |
36 |
ya |
41 |
ra |
46 |
wa |
02 |
i |
07 |
ki |
12 |
si |
17 |
ti |
22 |
ni |
27 |
hi |
32 |
mi |
37 |
- |
42 |
ri |
47 |
- |
03 |
u |
08 |
ku |
13 |
su |
18 |
tu |
23 |
nu |
28 |
fu |
33 |
mu |
38 |
yu |
43 |
ru |
48 |
- |
04 |
e |
09 |
ke |
14 |
se |
19 |
te |
24 |
ne |
29 |
he |
34 |
me |
39 |
- |
44 |
re |
49 |
- |
05 |
o |
10 |
ko |
15 |
so |
20 |
to |
25 |
no |
30 |
ho |
35 |
mo |
40 |
yo |
45 |
ro |
50 |
nn |
たとえば、「aiueo」には0〜4の値を設定し、「k」ならプラス6、「s」ならプラス11...というようにするとローマ字に対応する数値を足し算するだけで再生すべきファイル番号が得られます。
この方法でプログラムを作ってみます。
プログラム説明
プログラム環境はいつものようにVisualC#2008のExpressEditionを使っています。
プロジェクトごと圧縮したのがこちらになります。
AGB65-MP3_test.lzh (右クリックで対象を保存)
まず、数値の重み付けの部分はこのようになっています。母音と子音の位置によって判定する数値が変わります。
子音はこのような重みになっています。ここでは一番目の文字を判定しています。子音なのにaiueoがあるのは、あ行は一番目の文字しかないのでこの部分で値をセットします。母音のセット値とは1ズレますので注意してください。
母音、つまり二番目の音はこのような重みになります。nは「ん」の場合に「nn」となるので、第一文字のnとこちらのnを足して50になる数値になっています。
足し算する部分はこちらです。結果を行58以降でシリアルポートに送信しています。送信フォーマットなどはAGB65-MP3のページを参照願います。
プログラム説明
結果はこうなりました。
こんにちわとローマ字で入れて送信を押すと「コンニチワ」と発声しました。
実際に市販ロボットに組み込んで、PCからテキストを打ち込んで発声させたのが下の映像になります。画面をクリックで映像が再生されます。
wmvファイル1.1MB
2009年2月14日
|