N.Yamazaki's blog

主に音声合成について思ったことを書いてみようと思います。
AquesTalk2 エラー:1002
 AquesTalk2ライブラリ関数を呼び出したときに、何らかのエラーがあると、エラーコードが返されます。エラーコードの説明は、ライブラリ付属のドキュメント(aqtk2_XXX_man.pdf) の最後に示してあります。
ここで、エラーコード 1000から1008は「Phontデータが正しくない」となっていますが、若干補足をします。

エラーコード1002で戻る場合、大抵の場合はAquesTalk2ライブラリのバージョンが古いのが原因です。

ファイル名が「ar_」で始まるPhont(声種データ)は、「aq_」で始まるPhontと内部フォーマットが異なっており、前者は新しいピッチパタンモデル用、後者は以前のモデル用のデータが入っています。
そして、AquesTalk2 V2.3より前のライブラリはこの新しいピッチパタンモデルが入っていませんので、このPhontフォーマットを認識できず、エラー1002を返すのです。

このときの対策としては、AquesTalk2 V2.3以降のライブラリに差し替える。または、「ar_」で始まるPhontを使用しない。のどちらかとなります。

ちなみに、ライブラリのバージョンを確認するには、ライブラリ付属のライセンスドキュメントを参照します(windowsではライブラリファイルのプロパティで確認できる場合もあります)。
| AquesTalk | 16:21 | - | - |
AquesTalk2 V2.3 リリース状況
バージョンアップしたAquesTalk2の、各プラットフォームのライブラリや、
デモアプリのリリース状況をまとめました。

■ライブラリ
AquesTalk2 Win     リリース済 2011/07/26
AquesTalk2 Linux   リリース済 2011/07/28
AquesTalk2 Mac     リリース済 2011/07/28
AquesTalk2 iOS      リリース済 2011/07/28
AquesTalk2 Android   リリース済 2011/07/28
AquesTalk2 WinCE   ASK
※評価版ライブラリのダウンロードはこちら

■デモアプリ
AqTk2Demo Win    リリース済 2011/07/28
AqTk2Demo Mac    リリース済 2011/07/28
AqTk2Demo Android    リリース済 2011/07/28
AqTk2App iOS        Waiting for  Review

※各デモアプリの説明とダウンロードはこちら(ページの下の方)
| AquesTalk | 22:11 | - | - |
AquesTalk2 バージョンアップ Ver.2.3
 AquesTalk2 をバージョンアップしました(Ver.2.1 → Ver.2.3)


韻律モデルを変更
ピッチ(基本周波数)パタンを生成するモデルが新しくなりました。これにより、イントネーションの品質が向上しています。

また、新しい韻律モデルでは、音声記号列の区切り記号の指定に対して、ピッチパタンの変化が、より直感的に変化するようになっています。手動で音声記号列を編集される場合に所望のピッチパタンが作り易くなります。
例えば、特定の単語にプロミネンスを与える(強調したい場合)、通常のアクセント句切記号「/」の代わりに「;」を指定することで次の単語のアクセントが強くなります。逆にアクセントを弱めたいときは「+」の区切り記号を指定します。

Phontを4種追加
ar_f4  :カワイイ系(?)の女声
ar_rm3:少し落ち着いた女声(aq_rmの中高域を持ち上げたもの)
ar_m5 :若返った(aq_m4と比べて)男声
ar_mf2:某クイズ番組のキャラクターのような変わり種の声おまけサンプルWAV)

サンプル音声は、デモページの「サンプル音声」で試聴することができます。

今回リリースした新Phontは、新しい韻律モデル用のフォーマットになっています。
Phontのファイル名が「ar_」で始まるものは、Ver.2.1 以前のAquesTalk2では使用できません。ご注意ください。



現時点では、Windows版のみのリリースですが、今後、他のプラットフォームもバージョンアップする予定です。評価版はダウンロードページから入手できます。


| AquesTalk | 16:51 | - | - |
AquesTalk TTS インストール方法
2011/03/22
AquesTalk TTS for Android のインストール手順

「Google翻訳」などの各種のAndroidアプリで日本語の音声合成が可能となる、音声合成エンジン『AquesTalk TTS』のインストール&設定方法をまとめてみました。


動作環境
  • Android OS 2.2 以降
  • SDカード(内蔵)内部ストレージに40MB以上の空き領域
  • 辞書データインストール時にインターネット接続必要

インストール方法
基本的な流れは次のとおりです。
  1. アプリパッケージをインストール
  2. 辞書データをダウンロード
  3. 音声合成の設定

以下に詳細を示します。

1. アプリパッケージをインストール
Android Market から"AquesTalk TTS"で検索、または下記URLのページからダウンロードして下さい。
http://market.android.com/details?id=com.a_quest.aquestalka

ダウンロード完了後、インストールの確認メッセージがでたら[インストール]
インストール完了後、[開く]でこのアプリを起動
[開く]が出ないときは Menu>アプリ>AquesTalk TTS で手動で起動します

   

2. 辞書データをダウンロード
AquesTalk TTS アプリが起動すると、辞書データのダウンロードを促すダイアログが出ます。辞書データは10MB程度ありますので、携帯電話のデータ回線では厳しいと思います。家庭内など高速のインターネット回線が使える環境でダウンロードして下さい。なお、ここで[No]を選択して辞書データを後からダウンロードすることもできます。

ダウンロード[Yes] で、ダウンロードが始まります。ちなみに、ダウンロードした辞書データは展開されてSDカードの/sdcard/aquestalk内部ストレージ内に複数のファイルとして保存されます。

正常に辞書データをダウンロードできた場合は、辞書設定の最上項目が「インストール済み」になっているはずです。
もし、「インストール済み」にならない場合は、ネットワークが切断されていないか、内部ストレージの空き容量が十分かを確認してください。
あるいは、一度、「AquesTalk TTS」アプリをアンインストールしてから再インストールするとダウンロードできる場合もあるようです。



   

3. 音声合成の設定
最後に、音声合成の設定を行います。

   Menu>設定>音声入出力>音声合成設定
  * MenuはAndroid OSのMenuです。一旦Homeボタンでメイン画面に戻ってください。

「エンジン」カテゴリにAquesTalk TTS が追加されているはずです。これをチェックします。このとき、「パスワードやクレジットカード…」なんて大層な警告が出ますが、このアプリがネットワークにアクセスするのは、最初に辞書データをダウンロードする時だけで、あとはネットワーク無しで動作しますので、ご安心(?)ください。


 

「基本設定」カテゴリの標準エンジンを選択すると、音声合成エンジンの種類を選択できますので、ここでは AquesTalk TTS を選択します。
続いて、「基本設定」カテゴリの言語で、日本語を選択します。
この状態で、サンプル試聴を選択すると、合成音声が聞こえるはずです。

 

以上で、音声合成の設定は終了です。


外部アプリでの動作確認
Google翻訳アプリで、翻訳後の言語が日本語の場合にもスピーカアイコンが表示されて、これをタップすれば合成音声が聞こえればOKです。
他にも、TTS API を使用したAndroidアプリなら、使えるかと思います。
こちらでは、「Speak Manager」というアプリでも動作確認をしてみました。




「Google Map ナビ」でも動作を確認できました。このアプリはXMLで発声内容を渡してくるので、β版ではそのままXMLを読み上げてしまっていましたが、製品版ではXMLをパースするようにしました。もっとも、このアプリは音声合成エンジンが入っていない場合でも、クラウド(Googleのサーバ)側で音声データを生成して返してくれるようなのですが、AquesTalk TTSを組み込んでおけば、ナビ中にネット接続が失われても音声ガイダンスがされるようです。

Android音声合成プログラミング
「AquesTalk TTS」を呼び出すアプリのプログラミング技法については、
「Android TextToSpeech」あたりで検索してみてください。


先の記事 『Android用の日本語TTSエンジン』
             『Android用の日本語TTSエンジン その2』
| AquesTalk | 14:04 | - | - |
Android用の日本語TTSエンジン その2

2011/02/28


AquesTalk TTS for Android



Google翻訳でも日本語音声合成が可能になる、
Android用の日本語TTSエンジン『AquesTalk TTSのβ版をリリースしました。
このソフトの概要は先の記事をご覧ください。
先の記事 『Android用の日本語TTSエンジン』

動作環境
  • Android OS 2.2 以降
  • SDカードに40MB以上の空き領域
  • 辞書データインストール時にはインターネット接続必要

= β版の配布は終了しました =
お願い
お試しいただいた場合、是非ともこちらのBBSに動作レポートの投稿をお願いします。使用端末、Android OSのバージョン、動いたとか、うまく動作しないときはどうなってしまうかなどを報告いただければと思います。
なお、ベータ版につき公開期間限定です。また、製品版は有料の予定ですので、興味を持たれた方は早めにお試しください。

お約束
再配布を禁止します。
本プログラムの著作権は(株)アクエストに帰属します。
動作保証はいたしません。また利用により生じた損害・不利益に関して一切の責任を負いません。

インストール方法
基本的な流れは次のとおりです。

  1. アプリパッケージをインストール
  2. 辞書データをダウンロード
  3. 音声合成の設定

以下に詳細を示します。

1. アプリパッケージをインストール
Android Market から"AquesTalk TTS"で検索、または下記URLのページからダウンロードして下さい。
http://market.android.com/details?id=com.a_quest.aquestalka

当サイトからのダウンロードですので、次がチェックされている必要があります。
設定>アプリケーション>提供元不明のアプリ

アプリのパッケージはこちらから直接ダウンロードして下さい。
または 右のQR

追記2011/03/01 実行可能な最低API Levelを4(OS1.6)に下げたパッケージをこちらに置きました。こちらでは1.6環境でインストール&辞書のダウンロードまでは動作確認しましたが、どうしても音声合成の言語設定で日本語が表示されません。チャレンジ可能な方は是非!

ダウンロード完了後、インストールの確認メッセージがでたら[インストール]
インストール完了後、[開く]でこのアプリを起動

   

2. 辞書データをダウンロード
アプリが起動すると、辞書データのダウンロードを促すダイアログが出ます。辞書データは10MB程度ありますので、携帯電話のデータ回線では厳しいと思います。家庭内など高速のインターネット回線が使える環境でダウンロードして下さい。なお、ここで[No]を選択して辞書データを後からダウンロードすることもできます。

ダウンロード[Yes] で、ダウンロードが始まります。ちなみに、ダウンロードした辞書データは展開されてSDカードの/sdcard/aquestalk内にファイルとして保存されます。

正常に辞書データをダウンロードできた場合は、辞書設定の最上項目が「インストール済み」になっているはずです。

   

3. 音声合成の設定
最後に、音声合成の設定を行います。

   Menu>設定>音声入出力>音声合成設定

「エンジン」カテゴリにAquesTalk TTS が追加されているはずです。これをチェックします。このとき、「パスワードやクレジットカード…」なんて大層な警告が出ますが、このアプリがネットワークにアクセスするのは、最初に辞書データをダウンロードする時だけで、あとはネットワーク無しで動作しますので、ご安心(?)ください。


 

「基本設定」カテゴリの標準エンジンを選択すると、音声合成エンジンの種類を選択できますので、ここでは AquesTalk TTS を選択します。
続いて、「基本設定」カテゴリの言語で、日本語を選択します。
この状態で、サンプル試聴を選択すると、合成音声が聞こえるはずです。

 

以上で、音声合成の設定は終了です。

Google翻訳アプリで、翻訳後の言語が日本語の場合にもスピーカアイコンが表示されて、これをタップすれば合成音声が聞こえればOKです。
他にも、TTS API を使用したAndroidアプリなら、使えるかと思います。
こちらでは、「Speak Manager」というアプリでも動作確認をしてみました。



あとがき
Android OS 2.2未満でも動作させたかったのですが、設定画面に音声合成エンジンの選択が出てこない。言語の種類にも日本語が出てこない。 TTSのAPI自体はAndroid 1.6から実装されているようなのですが…。
もし、2.2未満で、eSpeakなど他の音声合成エンジンを使う方法をご存じの方がおられましたら情報をいただければ幸いです。ちなみに、このプログラム自体は 1.6環境のAPIで動くように作ってます。

| AquesTalk | 20:00 | - | - |
Android用の日本語TTSエンジン
Android用の日本語Text-To-Speech Engine、いわゆる音声合成エンジンを開発しました。

既にAndroid用のライブラリはリリースしていますが、今回のはライブラリでも単体の音声合成アプリでもなく、AndroidのTTSエンジンとしてのソフトウェアです。

どういうことかというと、
ライブラリの場合は個々のアプリケーションに音声合成ライブラリを組み込む必要があるし、音声合成単体のアプリでは、そのアプリを起動してそこから読み上げるテキストを指定しなくてはならないなどで、使い勝手がいまひとつ。

今回は、AndroidのTTSエンジンとして実装したので、アプリ側からは、どんな音声合成エンジンが組み込まれているかを意識せず、単にAndroid TTS APIを呼び出すだけで"話す"ことが可能になります。

例えば”Google翻訳”というアプリがありますが、翻訳結果が英語ならスピーカのアイコンが表示されて、これをタップすれば英語の合成音声を聞くことができます。しかし、翻訳結果を日本語にすると、日本語に対応した音声合成エンジンがなかったので、スピーカアイコンは表示されない残念な状況でした。

今回開発したエンジンをインストールすると、この”Google翻訳"でも、日本語の合成音声が出来るようになりました。下の動画は、実際にGoogle翻訳アプリと、"Speak Manager"という音声合成エンジンを呼び出す既存のアプリで使ってみたものです。

リリースの予定は、近いうちにβ版として野良アプリとして公開。
その後、Android Marketでの公開(有料)の予定です。準備が整い次第、追記したいと思います。
2011/02/28 ベータ版公開しました。ダウンロード・インストールは次の記事を参照

YouTube

| AquesTalk | 11:09 | - | - |
Androidの音声合成アプリ AqTk2Demo
音声合成ライブラリAquesTalk2を使用した Android用のデモアプリを公開しました。
追記 2011/07/28 バージョンアップしました。AquesTalk2 v2.3実装+Phont追加

AqTk2Demo

すでに公開しているAquesTalk2 Androidのライブラリパッケージにもサンプルアプリが入ってますが、今回公開のアプリは、言語処理ライブラリAqKanji2Koeを組み込んで、漢字を含んだテキストからの音声合成が出来るようになっています。そうそう、このAqKanji2Koeライブラリは近日リリース予定です。

使用方法
使い方は、特に説明不要かと思いますが、上のテキストボックスに日本語テキストを入れて[Convert]ボタンの押下すると、下のテキストボックスにその音声記号列が表示されます。
[Play/Stop]ボタンの押下で音声合成します。
なお、下のテキストボックスに、直接音声記号列を入力してもOKです。

ダウンロード(追記:配布は終了しました)
今回はライブラリパッケージでの配布ではなく、アプリ単体で用意しましたので、
Android端末をお持ちなら、こちらまたは下のQRコードからダウンロード(10MB程あります)してインストール(ブラウザのダウンロード履歴をタップ?)すれば、すぐにお試しいただけます!

お約束事項
このアプリは無保証ですので予めご了承ください。また、このアプリの無断配布を禁じます。


不具合報告や要望等は喜んで受け付けております。infoaq(アット)a-quest.com またはAquesTalk BBSまで。


先程、Googleの音声認識で文を入力して音声合成してみて遊んでみたら、ちょっと楽しかった。この音声認識、かなり優秀!
Googleの音声認識+人工無能bot+AquesTalk(+AqKanji2Koe)の組み合わせで、ちょっとした対話アプリが作れそうですね。
 
| AquesTalk | 10:28 | - | - |
ロボットボイス第二弾(AquesTalk-FX)
 先日リリースした、変わった声を合成する音声合成エンジン『AquesTalk-FX』を、改良しました。
改良ポイントは声質で、よりSF的なロボット声になったかなと思ってます。

サンプル音声はこちら[Sample fx01 2]
ちなみに、前回のサンプル音声はこちら[Sample fx01]です。

改良版のアプリのダウンロードはこちらから Mac   Win
2010/11/05 01:30 バグってて合成できません(たぶんWinのみ)。ただいまデバッグ中です.
2010/11/05 01:56 デバッグ完了
2011/01/11 16:13 11/05のWinバージョンはDebugビルドでしたm(_ _)m

使い方その他は、前回リリース時の記事を参照ください。
あと、窓の杜の記事も参考にしてください。

| AquesTalk | 17:57 | - | - |
おかしな声の音声合成エンジン AquesTalk-FX リリース
変わった声を合成するの音声合成エンジン『AquesTalk-FX』をリリースしました。




このエンジンは、とっても変な合成音声を生成します。
なんと、ピッチ(基本周波数とか声の高さの意)が無い音声です。
とても人間にはマネの出来ない声(?)なのですが、発声内容はだいたい理解できます。

今回配布するパッケージにはAquesTalk2上位互換のダイナミックライブラリと共に、
そのライブラリを実行するためのGUIアプリケーション(上画像)が含まれています。
対応OSは、WindowsとMacです。

サンプル音声はこちらから。
パッケージのダウンロードはこちらから Mac   Win

使い方は、ほぼAqTk2Appと同じなので、こちらを参照してください。
声質を変更するパラメータが一つ追加されています。

なお、今回公開するものはβ版であり、予告なく変更することがあります。
また、生成した音声データはご自由にお使いいただけます。
お使い頂いたときには、ご感想をいただければ幸いです。 @nyaqu (twitter)

2010/11/04 追記 改良版リリースしました。詳細はこちら

ところで・・・・


今回の合成方法、音声合成の研究者なら絶対やらないけど、素人ならやっても不思議でない方式です。特に、"フォルマント"というものを間違って理解してしまうと、こんな音声合成器が出来上がってしまう例でもあります。また、単に母音の合成だけなら比較的簡単にこの方式を実装できるので、実際に同じことを試された方もいるのではないかと思います。

基本的な原理的を簡単に説明すると、数個のフォルマントのピークの周波数とその大きさに対応する、sin波形を重ねて音声(?)を合成するというものです。
次の図は普通に有声音を合成した時のスペクトルと、今回の合成音声のスペクトルを示したものです。

  通常の有声音のスペクトル                       AquesTalk-FXのスペクトル
 

どうです、まったく違いますよね。
人間は、こんな大雑把な特性の音でもそこそこ何を言っているかわかる(音韻を認識できる)なんて、すごいと思いませんか。

今回の方式はとてもシンプルなので、DTMのシンセサイザーを使って数個の周波数の異なる正弦波を重ねても、同じような合成音が作れるかと思います。

ちなみに、今回の製作のきっかけは、通常の音声合成の開発している最中に、合成フィルタのパラメータを誤って指定してフォルマントの周波数で発振させてしまったのですが、意外に発声内容が聞き取れるなと感じたのが始まりでした。


| AquesTalk | 23:41 | - | - |
ビルド時のリンクエラー AquesTalk2 iPhone

iPhone (iOS) SDKを3.1から4.1に変更したところ、
AquesTalk2のサンプルアプリ HelloAqTkをビルド(リンク)する時に、下記のエラーが出てビルド出来無くなった。

.objc_class_name_NSNotificationCenter", referenced from:
literal-pointer@__OBJC@__cls_refs@NSNotificationCenter in libAquesTalk2.a(PlaySoundA.o)
ld: symbol(s) not found


ちなみに、このエラーが出るのは Simulatorの場合であり、Device(実機)のビルドでは生じないし、Deviceでは実行もできる。

取り急ぎ、本エラーに対応したライブラリをリリースしたので、このエラーが発生した場合は、次のライブラリに差し替えて、ビルドしていただきたい。

libaqtk2_iph_100916.zip 
(libAquesTalk2.a i386/armv6/armv7 ユニバーサルバイナリ)

[戯言]
あれこれ調べてみたのだが、エラーの原因は不明。コンパイラのバージョンにより挙動が変わるのは確かなようだ。素直にライブラリをGCC4.2で構築すればこの問題は発生しないのだが、今度はGCC4.2の最適化のバグ(?)で、実行時に動かなくなる。
ちなみに、今回はライブラリ生成のコンパイラに、LLVM GCC 4.2を使うことで対応した。
今後のAppleのSDKのバージョンアップで、不具合が解消されることを期待したいが、GCC4.0との混在なんて気にかけてもらえないだろうな・・・

| AquesTalk | 15:48 | - | - |
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