iOS7 から AVSpeechSynthesizer クラスが追加 され、音声合成(読み上げ/Text to Speech)が手軽に使えるようになりました。
既に 日本語を含む36種の言語に対応したvoice が用意されていて、音質もなかなかです。ひらがなも漢字も読んでくれるので、テキストをまるっと渡せば読んでくれます。
が、ひとつ物足りなかったのが、 読み上げのチューニングができない こと。
音声合成は古くからあるジャンルなので、もっと細かくチューニングできて、音声がきれいなサードパーティ製SDKがあるんじゃないかと思い、いろいろ調べてみました。
###長所
- 評価版はすぐにDLして試せる
-
日本語の特性を考慮した、非常に細かいチューニング が可能
- アクセント
- 無声化
- 区切り
- ガ行鼻濁音
- 数値桁読み
- etc...
###短所
- 音質が低い
- phontというしくみがあるので入れ替え可能かも
- 漢字が読めない
- ひらがなに変換してやる必要がある
- あまり更新されてない
- サンプルの Deployment Target は 3.0。。
- 使用方法が面倒(APIがシンプルじゃない)
- 例: 読み上げてもらう文字列を ShiftJIS に変換する必要がある
char *sjis = (char*)[self.textView.text cStringUsingEncoding:NSShiftJISStringEncoding];
###その他
- ライセンスは5800円
##iSpeech
###長所
- 音質がいい
- 導入しやすい
- Blocksを使った記述も可能
- 無料
- モバイル用SDKからの使用のみ。APIは従量課金っぽい
###短所
- 要ネットワーク
###その他
- Evernote clearlyの読み上げ機能で使用されている
##Acapela
###長所
- 音質は標準(AVSpeechSynthesizer)と同じぐらい(※主観)
- ひらがな、漢字をそのまま渡せる
###短所
- 漢字の読みが間違っていても、修正できない(辞書登録等の方法がない)
- 評価版があまりメンテされてない
- ここからダウンロードできる最新版は1.304
- サンプルプロジェクトのコンパイラが古いものが指定されてるので、default compilerに変更する
- 評価版はシミュレータでのみ動作するとのことなので、シミュレータで動かしてみると、HelloTTSサンプルは動くが、TTSDemoサンプルはエラーが出る(ここで評価をあきらめた)
- ライセンス購入するともらえるSDKは、少なくとも1.4以上らしい
###その他
- 有料:アプリの売り上げの30%(Apple税を引いた残りの30%)
- うめのんさんの『VoicePaper』、『音声文庫』といった読み上げ読書アプリは、Acapelaを使用しているとのこと。
(参考記事:おかんでも使えるアプリ、青空文庫読み上げの音声文庫を作った)
###長所
- 日本語のイントネーションが自然
- 歌唱 させることも可能
- 男性の声 も選択可能
- 漢字ひらがな混じりOK
- ユーザー辞書の登録も可能
- 導入が簡単(APIがシンプル)
###短所
- 音質はiOS標準(AVSpeechSynthesizer)に劣る
- 実際にデバイスで動作できる有償版は、要問い合わせ
- どれぐらいの価格帯なのかも不明(有償版は5000円〜50万円ぐらいの幅があるので、目安の価格ぐらいは知りたい)
- 無料DLできる評価版はsimulatorでのみ動作する
フォームで諸々入力しないとSDKもらえないので試してないのですが、使ってみた人の話を聞いたところ、
- 日本語音声はiSpeechと同じ人の声
- API は ObjectiveC ではない
とのこと。
##Google TTS
APIを利用するものなので、試してないのですが、下記のような参考になる記事があります。サンプルあり。
【iOS】Google TTSでText To Speechを実装する
- by HOYA
- 要問い合わせ
- 有償、かつ評価版をwebからダウンロードすることができないため、試していない
##N2
- by KDDI
- 要問い合わせ
- 有償、かつ評価版をwebからダウンロードすることができないため、試していない
##聴き比べ
- iOS SDKの AVSpeechSynthesizer
- iSpeech
- AquesTalk2
- ドキュメントトーカ
- Acapela
を 聴き比べできるサンプルアプリ を実装しました。
が、各社GitHubとかにSDKをアップしてるわけじゃないので、たぶん私がそれを再配布するのはアウトな気がする(未確認)ので、ローカルで試して結論を述べるにとどめておきます。
(というか、上述のまとめは、実装してみて聴き比べてみた上で書いたものです)
##結論
音質の良い順 は、
iSpeech > 標準(AVSpeech)≒ Acapela > ドキュメントトーカ >> Aques
iOS標準より明らかに音質がいいのは iSpeech ぐらいでした。
日本語のイントネーションの自然さ が良かったのは、ドキュメントトーカ、iSpeech、Aques(チューニングすれば)。
ただ、
- iSpeech はオフラインで使用できないこと
- Acapela, DTalk 音質がApple標準と同等以下、かつ有料であること
- Aquesは音質がかなり低いこと
を加味すると、現実的には、 とりあえずはiOS標準が第一候補 で、オンライン前提でもよければ iSpeech 、あとは、どうしてもイントネーションを調整したいとか、男性の声を使いたいとか、特殊なニーズに応じて検討、という感じです。
せっかくいろいろ調べたのに、なかなかしょっぱい結論となってしまいました。。
##余談
ちなみに、今回TTSエンジンを検討したのは、 私の個人名刺に関係したアプリを作成するためでした。
また準備が整ったら更新します。
##関連ページ