ゆっくりボイスAquesTalk2のLinux用CCライセンス版とサンプル

Last modified: 2020-10-18

音声合成エンジンとその入手

LinuxやmacOSでWineを用いてゆっくりのSofTalkを動かす” で扱ったSofTalkなどには “AquesTalk” と呼ばれる音声合成エンジンが用いられている1

このバージョン2系である “AquesTalk2” は2010年に “BY-NC-ND” のCCライセンス(要約)で公開されていた(当時の配布ページ)。

[引用]ファイル名:readme_aqtk2_lnx32.txt, readme_aqtk2_lnx64.txt

ライセンス概略 表示-非営利-改変禁止(CC BY-NC-ND)

非営利の個人利用に限り無償で使用できます。それ以外のご利用(例えば会社での利用、 アプリケーションに本ライブラリを組み込んで販売等)では、“事前に"ライセンスの購 入や頒布のためのライセンス契約が必要となります。

当時のライセンス規定のページには下のようにある。

個人が公開・頒布するフリーウェアにおいては、本ソフトのDLL をそのフリーウェアに同梱して頒布することができます。 なお、この場合、そのフリーウェアの利用者が本ソフトを使用していることがわかるようにしてください。 たとえば、マニュアルに「本ソフトウェアは(株)アクエストの規則音声合成ライブラリを使用しており、その著作権は同社に帰属します。」と記述する方法があります。 さらに、そのフリーウェアの利用条件に、本ソフトに対して、このライセンス規定が継承されるように明記してください。 例えば、そのフリーウェアの使用許諾書に「同梱のAquesTalk2ライブラリは非営利の個人利用に限り無償で使用できます。 それ以外のご利用の場合はライセンスの購入が必要です。また、AquesTalk2ライブラリ単体での再配布はできません。」と記述する方法があります。

“単体での再配布はできない” とある点には注意が必要。

当時のバージョンでは

  • x86_32 (aqtk2_lnx32_100125.tgz)
  • x86_64 (aqtk2_lnx64_100125.tgz)

のGNU/Linux版も上記ライセンスで公開されていたので、これを用いることで上記アーキテクチャのGNU/Linuxであればこのライブラリを用いて音声合成プログラムが作成でき、その(個人開発の非営利の)プログラムとこのライブラリを一緒にして利用条件のもとで再配布することもできる。

その後のバージョンではライセンスが変更されているので、当時の古いバージョンを用いる必要がある。

声色データ

AquesTalk2ではPhontファイル(*.phont)という独自の形式のファイルを読み込むことで色々な種類の声に切り替えることができる。このデータは当時のライブラリには3つ付属しているが、当時の配布ページに8つの追加声色データがある他、新しいバージョンの評価版の配布ファイルにも収録されている。

Phontファイルは事前に入出力系の関数を用いてファイルを開いてメモリに読み込み、AquesTalk2_Synthe()系関数の最後の引数にその場所を指定することで(プログラム内で)使うことができる。

ファイルとシステムへの配置例

ファイル (配置先) 説明
AquesTalk2.h (/usr/local/include2など) 開発用のヘッダファイル(AquesTalk2にリンクしたプログラムを動かすだけなら不要)
libAquesTalk2.so.1.0 (/usr/local/lib/など) 音声合成機能を提供する共有オブジェクト

以下、ファイルの配置はいずれも管理者権限で行うものとする。

libAquesTalk2.so.1.0の配置先は、ライブラリの対象アーキテクチャに合わせるのがよい。Debian/Ubuntuで32bit版と64bit版の両方を配置したい場合は

  • 32bit版: /usr/lib/i386-linux-gnu/
  • 64bit版: /usr/lib/x86_64-linux-gnu/

3/usr/local/lib64/ディレクトリが存在するディストリでは

  • 32bit版: /usr/local/lib/
  • 64bit版: /usr/local/lib64/

に入れる形になる。

その後ldconfigコマンドを管理者権限で実行するとAquesTalk2を用いたプログラムの実行に必要なシンボリックリンクlibAquesTalk2.so.1が作られる4が、プログラムの開発(ビルドのみの場合も含む)を行う場合は追加でライブラリのディレクトリ内でlibAquesTalk2.soの名前でシンボリックリンクを作成する。

[/usr/lib/x86_64-linux-gnu/ など]$ sudo ln -s libAquesTalk2.so.1.0 libAquesTalk2.so

なお、ライブラリのファイル群(".so" の付くファイル)は

  • プログラムのビルド時にはGCCの-LオプションでlibAquesTalk2.soのあるディレクトリを指定
  • プログラムの実行時には環境変数LD_LIBRARY_PATHlibAquesTalk2.so.1のあるディレクトリを指定

とすることで、上に示したような “lib” の付くディレクトリへ管理者権限で配置せずに使うこともできる。

付属するphontディレクトリの中身については後述。

自作プログラム

ライブラリ付属の小さなサンプルコードでは速度やPhontファイルなどの指定が行えないため、オプション指定によって幾つかの指定が行えるような小さな自作プログラム(コマンド)を作成し

  • at2-synthe-0.1.tar.xz (51 キロバイト)
  • に公開した(ソース,x86_32版/x86_64版それぞれのバイナリ,AquesTalk2,実行用ラッパースクリプトから成る)。

    これは同梱のAquesTalk2を手動でシステムにインストールすることなく動かすスクリプトを含むので、実行は比較的簡単にできる。

    Phontファイルは同梱できないため、使用したい場合は前述した場所などから入手する必要がある(.NET版のSofTalkにも同梱されている)。

    このプログラムはGLibの機能を使用しているため、GLibの開発パッケージ(Debian/Ubuntuではlibglib2.0-devパッケージ)が必要。


    1. “ゆっくり” と呼ばれるキャラクターの声で使われていることで知られている ↩︎

    2. 追加で手動で配置するヘッダファイル向けのディレクトリ ↩︎

    3. これらはディストリのパッケージに含まれるライブラリ向けのディレクトリだが、/usr/local/以下のライブラリ用ディレクトリはアーキテクチャごとに分かれていないので、これらのディレクトリに入れるか、両方配置することをやめて片方を/usr/local/lib/に入れるなどする ↩︎

    4. 代わりに手動でリンクを作成してもよい ↩︎