Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

整理: Speaker に関するドキュメントを キャラクター ベースに変更 #1416

Merged
merged 19 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ curl -s -X DELETE "127.0.0.1:50021/user_dict_word/$word_uuid"

### プリセット機能について

`presets.yaml`を編集することで話者や話速などのプリセットを使うことができます
`presets.yaml`を編集することでキャラクターや話速などのプリセットを使うことができます

```bash
echo -n "プリセットをうまく活用すれば、サードパーティ間で同じ設定を使うことができます" >text.txt
Expand Down Expand Up @@ -322,7 +322,7 @@ curl -s \
> audio.wav
```

### 話者の追加情報を取得するサンプルコード
### キャラクターの追加情報を取得するサンプルコード

追加情報の中の portrait.png を取得するコードです。
([jq](https://stedolan.github.io/jq/)を使用して json をパースしています。)
Expand Down
4 changes: 2 additions & 2 deletions docs/VOICEVOX音声合成エンジンとの連携.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
- バージョンが上がっても、`/audio_query`で返ってくる値をそのまま`/synthesis`に POST すれば音声合成できるようにする予定です
- `AudioQuery`のパラメータは増えますが、なるべくデフォルト値で以前と変わらない音声が生成されるようにします
- 以前のバージョンの`AudioQuery`を新しいバージョンの`/synthesis`にそのまま POST できるようにします(後方互換)
- バージョン 0.7 から音声スタイルが実装されました。スタイルの情報は`/speakers`から取得できます
- バージョン 0.7 から音声スタイルが実装されました。スタイルの情報は`/speakers`及び`/singers`から取得できます
- スタイルの情報にある`style_id`を`speaker`に指定することで、今まで通り音声合成ができます
- style_id の指定先が speaker なのは互換性のためです
- `style_id`の指定先が`speaker`なのは互換性のためです
2 changes: 1 addition & 1 deletion test/benchmark/speed/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
def benchmark_request(server: ServerType, root_dir: Path | None = None) -> float:
"""
エンジンへのリクエストにかかる時間を測定する。
`GET /` はエンジン内部処理が最小であるため、全話者分のリクエスト-レスポンス(ネットワーク処理部分)にかかる時間を擬似的に計測できる。
`GET /` はエンジン内部処理が最小であるため、全キャラクター分のリクエスト-レスポンス(ネットワーク処理部分)にかかる時間を擬似的に計測できる。
"""

client = generate_client(server, root_dir)
Expand Down
28 changes: 20 additions & 8 deletions test/benchmark/speed/speaker.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""話者に関係したリクエストにかかる時間の測定"""
"""キャラクターに関係したリクエストにかかる時間の測定"""

import argparse
from pathlib import Path
Expand All @@ -22,7 +22,7 @@ def execute() -> None:
def benchmark_get_speaker_info_all(
server: ServerType, root_dir: Path | None = None
) -> float:
"""全話者への `GET /speaker_info` にかかる時間を測定する。"""
"""全ての喋れるキャラクターへの `GET /speaker_info` にかかる時間を測定する。"""

client = generate_client(server, root_dir)

Expand All @@ -45,8 +45,8 @@ def benchmark_request_time_for_all_talk_characters(
server: ServerType, root_dir: Path | None = None
) -> float:
"""
全話者数と同じ回数の `GET /` にかかる時間を測定する。
`GET /` はエンジン内部処理が最小であるため、全話者分のリクエスト-レスポンス(ネットワーク処理部分)にかかる時間を擬似的に計測できる。
喋れるキャラクターの数と同じ回数の `GET /` にかかる時間を測定する。
`GET /` はエンジン内部処理が最小であるため、全ての喋れるキャラクター分のリクエスト-レスポンス(ネットワーク処理部分)にかかる時間を擬似的に計測できる。
"""

client = generate_client(server, root_dir)
Expand Down Expand Up @@ -86,12 +86,24 @@ def execute() -> None:
_result_spk_infos_localhost = benchmark_get_speaker_info_all("localhost", root_dir)
result_spk_infos_fakeserve = "{:.3f}".format(_result_spk_infos_fakeserve)
result_spk_infos_localhost = "{:.3f}".format(_result_spk_infos_localhost)
print(f"全話者 `GET /speaker_info` fakeserve: {result_spk_infos_fakeserve} sec")
print(f"全話者 `GET /speaker_info` localhost: {result_spk_infos_localhost} sec")
print(
f"全ての喋れるキャラクター `GET /speaker_info` fakeserve: {result_spk_infos_fakeserve} sec"
)
print(
f"全ての喋れるキャラクター `GET /speaker_info` localhost: {result_spk_infos_localhost} sec"
)

req_time_all_fake = benchmark_request_time_for_all_talk_characters("fake", root_dir)
req_time_all_local = benchmark_request_time_for_all_talk_characters(
"localhost", root_dir
)
print("全話者 `GET /` fakeserve: {:.3f} sec".format(req_time_all_fake))
print("全話者 `GET /` localhost: {:.3f} sec".format(req_time_all_local))
print(
"全ての喋れるキャラクター `GET /` fakeserve: {:.3f} sec".format(
req_time_all_fake
)
)
print(
"全ての喋れるキャラクター `GET /` localhost: {:.3f} sec".format(
req_time_all_local
)
)
Loading
Loading