日本語の文字列をオーディオデータに変換するOpen JTalkの概要とインストール

Last modified: 2021-09-17

概要

Open JTalkは日本語用の “text-to-speech” という類のソフトウェアで、文字列をオーディオデータ(WAVE形式)に変換することができる。

コマンド名はopen_jtalk。渡す文字列には漢字も使えるが、誤読することもある。

C言語の標準Cライブラリのみを使用してOSに依存しない作りとなっており、GNU/Linuxでも動作する。また、プログラム部分のライセンスが修正BSD/三条項(3-clause)となっており、自由なソフトウェアであることも大きい。

声のデータにおけるライセンス

プログラム部分のライセンスは自由だが、音声を書き出すためには声のデータが別途必要となり、その声データは “Creative Commons Attribution (CC-BY)” で配布されている。これは営利目的での使用も認めている。

一方、 “Ubuntu向けに作成・公開していたパッケージの12.04への対応を完了” という記事を公開した際、以下のコメントを公開翌日(2012/4/25)に頂いており、声データを作る側のツールが自由なライセンスでないことによる不自由さが指摘されている。これは2021年時点でも変わっていない。

[引用]名前:vbkaisetsu (Koichi Akabe)

open-jtalk の Debian パッケージをメンテしている者です。 偶然このページを見つけたので、メンテしている者としてコメントさせて頂きます。

(中略)

open-jtalk の音声データである hts-voice-nitech-jp-atr503-m001 ですが、README.Debian にも記述している通り、音声データを作成・編集するために必要な HTK というソフトウェアがフリーではないため、 CC-BY とは言っても Debian では contrib に分類されており、 Ubuntu でも multiverse に分類されています。 Mei の音声データも同様の理由でフリーではないため、十分なメンテができないであろうと考え、パッケージ化しない方向で考えています。ご理解頂けると幸いです。

パッケージの構成

hts_engine API関係

Open JTalkをビルドするにはhts_engine APIというライブラリを別途用意(ビルド含む)しておく必要がある。このライブラリは静的リンクライブラリのみを提供し、ビルド後はOpen JTalkに組み込まれる(ビルドしたOpen JTalkは単体で動作する)。

Open JTalkのビルド時には--with-hts-engine-header-path(hts_engine APIのヘッダを配置したディレクトリ)や--with-hts-engine-library-path(hts_engine APIのライブラリを配置したディレクトリ)といったオプションをconfigureスクリプトに渡す必要がある。

声データ

Open JTalkは声の種類を声データによって変えることができ、Open JTalk本体のサイトからは男声の “NIT ATR503 M001”, Open JTalkを用いたMMDAgentというソフトウェアの “Sample Script” というパッケージからは女声の “Mei” がそれぞれ入手できる。

その後、MMDAgentの “Sample Script” には男声の “Takumi” が追加されている。

一覧

Debian/Ubuntu公式のパッケージ

Ubuntu 12.04(Debianではwheezy)からは以下のDebian/Ubuntu公式のパッケージが追加されており、標準で利用できる。

MeiやTakumiの声データは存在しない。

hts_engine APIは共有オブジェクト(libHTSEngine.so.1.0.0/libHTSEngine.so.1)として提供される。

パッケージ名 説明
open-jtalk Open JTalkの本体・UTF-8向け
open-jtalk-mecab-naist-jdic Open JTalkの辞書・配置場所は/var/lib/mecab/dic/open-jtalk/naist-jdic/以下・エンコーディングはUTF-8)
libhtsengine-dev hts_engine APIの開発パッケージ
libhtsengine1 hts_engine APIのライブラリ
htsengine hts_engineコマンド
hts-voice-nitech-jp-atr503-m001 男声データ・配置場所は/usr/share/hts-voice/nitech-jp-atr503-m001/以下