HOME > Various Tips > 音声合成の活用


音声合成の活用  (2017/02/13 update)

はじめに

このTipsでは、Windows 10搭載の音声合成エンジンを利用し、様々なサンプル(ソフトやハード)を作成することで音声合成の実用的な活用方法を紹介します。

サンプルの説明を行う前に、Windowsの音声合成環境と当方で開発を行ったUWPアプリの「Haruzira」などについて少しふれておきます。

Windowsの音声合成に関しては、Windows XPの時代には既に実装されていた技術です。マイクロソフトは音声合成技術を長い間研究し実用化してきたのですが、視覚障害のサポートという位置づけで提供していたため一般の人が利用する機会は少なかったと思います。
また、Windows XPや7では、Microsoft Speech SDKを別途インストールすることでプログラムから音声合成エンジンが利用できました。しかし、インストールの手間やライセンスの制限などで非常に利用し難い状況でした。

そして、Windows 8になりOSに標準で搭載され、ストアアプリで利用できるようになります。さらに、Windows 10からはCortanaの登場でより身近になってきました。

なお、Windows 10でもデスクトップアプリとUWPアプリでは次のように利用できる日本語音声合成エンジンの種類が異なっています。(2016/11月時点)

Desktopアプリ Haruka Desktop(女性)
UWPアプリ Ayumi Mobile(女性)
Ichiro Mobile(男性)
Haruka Mobile(女性) (*1)

(*1)Haruka Mobileは、Anniversary以降に追加されました。

上記のようにAnniversaryでHaruka Mobileが追加されました。また、音声読み上げ時の抑揚などが変更され性能も少しずつ進化しています。
UWPアプリのほうが多くの音声合成エンジンを利用できる理由としては、今後UWPアプリをより普及させたいという意図があると思われます。

さて、最近「AI(人工知能)」や「IoT」という言葉を目にしたり、耳にする機会が多くなってきました。AIやIoTの利用が普及していくとロボット(機械)がおしゃべりするという音声合成を利用したコミュニケーションがどんどん増えてくると思われます。
(2017年2月現在、日本では未発売ですが、海外ではamazonのalexaが人気を得ています。)
そのような状況で、IoTやシステムなどで音声合成を利用していくにはどのようにすれば良いでしょうか。

音声合成エンジンを無料(ライセンスの範囲内)で利用するには、オープンソースの「Open JTalk」や、個人や趣味の範囲で利用できる「AquesTalk」などがあります。
しかし、音声が機械的(旧型のロボットが話しているような感じ)で少し聴き難いように感じます。また、インストールや設定に手間がかかり面倒です。
他にもメーカーが無料で提供している音声合成APIも存在しますが、利用範囲が限定されるなど実用性はあまり高くありません。あくまでも趣味の範囲での利用になります。

商用になると流暢な日本語を話す音声合成エンジンは有ります。しかし、ライセンス料が高額だったり日本語以外の音声合成エンジンが少ないなど、気軽に利用できる環境にはありません。
また、ネットワーク通信に対応している製品もあるのですが、テキストデータを送信して音声データ化したバイナリーデータを受信する仕様なので通信コストが高くなります。

そこで、各種Windows 10デバイスに搭載されている音声合成エンジンを外部機器からもネットワーク経由で利用できるように開発したのが、UWPアプリの「Haruzira」です。
リモート通信に対応することで、屋外に設置した機器で計測したデータを、屋内のWindows 10搭載機器に音声読み上げで通知することが可能になります。
モニターなどの画面から離れていても、音声で状況が確認できるようになります。
また、テキストデータの送信だけで済むので、通信コストがとても低くなります。

Windows 10に搭載されている音声合成エンジンは、日本語に関して言えば商用の優秀なエンジンに比べると抑揚の方法など少し劣る点はありますが十分実用的です。
また、言語パックを追加することで世界中の言語の音声合成を利用することができます。そして音声読み上げだけではなく音声認識機能も提供しています。
言語パックの追加方法に関しては、Haruziraのマニュアルを参照して下さい。
言語パックの追加方法
Haruzira Version2.0.0からは、リモートでの音声認識コマンド送信機能にも対応し、音声を利用した相互通信が可能になりました。(音声で話して音声で結果を得る)

「Haruzira」は、このように音声合成をもっと簡単にそして実用的に活用したいという目的で開発しました。
リモート通信以外でも音声認識による文章作成にも対応していますのでお試し下さい。


fax




サンプルプログラム

Haruzira SDKを利用した音声合成プログラムのサンプル一覧です。

Raspberry Piで音声合成の活用

LED点滅のカウントアップ LEDの点滅毎にHaruziraと通信を行い、点滅回数を音声でカウントアップします。
リモート音声認識でLEDのON/OFF LEDの点灯及び消灯コマンドを音声認識で複数のリモートデバイスへ送信します。
音声でリモートデバイスとコミュニケーションを行う様子が体験できます。
温湿度・気圧計測による音声アラート通知システム 温湿度・気圧センサーで計測した結果を基に、音声でアラート(警報)通知などを行います。
音声でリモートデバイスとコミュニケーションを行う、より実用的な利用方法を確認できます。