voicevox_core.asyncio#
非同期API。
Performance#
内部では Rustのblockingというライブラリ
を用いている。そのため $BLOCKING_MAX_THREADS
から内部のスレッドプールのサイズを調整可能である。
また未調査ではあるが、 cpu_num_threads
は物理コアの数+1を指定するのが適切な可能性がある
(VOICEVOX/voicevox_core#902)。
Classes#
ONNX Runtime。 |
|
テキスト解析器としてのOpen JTalk。 |
|
音声シンセサイザ。 |
|
ユーザー辞書。 |
|
音声モデルファイル。 |
Module Contents#
- class voicevox_core.asyncio.Onnxruntime#
ONNX Runtime。
シングルトンであり、インスタンスは高々一つ。
ort1 = await Onnxruntime.load_once() ort2 = Onnxruntime.get() assert ort2 assert ort2 is ort1
ort = await voicevox_core.asyncio.Onnxruntime.load_once() assert voicevox_core.blocking.Onnxruntime.get()
- LIB_NAME: str = 'voicevox_onnxruntime'#
ONNX Runtimeのライブラリ名。
- LIB_VERSION: str = '1.17.3'#
推奨されるONNX Runtimeのバージョン。
- LIB_VERSIONED_FILENAME: str#
LIB_NAMEとLIB_VERSIONからなる動的ライブラリのファイル名。WindowsとAndroidでは
LIB_UNVERSIONED_FILENAMEと同じ。
- static get() Onnxruntime | None#
インスタンスが既に作られているならそれを得る。
作られていなければ
Noneを返す。
- static load_once(*, filename: str = LIB_VERSIONED_FILENAME) Onnxruntime#
- Async:
ONNX Runtimeをロードして初期化する。
一度成功したら、以後は引数を無視して同じインスタンスを返す。
- Parameters:
filename – ONNX Runtimeのファイル名(モジュール名)もしくはファイルパス。
dlopen/LoadLibraryExW の引数に使われる。
- __repr__() str#
- supported_devices() voicevox_core.SupportedDevices#
このライブラリで利用可能なデバイスの情報を取得する。
- class voicevox_core.asyncio.OpenJtalk#
テキスト解析器としてのOpen JTalk。
- static new(open_jtalk_dict_dir: str | os.PathLike[str]) OpenJtalk#
- Async:
OpenJTalkを生成する。- Parameters:
open_jtalk_dict_dir – Open JTalkの辞書ディレクトリ。
- __repr__() str#
- async use_user_dict(user_dict: UserDict) None#
ユーザー辞書を設定する。
この関数を呼び出した後にユーザー辞書を変更した場合は、再度この関数を呼ぶ必要がある。
- Parameters:
user_dict – ユーザー辞書。
- async analyze(text: str) list[voicevox_core.AccentPhrase]#
日本語のテキストを解析する。
- Parameters:
text – 日本語のテキスト。
- class voicevox_core.asyncio.Synthesizer(onnxruntime: Onnxruntime, open_jtalk: OpenJtalk, *, acceleration_mode: voicevox_core.AccelerationMode = 'AUTO', cpu_num_threads: int = 0)#
音声シンセサイザ。
- Parameters:
onnxruntime – ONNX Runtime。
open_jtalk – Open JTalk。
acceleration_mode – ハードウェアアクセラレーションモード。
cpu_num_threads –
CPU利用数を指定。0を指定すると環境に合わせたCPUが利用される。未調査ではあるが、物理コアの数+1とするのが適切な可能性がある (VOICEVOX/voicevox_core#902)。
- __repr__() str#
- async __aenter__() Synthesizer#
- async __aexit__(exc_type, exc_value, traceback) None#
- property onnxruntime: Onnxruntime#
ONNX Runtime。
- property is_gpu_mode: bool#
ハードウェアアクセラレーションがGPUモードかどうか。
- metas() list[voicevox_core.CharacterMeta]#
メタ情報。
- async load_voice_model(model: VoiceModelFile) None#
モデルを読み込む。
- Parameters:
style_id – 読み込むモデルのスタイルID。
- unload_voice_model(voice_model_id: voicevox_core.VoiceModelId | uuid.UUID) None#
音声モデルの読み込みを解除する。
- Parameters:
voice_model_id – 音声モデルID。
- is_loaded_voice_model(voice_model_id: voicevox_core.VoiceModelId | uuid.UUID) bool#
指定したvoice_model_idのモデルが読み込まれているか判定する。
- Parameters:
voice_model_id – 音声モデルID。
- Return type:
モデルが読み込まれているかどうか。
- async create_audio_query_from_kana(kana: str, style_id: voicevox_core.StyleId | int) voicevox_core.AudioQuery#
AquesTalk風記法から
AudioQueryを生成する。- Parameters:
kana – AquesTalk風記法。
style_id – スタイルID。
- Return type:
スタイルとテキストから生成された
AudioQuery。
- async create_audio_query(text: str, style_id: voicevox_core.StyleId | int) voicevox_core.AudioQuery#
日本語のテキストから
AudioQueryを生成する。create_accent_phrases()とAudioQuery.from_accent_phrases()が一体になったショートハンド。詳細は テキスト音声合成の流れ を参照。- Parameters:
text – UTF-8の日本語テキスト。
style_id – スタイルID。
- Return type:
スタイルとテキストから生成された
AudioQuery。
- async create_accent_phrases_from_kana(kana: str, style_id: voicevox_core.StyleId | int) list[voicevox_core.AccentPhrase]#
AquesTalk風記法からAccentPhrase(アクセント句)の配列を生成する。
- Parameters:
kana – AquesTalk風記法。
style_id – スタイルID。
- Return type:
AccentPhraseの配列。
- async create_accent_phrases(text: str, style_id: voicevox_core.StyleId | int) list[voicevox_core.AccentPhrase]#
日本語のテキストからAccentPhrase(アクセント句)の配列を生成する。
OpenJtalk.analyze()とreplace_mora_data()が一体になったショートハンド。詳細は テキスト音声合成の流れ を参照。- Parameters:
text – UTF-8の日本語テキスト。
style_id – スタイルID。
- Return type:
AccentPhraseの配列。
- async replace_mora_data(accent_phrases: list[voicevox_core.AccentPhrase], style_id: voicevox_core.StyleId | int) list[voicevox_core.AccentPhrase]#
アクセント句の音高・音素長を変更した新しいアクセント句の配列を生成する。
元のアクセント句の音高・音素長は変更されない。
replace_phoneme_length()とreplace_mora_pitch()が一体になったショートハンド。詳細は テキスト音声合成の流れ を参照。- Parameters:
accent_phrases – 変更元のアクセント句。
style_id – スタイルID。
- Return type:
新しいアクセント句の配列。
- async replace_phoneme_length(accent_phrases: list[voicevox_core.AccentPhrase], style_id: voicevox_core.StyleId | int) list[voicevox_core.AccentPhrase]#
アクセント句の音素長を変更した新しいアクセント句の配列を生成する。
元のアクセント句の音素長は変更されない。
- Parameters:
accent_phrases – 変更元のアクセント句。
style_id – スタイルID。
- async replace_mora_pitch(accent_phrases: list[voicevox_core.AccentPhrase], style_id: voicevox_core.StyleId | int) list[voicevox_core.AccentPhrase]#
アクセント句の音高を変更した新しいアクセント句の配列を生成する。
元のアクセント句の音高は変更されない。
- Parameters:
accent_phrases – 変更元のアクセント句。
style_id – スタイルID。
- async synthesis(audio_query: voicevox_core.AudioQuery, style_id: voicevox_core.StyleId | int, *, enable_interrogative_upspeak: bool = True, cancellable: bool = False) bytes#
AudioQueryから音声合成する。cancellableを有効化しない限り、非同期タスクとしてキャンセルしても終わるまで停止しない。- Parameters:
audio_query –
AudioQuery。style_id – スタイルID。
enable_interrogative_upspeak – 疑問文の調整を有効にするかどうか。
cancellable – 音声モデルの実行をキャンセル可能にするかどうか。このオプションを有効にすると、負荷がかかっている状況下でハングする可能性がある。そのためデフォルトでは無効化されている。 VOICEVOX/voicevox_core#968 を参照。
- Return type:
WAVデータ。
- async tts_from_kana(kana: str, style_id: voicevox_core.StyleId | int, *, enable_interrogative_upspeak: bool = True, cancellable: bool = False) bytes#
AquesTalk風記法から音声合成を行う。
cancellableを有効化しない限り、非同期タスクとしてキャンセルしても終わるまで停止しない。- Parameters:
kana – AquesTalk風記法。
style_id – スタイルID。
enable_interrogative_upspeak – 疑問文の調整を有効にするかどうか。
cancellable –
音声モデルの実行をキャンセル可能にするかどうか。このオプションを有効にすると、負荷がかかっている状況下でハングする可能性がある。そのためデフォルトでは無効化されている。 VOICEVOX/voicevox_core#968 を参照。
- async tts(text: str, style_id: voicevox_core.StyleId | int, *, enable_interrogative_upspeak: bool = True, cancellable: bool = False) bytes#
日本語のテキストから音声合成を行う。
create_audio_query()とsynthesis()が一体になったショートハンド。詳細は テキスト音声合成の流れ を参照。cancellableを有効化しない限り、非同期タスクとしてキャンセルしても終わるまで停止しない。- Parameters:
text – UTF-8の日本語テキスト。
style_id – スタイルID。
enable_interrogative_upspeak – 疑問文の調整を有効にするかどうか。
cancellable –
音声モデルの実行をキャンセル可能にするかどうか。このオプションを有効にすると、負荷がかかっている状況下でハングする可能性がある。そのためデフォルトでは無効化されている。 VOICEVOX/voicevox_core#968 を参照。
- Return type:
WAVデータ。
- async close() None#
- class voicevox_core.asyncio.UserDict#
ユーザー辞書。
- to_dict() dict[uuid.UUID, voicevox_core.UserDictWord]#
このオプジェクトを
dictに変換する。
- __repr__() str#
- async load(path: str | os.PathLike[str]) None#
ファイルに保存されたユーザー辞書を読み込む。
- Parameters:
path – ユーザー辞書のパス。
- async save(path: str | os.PathLike[str]) None#
ユーザー辞書をファイルに保存する。
- Parameters:
path – ユーザー辞書のパス。
- add_word(word: voicevox_core.UserDictWord) uuid.UUID#
単語を追加する。
- Parameters:
word – 追加する単語。
- Return type:
単語のUUID。
- update_word(word_uuid: uuid.UUID, word: voicevox_core.UserDictWord) None#
単語を更新する。
- Parameters:
word_uuid – 更新する単語のUUID。
word – 新しい単語のデータ。
- remove_word(word_uuid: uuid.UUID) None#
単語を削除する。
- Parameters:
word_uuid – 削除する単語のUUID。
- class voicevox_core.asyncio.VoiceModelFile#
音声モデルファイル。
- static open(path: str | os.PathLike[str]) VoiceModelFile#
- Async:
VVMファイルを開く。
- Parameters:
path – VVMファイルへのパス。
- __repr__() str#
- async close() None#
VVMファイルを閉じる。
このメソッドが呼ばれた段階で
Synthesizer.load_voice_modelからのアクセスが継続中の場合、アクセスが終わるまで待つ。
- property id: voicevox_core.VoiceModelId#
ID。
詳細は
voicevox_core.VoiceModelIdを参照。
- property metas: list[voicevox_core.CharacterMeta]#
メタ情報。
この中身を書き換えても、
VoiceModelFileとしての動作には影響しない。
- async __aenter__() VoiceModelFile#
- async __aexit__(exc_type, exc_value, traceback) None#