N.Yamazaki's blog

主に音声合成について思ったことを書いてみようと思います。
<< Arduinoで音声出力をはじめよう!「入門編」 | main | [Arduino] AquesTalk ライブラリ >>
隠しコマンドでATP3011R4のチューニング
ロボット声の音声合成LSI ATP3011R4-PUをお持ちの方へのオマケ!

ATP3011R4は声の高さとアクセントを調整する機能が隠されています。

■背景
この声種は各種ロボットへの応用をイメージして作ったのですが、ロボットといっても人型のものや手のひらサイズまで色々なサイズがあって、サイズが大きくなると声も低くなるというイメージがありますよね。ということで、声の高さ(ピッチ)を変更する機能がこっそり用意されています。

本機能とともに、「隠しコマンドで声質をチューニングする」で声質も含めて調整することにより、バラエティ豊かなオリジナルの声質が得られることでしょう。


■注意
本記事の内容は、(株)アクエスト公式のものではありません。
記事内容の実施に伴う影響等は、すべて自己責任でお願いいたします。

■対象製品
    ATP3011R4-PU

■とりあえず設定を変えてみよう
ターミナル等で以下のようにATP3011R4対してコマンドを送ります。
すると、デフォルトに比べて高い声で合成するようになります。
リセットは不要で、コマンド設定後の発声から反映されます。

set pitch accent

なお、元に戻すには、次のコマンドを送ります。
#W03DFF
#W03CFF

■実際はEEPROMに値を設定している
実際のところ、内部EEPROMのアドレス0x03Cと0x03Dの値がアクセントの強さと声の高さを示しています。

アドレス:0x03C 値の範囲:0x00-0xFF
 アクセントの強さ(値が大きいほど声の高さの高低が大きい)

アドレス:0x03D 値の範囲:0x00-0xFF
  声の高さ(値が大きいほど声が低い)

0x03Dを0xFFにすると、アクセントの強さ、声の高さの両方ともデフォルト設定になります。
アクセントの強さの指定は連続的でなく段階的に変化するので、値を少し変えただけでは変化が現れない場合があります。また、アクセントの強さを小さくすると、ロボット的な単調なアクセントになりますが、「端」「橋」など単語の区別がつかなくなることにも注意が必要です。

■サンプル設定値
最初の例に示した値だけでなく、値をいろいろ変えて所望の合成音声を作ってみてくださいね。
とりあえずのために、以下のような設定値を示しておきます。

0x03C  0x03D
40H     40H   デフォルトと同じ
20H     01H   超小型サイズ
00H     20H   小型サイズ(棒読み)
10H     20H   小型サイズ
40H     80H   大型サイズ

■オリジナルの設定ができたら・・・
今回示したピッチの調整と、「隠しコマンドで声質をチューニングする」で示した声質調整を組み合わせて、是非、オリジナルのイメージの合成音声を作ってみてくださいね。
そして、イメージのものが出来上がったら、動画サイトなどで紹介して私にも教えてくださいね。
| AquesTalk pico LSI | 10:57 | - | - |
PROFILE
Follow
CATEGORIES
LATEST ENTRIES
SEARCH THIS SITE
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SONY MDR-CD900ST
SONY MDR-CD900ST (JUGEMレビュー »)

普段これで開発しています。
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND