HOME技術動画/音声Windows10でOpenJTalkを使い合成音声をつくる

Windows10でOpenJTalkを使い合成音声をつくる

Windows10でOpenJTalkを使って合成音声を作る手順を調べました。

OpenJTalkとは

OpenJTalkとは、テキストを日本語音声に変換することができるソフトウェアです。
声データによっては、生成した音声は、営利目的での使用も可能であるため、無料の日本語音声を機械読み上げで合成したい、ということを実現することができます。

OpenJTalkを使えるようにする手順

必要なファイルのダウンロード

OpenJTalkをWindowsで使えるようにするには若干手間がかかります。まず、以下のファイルを用意します。

Microsoft Visual Studio Communityエディション

MicrosoftのVisual Studioのダウンロードページ

Visual Studioにはいくつかのバージョンがあります。
無料で使えるのはCommunityエディションです。
制限もありますが、OpenJTalkを使えるようにするには、Communityエディションで十分です。

まず、Visual Studio Communityをインストールします。
今回はVisual Studio Community 2017をダウンロードしました。

.tar.gzファイルを解凍できるソフト

以降のファイルは.tar.gzという圧縮形式で配布されているので、このファイル形式を解凍できるソフトを先にインストールしておきます。
わたしは7-zipを使いました。

HTSエンジンAPI

HTSとは、名古屋工業大学徳田・李研究室が提供する音声合成基盤ソフトウェアです。
hts_engine APIというAPIをインストールしたうえでOpenJTalkと組み合わせます。

hts_engine_APIのダウンロード

今回はhts_engine API verstion 1.10をダウンロードします。
Source Codeと書かれたリンクから「hts_engine_API-1.10.tar.gz」をダウンロードします。

OpenJTalk

OpenJTalkは名古屋工業大学徳田・李研究室が開発した、日本語テキスト音声合成システムです。

OpenJTalkのダウンロード

Sourcd Codeと書かれたリンクから、「open_jtalk-1.10.tar.gz」をダウンロードします。

OpenJTalk用辞書ファイル

OpenJTalk用のテキスト音声変換用辞書ファイルです。
上記OpenJTalkのダウンロード先から、ダウンロードすることができます。
Shift-JISでしか認識しないようなので、Binary Package(Shift-JIS)から、「open_jtalk_dic_shift_jis-1.10.tar.gz」をダウンロードします。

Voiceファイル

声データです。
上記のOpenJTalkのダウンロード先の、「HTS voice version 1.05」の「Binary Package」からダウンロードします。
「hts_voice_nitech_jp_atr503_m001-1.05.tar.gz」というファイルがダウンロードされます。

声データはこのほかにも配布している場合があります。

インストール

Microsoft Visual Studio Communityエディション

ダウンロードしたファイル「vs_community__16722044.1520916428.exe」を実行します。

インストールの目的はVisual C++を使えるようにすることなので、インストールで選択する場面では、C++の含まれるものを選択します。

HTSエンジンAPI

7-zipでダウンロードした「hts_engine_API-1.10.tar.gz」を解凍します。
1度解凍して、「.tar」ファイルが生成されたら、さらに解凍すると本体が現れます。
「c:\oj」などのディレクトリをあらかじめ生成しておき、その中に解凍してできた「hts_engine_API-1.10」フォルダごと保存します。

Windows10の検索ボックスで「cmd」と入力して、コマンドプロンプトを起動します。

call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
cd c:\oj
nmake -f Makefile.mak
nmake -f Makefile.mak install

以上を実行します。
最初の1行はVisual Studioのインストール先に含まれています。

成功すると、「c:\hts_engine_API」というディレクトリが生成されています。

OpenJTalk

「open_jtalk-1.10.tar.gz」を7-zipで解凍します。
解凍後の「open_jtalk-1.10」フォルダを、「c:\oj」に移動します。

コマンドプロンプトを起動し、以下のように打ちます。

nmake -f Makefile.mak
nmake -f Makefile.mak install

辞書ファイルを別途インストールするため、エラーメッセージが表示されますが無視しても問題ありません。
「c:\open_jtalk」というフォルダが生成されています。

OpenJTalk用辞書ファイル

「open_jtalk_dic_shift_jis-1.10.tar.gz」を7-zipで解凍します。
「open_jtalk_dic_shift_jis-1.10」というフォルダの名称を「dic」に変更し、「c:\open_jtalk\bin」以下にフォルダごと移動します。

Voiceファイル

「hts_voice_nitech_jp_atr503_m001-1.05.tar.gz」を7-zipで解凍します。
フォルダ内にはいくつかのファイルがありますが、そのうち、「nitech_jp_atr503_m001.htsvoice」を「c:\open_jtalk\bin」にコピーします。

OpenJTalkをつかって合成音声をつくる

テキストファイルに合成したいテキストを入力し、Shift-JISで保存します。
仮に「voice.txt」とします。
このファイルを「c:\open_jtalk\bin」に配置します。

コマンドプロンプトを起動して、以下を入力・実行します。

cd c:\open_jtalk\bin
open_jtalk.exe -m nitech_jp_atr503_m001.htsvoice -x dic -ow output.wav voice.txt

成功すると同じディレクトリ内に、「output.wav」という音声ファイルが生成されています。

なお、英語で「end」と入力しても「エンド」とは発せず、「イー、エヌ、ディー」と言います。

関連記事

Vegas Pro 14でmp4ファイルを編集したい

映像編集ソフト、Vegas Pro 14で、mp4のファイルを編集する方法を調べました。 mp4を編集するためにはコーデックが必要 Vegas Pro 14にmp4ファイルを読み込もうとすると、エラー…続きを読む