AquesTalkの機能をJavaScriptから呼び出す機能をライブラリに切り出した

概要

Mac用の動画作成用ゆっくりボイスアプリ MYukkuriVoice で使用している AquesTalk呼び出し機能を、ライブラリに切り出した。
たぶんMacで、Electronで、AquesTalkな読み上げアプリを作るなら役に立つでしょう。
めちゃくちゃレアケースだな!!!

※ MYukkuriVoice
www.nicovideo.jp


でも、ごめん使うのは大変

  • Macでしか動かないのであります
  • お試しするのにも、たくさん準備がいります
    • AquesTalkライブラリが必要
  • これを使って、アプリを作るなら更に準備がいります
    • AquesTalkライブラリの開発ライセンス、使用ライセンスが必要
  • たいへん(^_^;)


使い方

ライブラリの使い方の説明は https://github.com/taku-o/aquestalk-mac に書いてあります。

けれど、このaquestalk-macライブラリを使うにあたって大変なのは、
ライブラリの使い方より、導入までだと思うので、この記事では、その話をする。
おそらく、ライブラリそのものではなく、このサンプルアプリを動かすまでの手順が、このライブラリで一番価値があるものです。


サンプルアプリの動かし方

1. Pythonのバージョンを確認する

Macのデフォルトのsystemバージョンが望ましい。
他のPython環境を入れていてそれを使っていると、npm installで失敗することが多い。

2. npm installで必要なライブラリをインストール

git clone https://github.com/taku-o/aquestalk-player-mac.git
cd aquestalk-player-mac
npm install

3. electron-rebuildでnative系のライブラリを作り直す

electron-rebuildしないと動かない。

./node_modules/.bin/electron-rebuild

4. vendorEvaディレクトリに評価版ライブラリを入れる

  • AquesTalk2 Mac SDK評価版
  • AqKanji2Koe Mac SDK
    • この2つを入手して、"vendorEva"ディレクトリに次のようにファイルを配置する
|-- vendorEva
    |-- AqKanji2Koe.framework
    |-- AquesTalk2Eva.framework
    |-- aq_dic_large/aq_user.dic
    |-- aq_dic_large/aqdic.bin
    `-- phont/aq_f1c.phont

5. サンプルアプリを動かす

これでElectronのサンプルアプリが起動すると思います。
サンプルアプリでは入力した文字列を、AquesTalkを使って音声として再生したり、wavファイルとして保存したりできます。
お疲れ様でした。

cd sample
npm install
npm run start


このライブラリはファイルアクセスが必要?

Q. このライブラリを使用するにはファイルアクセスが必要?
    A. 必要

Q. つまり、Webブラウザでは動作しない?
    A. 基本的には動作しない

Q. 音声をJavaScriptで再生するには、Web Audio APIか、HTML5 Audioクラスあたりが妥当?
    A. 他のプログラムに作成した音声データを渡さないなら妥当

Q. Web Audio APIは、Webブラウザで動作しますよね?
    A. ・・・そうですね

Q. このライブラリはどういう場面で使えるの?
    A. ・・・え、Electronとか・






おまけ

ニコニコのランキングシステム変わるし、
SoftalkとかCeVIOとか、
動画の音声作成ソフトのタグには"テキスピ"使おうぜ、って話が出ている。

www.nicovideo.jp