Objective-C
iOS
avfoundation
自然言語処理
Swift

iOSで使える日本語OKな音声読み上げエンジン8種(TTS,音声合成)

More than 3 years have passed since last update.

iOS7 から AVSpeechSynthesizer クラスが追加 され、音声合成(読み上げ/Text to Speech)が手軽に使えるようになりました。

既に 日本語を含む36種の言語に対応したvoice が用意されていて、音質もなかなかです。ひらがなも漢字も読んでくれるので、テキストをまるっと渡せば読んでくれます。

が、ひとつ物足りなかったのが、 読み上げのチューニングができない こと。

音声合成は古くからあるジャンルなので、もっと細かくチューニングできて、音声がきれいなサードパーティ製SDKがあるんじゃないかと思い、いろいろ調べてみました。


AquesTalk2


長所


  • 評価版はすぐにDLして試せる


  • 日本語の特性を考慮した、非常に細かいチューニング が可能


    • アクセント

    • 無声化

    • 区切り

    • ガ行鼻濁音

    • 数値桁読み

    • etc...




短所


  • 音質が低い


    • phontというしくみがあるので入れ替え可能かも



  • 漢字が読めない


    • ひらがなに変換してやる必要がある



  • あまり更新されてない


    • サンプルの Deployment Target は 3.0。。



  • 使用方法が面倒(APIがシンプルじゃない)


    • 例: 読み上げてもらう文字列を ShiftJIS に変換する必要がある



char *sjis = (char*)[self.textView.text cStringUsingEncoding:NSShiftJISStringEncoding];


その他


iSpeech


長所


  • 音質がいい

  • 導入しやすい


    • Blocksを使った記述も可能



  • 無料


    • モバイル用SDKからの使用のみ。APIは従量課金っぽい




短所


  • 要ネットワーク


その他


Acapela


長所


  • 音質は標準(AVSpeechSynthesizer)と同じぐらい(※主観)

  • ひらがな、漢字をそのまま渡せる


短所


  • 漢字の読みが間違っていても、修正できない(辞書登録等の方法がない)

  • 評価版があまりメンテされてない



    • ここからダウンロードできる最新版は1.304

    • サンプルプロジェクトのコンパイラが古いものが指定されてるので、default compilerに変更する

    • 評価版はシミュレータでのみ動作するとのことなので、シミュレータで動かしてみると、HelloTTSサンプルは動くが、TTSDemoサンプルはエラーが出る(ここで評価をあきらめた)

    • ライセンス購入するともらえるSDKは、少なくとも1.4以上らしい




その他


  • 有料:アプリの売り上げの30%(Apple税を引いた残りの30%)


  • うめのんさんの『VoicePaper』、『音声文庫』といった読み上げ読書アプリは、Acapelaを使用しているとのこと。

(参考記事:おかんでも使えるアプリ、青空文庫読み上げの音声文庫を作った


ドキュメントトーカ


長所


  • 日本語のイントネーションが自然


  • 歌唱 させることも可能


  • 男性の声 も選択可能

  • 漢字ひらがな混じりOK

  • ユーザー辞書の登録も可能

  • 導入が簡単(APIがシンプル)


短所


  • 音質はiOS標準(AVSpeechSynthesizer)に劣る

  • 実際にデバイスで動作できる有償版は、要問い合わせ


    • どれぐらいの価格帯なのかも不明(有償版は5000円〜50万円ぐらいの幅があるので、目安の価格ぐらいは知りたい)

    • 無料DLできる評価版はsimulatorでのみ動作する




NeoSpeech

フォームで諸々入力しないとSDKもらえないので試してないのですが、使ってみた人の話を聞いたところ、


  • 日本語音声はiSpeechと同じ人の声

  • API は ObjectiveC ではない

とのこと。


Google TTS

APIを利用するものなので、試してないのですが、下記のような参考になる記事があります。サンプルあり。

【iOS】Google TTSでText To Speechを実装する


VOICE TEXT


  • 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エンジンを検討したのは、 私の個人名刺に関係したアプリを作成するためでした。

iOS7対応の名刺をつくりました

また準備が整ったら更新します。


関連ページ