From e9f4bbeba1d87c0286ef98f244249126b2cc9d5e Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Wed, 29 Nov 2023 19:11:53 +0900 Subject: [PATCH 01/10] =?UTF-8?q?=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC?= =?UTF-8?q?=E3=82=AC=E3=82=A4=E3=83=89=E8=BF=BD=E5=8A=A0=EF=BC=88=E9=80=94?= =?UTF-8?q?=E4=B8=AD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 docs/usage.md diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 000000000..52136cf89 --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,60 @@ +# VOICEVOX CORE ユーザーガイド + +## VOICEVOX CORE とは + +VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能です。 + +コアを利用する方法は2つあります。動的ライブラリを直接実行する方法と、各言語向けのライブラリをインストールする方法です。初心者の方は後者がおすすめです。 + +ここではまず環境構築の方法を紹介し、Python ライブラリのインストール方法を紹介します。その後、実際に音声合成を行う方法を少し細かく紹介します。 + +## 環境構築 + +### 実行に必要なファイルのダウンロード + +コアを動作させるには依存ライブラリである `onnxruntime` や、音声合成のためのモデル(VVM)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 + +[最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)から、お使いの環境にあった Downloader (Windows の x64 環境の場合は`download-windows-x64.exe`)をダウンロードし、ファイル名を`download`に変更します。macOS や Linux の場合は実行権限を付与します。 + +```sh +# 実行権限の付与 +chmod +x download +``` + +以下のコマンドで Downloader を実行して依存ライブラリとモデルをダウンロードします。DirectML や CUDA を利用する場合は引数を追加します。 + +```sh +# CPU 版を利用する場合 +./download + +# DirectML を利用する場合 +./download --device directml + +# CUDA を利用する場合 +./download --device cuda +``` + +`voicevox_core`ディレクトリにファイル一式がダウンロードされています。以降の説明ではこのディレクトリで作業を行います。 + +詳細な Downloader の使い方は [こちら](./downloader.md) で紹介しています。 + +### Python ライブラリのインストール + +> [!NOTE] +> Downloader を実行すればコアの動的ライブラリもダウンロードされているので、Python ライブラリを用いない場合はこの章はスキップできます。 + +`pip install`で Python ライブラリをインストールします。使いたい OS・アーキテクチャ・デバイス・バージョンによって URL が変わるので、[最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)の`Python wheel`に合わせます。 + +```sh +pip install https://github.com/VOICEVOX/voicevox_core/releases/download/[バージョン]/voicevox_core-[バージョン]+[デバイス]-cp38-abi3-[OS・アーキテクチャ].whl +``` + +## 実行 + +Downloader を実行すればコアの動的ライブラリもダウンロードされているので、 + +環境構築はどうすればいいのか(Python で説明予定) +Synthesizer と VVM とは何なのか +実際に音声合成する方法 +調整を変更する方法 +キャラクターを変える方法 From c12b6c778aacc5ad4eba48ee01926799da358520 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 02:16:45 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=E4=B8=80=E9=80=9A=E3=82=8A=E6=9B=B8?= =?UTF-8?q?=E3=81=84=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 129 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 122 insertions(+), 7 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 52136cf89..2c97b73e8 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -49,12 +49,127 @@ chmod +x download pip install https://github.com/VOICEVOX/voicevox_core/releases/download/[バージョン]/voicevox_core-[バージョン]+[デバイス]-cp38-abi3-[OS・アーキテクチャ].whl ``` -## 実行 +## テキスト音声合成 -Downloader を実行すればコアの動的ライブラリもダウンロードされているので、 +`voicevox_core`ディレクトリ内でコードを実行します。VOICEVOX コアは`Synthesizer`に音声モデルを読み込むことでテキスト音声合成できます。まずサンプルコードを紹介し、その後で処理1つ1つを説明します。 -環境構築はどうすればいいのか(Python で説明予定) -Synthesizer と VVM とは何なのか -実際に音声合成する方法 -調整を変更する方法 -キャラクターを変える方法 +### サンプルコード + +これは Python で書かれたサンプルコードですが、大枠の流れはどの言語でも同じです。 + +```python +import asyncio +from pprint import pprint +from voicevox_core import OpenJtalk, Synthesizer, VoiceModel + +# asyncやawaitは必須です +async def main(): + # 1. Synthesizerの初期化 + open_jtalk_dict_dir = "open_jtalk_dic_utf_8-1.11" + synthesizer = Synthesizer(await OpenJtalk.new(open_jtalk_dict_dir)) + + # 2. 音声モデルの読み込み + model = await VoiceModel.from_path("model/0.vvm") + await synthesizer.load_voice_model(model) + + # 3. テキスト音声合成 + text = "サンプル音声です" + style_id = 0 + wav = await synthesizer.tts(text, style_id) + with open("output.wav", "wb") as f: + f.write(wav) + +asyncio.run(main()) +``` + +### 1. Synthesizer の初期化 + +辞書などを取り扱う`OpenJtalk`のインスタンスを引数に渡して`Synthesizer`を初期化します。`Synthesizer`は音声合成だけでなく、音声モデルを複数読み込んだり、イントネーションのみを生成することもできます。 + +### 2. 音声モデルの読み込み + +VVM ファイルから`VoiceModel`インスタンスを作成し、`Synthesizer`に読み込ませます。`VoiceModel`は音声モデルのパラメータを保持しています。`.metas`でその VVM ファイルにどの声が含まれているか確認できます。 + +```python +model = await VoiceModel.from_path("model/0.vvm") +pprint(model.metas) +``` + +```txt +[SpeakerMeta(name='四国めたん', + styles=[StyleMeta(name='ノーマル', id=2), + StyleMeta(name='あまあま', id=0), + StyleMeta(name='ツンツン', id=6), + StyleMeta(name='セクシー', id=4)], + speaker_uuid='7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff', + version='0.14.4'), + SpeakerMeta(name='ずんだもん', + ... +``` + +### 3. テキスト音声合成 + +読み込んだ音声モデル内の声でテキスト音声合成を行います。`Synthesizer`の`.tts`にテキストとスタイル ID を渡すと、音声波形のバイナリデータが返ります。 + +## イントネーションの調整 + +`Synthesizer`はイントネーションの生成と音声合成を分けて行うことができます。 + +### AudioQuery の生成 + +まずテキストから`AudioQuery`を生成します。`AudioQuery`には各音の高さや長さが含まれています。 + +```python +text = "サンプル音声です" +style_id = 0 +audio_query = await synthesizer.audio_query(text, style_id) +pprint(audio_query) +``` + +```txt +AudioQuery(accent_phrases=[AccentPhrase(moras=[Mora(text='サ', + vowel='a', + vowel_length=0.13019563, + pitch=5.6954613, + consonant='s', + consonant_length=0.10374545), + Mora(text='ン', + vowel='N', + vowel_length=0.07740324, + pitch=5.828728, + consonant=None, + consonant_length=None), + Mora(text='プ', + ... +``` + +### AudioQuery の調整 + +では少し声を高くしてみましょう。`AudioQuery`の`.pitch_scale`で声の高さを調整できます。 + +```python +audio_query.pitch_scale = 0.1 +``` + +### 音声合成 + +調整した`AudioQuery`を`Synthesizer`の`.synthesis`に渡すと、調整した音声波形のバイナリデータが返ります。 + +```python + wav = await synthesizer.synthesis(audio_query, style_id) + with open("output.wav", "wb") as f: + f.write(wav) +``` + +`AudioQuery`で調整できるパラメータは他にも速さ`.speed_scale`や音量`.volume_scale`、他にも音ごとの高さ`.accent_phrases[].moras[].pitch`などがあります。詳細は[API ドキュメント](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.AudioQuery)で紹介しています。 + +## 辞書の変更 + +TODO。[OpenJtalk.use_user_dict](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.OpenJtalk.use_user_dict)辺りを使います。 + +## 非同期処理 + +TODO。同じ音声モデルのインスタンスで同時に音声合成はできません(Mutex になっています)。仕様が変更されている可能性もあります。 + +内部で利用する onnxruntime が最適化処理を行っているため、パフォーマンス目的で非同期処理するのは効果がないことが多いです。 +`Synthesizer`の`cpu_num_threads`を減らした状態であれば、長い音声を合成しているものにロックされずバランシングできるかもしれません。 From b99a15ba1b36e5b1c148602cd783a6e5ec355eb6 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 02:18:21 +0900 Subject: [PATCH 03/10] =?UTF-8?q?CORE=E2=86=92=E3=82=B3=E3=82=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 2c97b73e8..b670b9ff1 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,6 +1,6 @@ -# VOICEVOX CORE ユーザーガイド +# VOICEVOX コア ユーザーガイド -## VOICEVOX CORE とは +## VOICEVOX コアとは VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能です。 From 8afb8bcbd80b457b637858b8d6386d52d126424e Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 02:20:24 +0900 Subject: [PATCH 04/10] =?UTF-8?q?VVM=20=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index b670b9ff1..555d0b500 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -12,7 +12,7 @@ VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能で ### 実行に必要なファイルのダウンロード -コアを動作させるには依存ライブラリである `onnxruntime` や、音声合成のためのモデル(VVM)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 +コアを動作させるには依存ライブラリである `onnxruntime` や、音声合成のための音声モデル(VVM ファイル)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 [最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)から、お使いの環境にあった Downloader (Windows の x64 環境の場合は`download-windows-x64.exe`)をダウンロードし、ファイル名を`download`に変更します。macOS や Linux の場合は実行権限を付与します。 From 5526e828b048da4e10d14b72659feac4f23d9fac Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 02:45:08 +0900 Subject: [PATCH 05/10] =?UTF-8?q?=E5=BE=AE=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 555d0b500..56a73c8c2 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -14,23 +14,23 @@ VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能で コアを動作させるには依存ライブラリである `onnxruntime` や、音声合成のための音声モデル(VVM ファイル)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 -[最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)から、お使いの環境にあった Downloader (Windows の x64 環境の場合は`download-windows-x64.exe`)をダウンロードし、ファイル名を`download`に変更します。macOS や Linux の場合は実行権限を付与します。 +[最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)から、お使いの環境にあった Downloader (例えば Windows の x64 環境の場合は`download-windows-x64.exe`)をダウンロードし、ファイル名を`download`に変更します。macOS や Linux の場合は実行権限を付与します。 ```sh # 実行権限の付与 chmod +x download ``` -以下のコマンドで Downloader を実行して依存ライブラリとモデルをダウンロードします。DirectML や CUDA を利用する場合は引数を追加します。 +以下のコマンドで Downloader を実行して依存ライブラリとモデルをダウンロードします。DirectML 版や CUDA 版を利用する場合は引数を追加します。 ```sh -# CPU 版を利用する場合 +# CPU版を利用する場合 ./download -# DirectML を利用する場合 +# DirectML版を利用する場合 ./download --device directml -# CUDA を利用する場合 +# CUDA版を利用する場合 ./download --device cuda ``` @@ -51,7 +51,7 @@ pip install https://github.com/VOICEVOX/voicevox_core/releases/download/[バー ## テキスト音声合成 -`voicevox_core`ディレクトリ内でコードを実行します。VOICEVOX コアは`Synthesizer`に音声モデルを読み込むことでテキスト音声合成できます。まずサンプルコードを紹介し、その後で処理1つ1つを説明します。 +VOICEVOX コアでは`Synthesizer`に音声モデルを読み込むことでテキスト音声合成できます。まずサンプルコードを紹介し、その後で処理1つ1つを説明します。 ### サンプルコード @@ -88,7 +88,7 @@ asyncio.run(main()) ### 2. 音声モデルの読み込み -VVM ファイルから`VoiceModel`インスタンスを作成し、`Synthesizer`に読み込ませます。`VoiceModel`は音声モデルのパラメータを保持しています。`.metas`でその VVM ファイルにどの声が含まれているか確認できます。 +VVM ファイルから`VoiceModel`インスタンスを作成し、`Synthesizer`に読み込ませます。その VVM ファイルにどの声が含まれているかは`VoiceModel`は`.metas`で確認できます。 ```python model = await VoiceModel.from_path("model/0.vvm") @@ -113,7 +113,7 @@ pprint(model.metas) ## イントネーションの調整 -`Synthesizer`はイントネーションの生成と音声合成を分けて行うことができます。 +`Synthesizer`はイントネーションの生成と音声合成の処理を分けることができます。 ### AudioQuery の生成 @@ -145,7 +145,7 @@ AudioQuery(accent_phrases=[AccentPhrase(moras=[Mora(text='サ', ### AudioQuery の調整 -では少し声を高くしてみましょう。`AudioQuery`の`.pitch_scale`で声の高さを調整できます。 +少し声を高くしてみます。`AudioQuery`の`.pitch_scale`で声の高さを調整できます。 ```python audio_query.pitch_scale = 0.1 @@ -161,9 +161,9 @@ audio_query.pitch_scale = 0.1 f.write(wav) ``` -`AudioQuery`で調整できるパラメータは他にも速さ`.speed_scale`や音量`.volume_scale`、他にも音ごとの高さ`.accent_phrases[].moras[].pitch`などがあります。詳細は[API ドキュメント](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.AudioQuery)で紹介しています。 +`AudioQuery`で調整できるパラメータは他にも速さ`.speed_scale`や音量`.volume_scale`、音ごとの高さ`.accent_phrases[].moras[].pitch`などがあります。詳細は[API ドキュメント](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.AudioQuery)で紹介しています。 -## 辞書の変更 +## ユーザー辞書 TODO。[OpenJtalk.use_user_dict](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.OpenJtalk.use_user_dict)辺りを使います。 From 0235424d5fc839c6397c27253a69452f031ff79e Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 02:57:30 +0900 Subject: [PATCH 06/10] ONNX Runtime --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 56a73c8c2..8b8baa579 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -12,7 +12,7 @@ VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能で ### 実行に必要なファイルのダウンロード -コアを動作させるには依存ライブラリである `onnxruntime` や、音声合成のための音声モデル(VVM ファイル)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 +コアを動作させるには依存ライブラリである ONNX Runtime や、音声合成のための音声モデル(VVM ファイル)が必要です。これらはコア用の Downloader を用いてダウンロードすることができます。 [最新のリリース](https://github.com/VOICEVOX/voicevox_core/releases/latest/)から、お使いの環境にあった Downloader (例えば Windows の x64 環境の場合は`download-windows-x64.exe`)をダウンロードし、ファイル名を`download`に変更します。macOS や Linux の場合は実行権限を付与します。 @@ -171,5 +171,5 @@ TODO。[OpenJtalk.use_user_dict](https://voicevox.github.io/voicevox_core/apis/p TODO。同じ音声モデルのインスタンスで同時に音声合成はできません(Mutex になっています)。仕様が変更されている可能性もあります。 -内部で利用する onnxruntime が最適化処理を行っているため、パフォーマンス目的で非同期処理するのは効果がないことが多いです。 +内部で利用する ONNX Runtime が最適化処理を行っているため、パフォーマンス目的で非同期処理するのは効果がないことが多いです。 `Synthesizer`の`cpu_num_threads`を減らした状態であれば、長い音声を合成しているものにロックされずバランシングできるかもしれません。 From a639acd4c1d8f7798ccd4b164bf919b58fe94591 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 03:01:34 +0900 Subject: [PATCH 07/10] =?UTF-8?q?=E5=8A=A9=E8=A9=9E=E3=82=92=E8=AA=BF?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 8b8baa579..970d732dd 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -88,7 +88,7 @@ asyncio.run(main()) ### 2. 音声モデルの読み込み -VVM ファイルから`VoiceModel`インスタンスを作成し、`Synthesizer`に読み込ませます。その VVM ファイルにどの声が含まれているかは`VoiceModel`は`.metas`で確認できます。 +VVM ファイルから`VoiceModel`インスタンスを作成し、`Synthesizer`に読み込ませます。その VVM ファイルにどの声が含まれているかは`VoiceModel`の`.metas`で確認できます。 ```python model = await VoiceModel.from_path("model/0.vvm") @@ -113,7 +113,7 @@ pprint(model.metas) ## イントネーションの調整 -`Synthesizer`はイントネーションの生成と音声合成の処理を分けることができます。 +`Synthesizer`はイントネーションの生成と音声合成の処理を分けることもできます。 ### AudioQuery の生成 @@ -148,7 +148,7 @@ AudioQuery(accent_phrases=[AccentPhrase(moras=[Mora(text='サ', 少し声を高くしてみます。`AudioQuery`の`.pitch_scale`で声の高さを調整できます。 ```python -audio_query.pitch_scale = 0.1 +audio_query.pitch_scale += 0.1 ``` ### 音声合成 From 7080d48848bd94c9a465e6428f41b19d71935007 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 2 Dec 2023 22:20:55 +0900 Subject: [PATCH 08/10] Update docs/usage.md Co-authored-by: Nanashi. --- docs/usage.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 970d732dd..147a53033 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -156,9 +156,9 @@ audio_query.pitch_scale += 0.1 調整した`AudioQuery`を`Synthesizer`の`.synthesis`に渡すと、調整した音声波形のバイナリデータが返ります。 ```python - wav = await synthesizer.synthesis(audio_query, style_id) - with open("output.wav", "wb") as f: - f.write(wav) +wav = await synthesizer.synthesis(audio_query, style_id) +with open("output.wav", "wb") as f: + f.write(wav) ``` `AudioQuery`で調整できるパラメータは他にも速さ`.speed_scale`や音量`.volume_scale`、音ごとの高さ`.accent_phrases[].moras[].pitch`などがあります。詳細は[API ドキュメント](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.AudioQuery)で紹介しています。 From 780380b6c8469ff3dd0998f39a2582b401e3a707 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Tue, 5 Dec 2023 02:11:39 +0900 Subject: [PATCH 09/10] =?UTF-8?q?https://github.com/VOICEVOX/voicevox=5Fco?= =?UTF-8?q?re/pull/699/files#r1413117544=20=E8=A7=A3=E6=B1=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 970d732dd..1d0e8d3c8 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -4,7 +4,7 @@ VOICEVOX の音声合成のコア部分で、VOICEVOX 音声合成が可能です。 -コアを利用する方法は2つあります。動的ライブラリを直接実行する方法と、各言語向けのライブラリをインストールする方法です。初心者の方は後者がおすすめです。 +コアを利用する方法は2つあります。動的ライブラリを使う方法と、各言語向けのライブラリを使う方法です。初心者の方は後者がおすすめです。 ここではまず環境構築の方法を紹介し、Python ライブラリのインストール方法を紹介します。その後、実際に音声合成を行う方法を少し細かく紹介します。 From 6b3c0e715d0e6edf162634038a3be144767c6ba0 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Tue, 5 Dec 2023 02:16:55 +0900 Subject: [PATCH 10/10] =?UTF-8?q?=E3=80=8C=E5=8B=95=E7=9A=84=E3=83=A9?= =?UTF-8?q?=E3=82=A4=E3=83=96=E3=83=A9=E3=83=AA=E3=82=92=E4=BD=BF=E3=81=86?= =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=80=8D=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/usage.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/usage.md b/docs/usage.md index 875f54667..e602e72fd 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -167,6 +167,10 @@ with open("output.wav", "wb") as f: TODO。[OpenJtalk.use_user_dict](https://voicevox.github.io/voicevox_core/apis/python_api/autoapi/voicevox_core/index.html#voicevox_core.OpenJtalk.use_user_dict)辺りを使います。 +## 動的ライブラリを使う場合 + +TODO。.so/.dll/.dylib ファイルがあるので直接呼び出します。[C++ Example](https://github.com/VOICEVOX/voicevox_core/tree/main/example/cpp)で流れを紹介しています。[API ドキュメント](https://voicevox.github.io/voicevox_core/apis/c_api/globals_func.html)も参考になります。 + ## 非同期処理 TODO。同じ音声モデルのインスタンスで同時に音声合成はできません(Mutex になっています)。仕様が変更されている可能性もあります。