HSP : Hot Soup Processor ver3.7 / onion software 2023-(c)
HSPVOICEVOXプラグインは、VOICEVOX COREによる音声合成を呼び出す機能を提供します。 VOICEVOXにより、様々なキャラクターによる精度の高い音声読み上げを行うことが可能になります。
VOICEVOX https://voicevox.hiroshiba.jp/
使用する場合は、データのダウンロードと準備を行う必要がありますのでご注意ください。
あらかじめ、VOICEVOX COREを使用するためのデータをダウンロードして展開する必要があります。
HSPVOICEVOXプラグインを使用するにあたって、以下のデータが必要になります。
・VOICEVOX コアライブラリ release版 (0.14.4) ・Open Jtalkの辞書ファイル (open_jtalk_dic_utf_8-1.11)
「VOICEVOX コアライブラリ release版 (0.14.4)」は、VOICEVOX COREのリリースページから「voicevox_core-windows-x86-cpu-0.14.4.zip」(CPU版、32bit)のダウンロードを行ってください。 この中から、以下のファイルをHSP3インストールフォルダ(hsp3.exeなどが配置されているフォルダ、通常は「c:\hsp36」などが設定されています)にコピーしてください。
modelフォルダ onnxruntime.dll onnxruntime_providers_shared.dll voicevox_core.dll
最低限、これらのファイルが動作に必要です。
次に、Open Jtalkの辞書ファイルを (open_jtalk_dic_utf_8-1.11)ダウンロードします。こちらのページからダウンロード可能です。
Open Jtalkの辞書ファイル(open_jtalk_dic_utf_8-1.11)ダウンロード
このファイルから、「open_jtalk_dic_utf_8-1.11」フォルダを解凍して取り出す必要があります。圧縮されているtar.gzファイルを解凍するため、Explzhなどのソフトが別途必要になります。
この「open_jtalk_dic_utf_8-1.11」フォルダを先ほどと同様にHSP3インストールフォルダに配置してください。
以上で、HSPVOICEVOXプラグインを使用することができます。sample/hspvoicevoxフォルダにサンプルスクリプトがありますので、参考にしてみてください。
実行ファイルを作成した場合も、同様にプラグイン本体(hspvoicevox.dll)及びVOICEVOX コアライブラリ、データファイルを実行ファイルと同じフォルダに配置する必要がありますのでご注意ください。
スクリプトの先頭に「#include "hspvoicevox.as"」を入れることで、HSPVOICEVOXプラグインの命令を使用することができるようになります。
voicevoxinit VOICEVOX COREによる音声合成の初期化 voicevoxbye VOICEVOX COREによる音声合成の終了処理 voicevoxload VOICEVOX話者のデータを読み込み voicevoxgeterror VOICEVOXのエラー文字列を取得する voicevoxgetversion VOICEVOXのバージョン文字列を取得する voicevoxgetmetas VOICEVOXのメタ情報を取得する voicevoxspeak VOICEVOXによる読み上げを実行する voicevoxmmload VOICEVOXによる読み上げ音声をメディアバッファに登録する voicevoxsave VOICEVOXによる読み上げ音声をファイルに保存する
HSPVOICEVOXプラグインを使用する際には、最初にvoicevoxinit命令を実行し、VOICEVOX COREによる音声合成の初期化を行ないます。
これは、プログラム実行時の最初に1回だけ初期化を行なう必要があります。
これ以降は、VOICEVOX COREによる音声合成機能を使用することが可能になります。
ほとんどの命令は、実行後にシステム変数statに結果が代入されます。
システム変数statの値が0以外の場合は、初期化に失敗しています。その場合は、voicevoxgeterror命令でエラー文字列を取得することが可能です。
実際に読み上げを行うためには、voicevoxload命令により話者の読み込みをする必要があります。
voicevoxinit voicevoxload 3 ; 「ずんだもん:ノーマル」を読み込み
上の例では、ID3(ずんだもん:ノーマル)を読み込み使用可能な状態にします。
VOICEVOX話者のデータは、メモリの制限内で複数を読み込むことができます。
準備のできた話者IDは、voicevoxspeakなどの命令で音声の再生が可能になります。
話者IDに指定する値は、modelフォルダ内のmetas.jsonファイルに記述されています。この情報は、voicevoxgetmetas命令でも取得することができます。
( sample/hspvoicevox/test2.hsp サンプルでは、jsonファイル内の話者ID情報を読み込み選択可能にしています。)
実際に、音声合成を行う場合は、「voicevoxspeak」「voicevoxmmload」「voicevoxsave」などの命令を使用します。最も簡単に読み上げを行う場合は、voicevoxspeak命令を使用します。
voicevoxspeak "こんにちは、ずんだもんなのだ。", 3
上の例では、ID3(ずんだもん:ノーマル)により指定された文字列を読み上げます。
voicevoxspeak命令は、文字列を解析して読み上げ音声を再生しますが、あらかじめ読み上げ音声を作成しておいて決められたタイミングで再生することもできます。
voicevoxmmload "text", ID, buffer
voicevoxmmload命令は、"text"パラメーターで指定された文字列を読み上げて、その音声をメディアバッファに登録します。登録後は、mmplay命令により登録されたメディアバッファIDを再生することができます。
voicevoxsave "text", ID, "保存するファイル名"
voicevoxsave命令は、"text"パラメーターで指定された文字列を読み上げて、その音声をwav形式のファイルとして保存することができます。
HSPVOICEVOXプラグインは、VOICEVOXコアライブラリにより作成されています。素晴らしいライブラリの公開ありがとうございます。
プラグイン本体(hspvoicevox.dll)及び作成されたソフトウェアは自由に公開配布して頂いて構いません。
VOICEVOXコアライブラリ及び、各種データのライセンス及び配布の指定は、それぞれのサイトを参照してください。
VOICEVOXに付属する音声には、各キャラクターごとの利用規約がありますので、そちらを参照してください。
VOICE VOX voicevox_core Copyright (c) 2021 Hiroshiba Kazuyuki https://voicevox.hiroshiba.jp/ https://github.com/VOICEVOX/voicevox_core The Japanese TTS System "Open JTalk" developed by HTS Working Group http://open-jtalk.sourceforge.net/