diff --git a/openapi.json b/openapi.json index 824d48efaa..a4effee51a 100644 --- a/openapi.json +++ b/openapi.json @@ -1 +1 @@ -{"openapi":"3.0.2","info":{"title":"SHAREVOX ENGINE","description":"SHAREVOXの音声合成エンジンです。","version":"latest"},"paths":{"/audio_query":{"post":{"tags":["クエリ作成"],"summary":"音声合成用のクエリを作成する","description":"クエリの初期値を得ます。ここで得られたクエリはそのまま音声合成に利用できます。各値の意味は`Schemas`を参照してください。","operationId":"audio_query_audio_query_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audio_query_from_preset":{"post":{"tags":["クエリ作成"],"summary":"音声合成用のクエリをプリセットを用いて作成する","description":"クエリの初期値を得ます。ここで得られたクエリはそのまま音声合成に利用できます。各値の意味は`Schemas`を参照してください。","operationId":"audio_query_from_preset_audio_query_from_preset_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Preset Id","type":"integer"},"name":"preset_id","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/accent_phrases":{"post":{"tags":["クエリ編集"],"summary":"テキストからアクセント句を得る","description":"テキストからアクセント句を得ます。\nis_kanaが`true`のとき、テキストは次のようなAquesTalkライクな記法に従う読み仮名として処理されます。デフォルトは`false`です。\n* 全てのカナはカタカナで記述される\n* アクセント句は`/`または`、`で区切る。`、`で区切った場合に限り無音区間が挿入される。\n* カナの手前に`_`を入れるとそのカナは無声化される\n* アクセント位置を`'`で指定する。全てのアクセント句にはアクセント位置を1つ指定する必要がある。\n* アクセント句末に`?`(全角)を入れることにより疑問文の発音ができる。","operationId":"accent_phrases_accent_phrases_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Is Kana","type":"boolean","default":false},"name":"is_kana","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Accent Phrases Accent Phrases Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"400":{"description":"読み仮名のパースに失敗","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseKanaBadRequest"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_data":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音高・音素長を得る","operationId":"mora_data_mora_data_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Data Mora Data Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_length":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音素長を得る","operationId":"mora_length_mora_length_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Length Mora Length Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_pitch":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音高を得る","operationId":"mora_pitch_mora_pitch_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Pitch Mora Pitch Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/synthesis":{"post":{"tags":["音声合成"],"summary":"音声合成する","operationId":"synthesis_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"description":"疑問系のテキストが与えられたら語尾を自動調整する","required":false,"schema":{"title":"Enable Interrogative Upspeak","type":"boolean","description":"疑問系のテキストが与えられたら語尾を自動調整する","default":true},"name":"enable_interrogative_upspeak","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cancellable_synthesis":{"post":{"tags":["音声合成"],"summary":"音声合成する(キャンセル可能)","operationId":"cancellable_synthesis_cancellable_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/multi_synthesis":{"post":{"tags":["音声合成"],"summary":"複数まとめて音声合成する","operationId":"multi_synthesis_multi_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Queries","type":"array","items":{"$ref":"#/components/schemas/AudioQuery"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/synthesis_morphing":{"post":{"tags":["音声合成"],"summary":"2人の話者でモーフィングした音声を合成する","description":"指定された2人の話者で音声を合成、指定した割合でモーフィングした音声を得ます。\nモーフィングの割合は`morph_rate`で指定でき、0.0でベースの話者、1.0でターゲットの話者に近づきます。","operationId":"_synthesis_morphing_synthesis_morphing_post","parameters":[{"required":true,"schema":{"title":"Base Speaker","type":"integer"},"name":"base_speaker","in":"query"},{"required":true,"schema":{"title":"Target Speaker","type":"integer"},"name":"target_speaker","in":"query"},{"required":true,"schema":{"title":"Morph Rate","maximum":1.0,"minimum":0.0,"type":"number"},"name":"morph_rate","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/connect_waves":{"post":{"tags":["その他"],"summary":"base64エンコードされた複数のwavデータを一つに結合する","description":"base64エンコードされたwavデータを一纏めにし、wavファイルで返します。","operationId":"connect_waves_connect_waves_post","requestBody":{"content":{"application/json":{"schema":{"title":"Waves","type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presets":{"get":{"tags":["その他"],"summary":"Get Presets","description":"エンジンが保持しているプリセットの設定を返します\n\nReturns\n-------\npresets: List[Preset]\n プリセットのリスト","operationId":"get_presets_presets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Presets Presets Get","type":"array","items":{"$ref":"#/components/schemas/Preset"}}}}}}}},"/version":{"get":{"tags":["その他"],"summary":"Version","operationId":"version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/core_versions":{"get":{"tags":["その他"],"summary":"Core Versions","operationId":"core_versions_core_versions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Core Versions Core Versions Get","type":"array","items":{"type":"string"}}}}}}}},"/speakers":{"get":{"tags":["その他"],"summary":"Speakers","operationId":"speakers_speakers_get","parameters":[{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Speakers Speakers Get","type":"array","items":{"$ref":"#/components/schemas/Speaker"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/speaker_info":{"get":{"tags":["その他"],"summary":"Speaker Info","description":"指定されたspeaker_uuidに関する情報をjson形式で返します。\n画像や音声はbase64エンコードされたものが返されます。\n\nReturns\n-------\nret_data: SpeakerInfo","operationId":"speaker_info_speaker_info_get","parameters":[{"required":true,"schema":{"title":"Speaker Uuid","type":"string"},"name":"speaker_uuid","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeakerInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/initialize_speaker":{"post":{"tags":["その他"],"summary":"Initialize Speaker","description":"指定されたspeaker_idの話者を初期化します。\n実行しなくても他のAPIは使用できますが、初回実行時に時間がかかることがあります。","operationId":"initialize_speaker_initialize_speaker_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/is_initialized_speaker":{"get":{"tags":["その他"],"summary":"Is Initialized Speaker","description":"指定されたspeaker_idの話者が初期化されているかどうかを返します。","operationId":"is_initialized_speaker_is_initialized_speaker_get","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Is Initialized Speaker Is Initialized Speaker Get","type":"boolean"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_dict":{"get":{"tags":["ユーザー辞書"],"summary":"Get User Dict Words","description":"ユーザー辞書に登録されている単語の一覧を返します。\n単語の表層形(surface)は正規化済みの物を返します。\n\nReturns\n-------\nDict[str, UserDictWord]\n 単語のUUIDとその詳細","operationId":"get_user_dict_words_user_dict_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get User Dict Words User Dict Get","type":"object","additionalProperties":{"$ref":"#/components/schemas/UserDictWord"}}}}}}}},"/user_dict_word":{"post":{"tags":["ユーザー辞書"],"summary":"Add User Dict Word","description":"ユーザー辞書に言葉を追加します。\n\nParameters\n----------\nsurface : str\n 言葉の表層形\npronunciation: str\n 言葉の発音(カタカナ)\naccent_type: int\n アクセント型(音が下がる場所を指す)\nword_type: WordTypes, optional\n PROPER_NOUN(固有名詞)、COMMON_NOUN(普通名詞)、VERB(動詞)、ADJECTIVE(形容詞)、SUFFIX(語尾)のいずれか\npriority: int, optional\n 単語の優先度(0から10までの整数)\n 数字が大きいほど優先度が高くなる\n 1から9までの値を指定することを推奨","operationId":"add_user_dict_word_user_dict_word_post","parameters":[{"required":true,"schema":{"title":"Surface","type":"string"},"name":"surface","in":"query"},{"required":true,"schema":{"title":"Pronunciation","type":"string"},"name":"pronunciation","in":"query"},{"required":true,"schema":{"title":"Accent Type","type":"integer"},"name":"accent_type","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/WordTypes"},"name":"word_type","in":"query"},{"required":false,"schema":{"title":"Priority","maximum":10.0,"minimum":0.0,"type":"integer"},"name":"priority","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Add User Dict Word User Dict Word Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_dict_word/{word_uuid}":{"put":{"tags":["ユーザー辞書"],"summary":"Rewrite User Dict Word","description":"ユーザー辞書に登録されている言葉を更新します。\n\nParameters\n----------\nsurface : str\n 言葉の表層形\npronunciation: str\n 言葉の発音(カタカナ)\naccent_type: int\n アクセント型(音が下がる場所を指す)\nword_uuid: str\n 更新する言葉のUUID\nword_type: WordTypes, optional\n PROPER_NOUN(固有名詞)、COMMON_NOUN(普通名詞)、VERB(動詞)、ADJECTIVE(形容詞)、SUFFIX(語尾)のいずれか\npriority: int, optional\n 単語の優先度(0から10までの整数)\n 数字が大きいほど優先度が高くなる\n 1から9までの値を指定することを推奨","operationId":"rewrite_user_dict_word_user_dict_word__word_uuid__put","parameters":[{"required":true,"schema":{"title":"Word Uuid","type":"string"},"name":"word_uuid","in":"path"},{"required":true,"schema":{"title":"Surface","type":"string"},"name":"surface","in":"query"},{"required":true,"schema":{"title":"Pronunciation","type":"string"},"name":"pronunciation","in":"query"},{"required":true,"schema":{"title":"Accent Type","type":"integer"},"name":"accent_type","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/WordTypes"},"name":"word_type","in":"query"},{"required":false,"schema":{"title":"Priority","maximum":10.0,"minimum":0.0,"type":"integer"},"name":"priority","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ユーザー辞書"],"summary":"Delete User Dict Word","description":"ユーザー辞書に登録されている言葉を削除します。\n\nParameters\n----------\nword_uuid: str\n 削除する言葉のUUID","operationId":"delete_user_dict_word_user_dict_word__word_uuid__delete","parameters":[{"required":true,"schema":{"title":"Word Uuid","type":"string"},"name":"word_uuid","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/import_user_dict":{"post":{"tags":["ユーザー辞書"],"summary":"Import User Dict Words","description":"他のユーザー辞書をインポートします。\n\nParameters\n----------\nimport_dict_data: Dict[str, UserDictWord]\n インポートするユーザー辞書のデータ\noverride: bool\n 重複したエントリがあった場合、上書きするかどうか","operationId":"import_user_dict_words_import_user_dict_post","parameters":[{"required":true,"schema":{"title":"Override","type":"boolean"},"name":"override","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Import Dict Data","type":"object","additionalProperties":{"$ref":"#/components/schemas/UserDictWord"}}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/supported_devices":{"get":{"tags":["その他"],"summary":"Supported Devices","operationId":"supported_devices_supported_devices_get","parameters":[{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedDevicesInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/engine_manifest":{"get":{"tags":["その他"],"summary":"Engine Manifest","operationId":"engine_manifest_engine_manifest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EngineManifest"}}}}}}},"/sv_models":{"get":{"tags":["SVModel"],"summary":"Get Sv Models","operationId":"get_sv_models_sv_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Sv Models Sv Models Get","type":"array","items":{"type":"string"}}}}}}}},"/sv_model":{"post":{"tags":["SVModel"],"summary":"Post Sv Model","description":"svモデルを登録します。\n\nParameters\n----------\nuuid: str\n モデル固有のUUID\nvariance_model: str\n variance_model.onnxをbase64エンコードした文字列\nembedder_model: str\n embedder_model.onnxをbase64エンコードした文字列\ndecoder_model: str\n decoder_model.onnxをbase64エンコードした文字列\nmetas: List[Speakers]\n モデルのメタ情報\n metas.jsonをlistにしたもの\nspeaker_infos: Dict[str, SpeakerInfo]\n keyをspeakerInfoのUUIDとした複数のspeaker情報","operationId":"post_sv_model_sv_model_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SVModelInfo"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccentPhrase":{"title":"AccentPhrase","required":["moras","accent"],"type":"object","properties":{"moras":{"title":"モーラのリスト","type":"array","items":{"$ref":"#/components/schemas/Mora"}},"accent":{"title":"アクセント箇所","type":"integer"},"pause_mora":{"title":"後ろに無音を付けるかどうか","allOf":[{"$ref":"#/components/schemas/Mora"}]},"is_interrogative":{"title":"疑問系かどうか","type":"boolean","default":false}},"description":"アクセント句ごとの情報"},"AudioQuery":{"title":"AudioQuery","required":["accent_phrases","speedScale","pitchScale","intonationScale","volumeScale","prePhonemeLength","postPhonemeLength","outputSamplingRate","outputStereo"],"type":"object","properties":{"accent_phrases":{"title":"アクセント句のリスト","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}},"speedScale":{"title":"全体の話速","type":"number"},"pitchScale":{"title":"全体の音高","type":"number"},"intonationScale":{"title":"全体の抑揚","type":"number"},"volumeScale":{"title":"全体の音量","type":"number"},"prePhonemeLength":{"title":"音声の前の無音時間","type":"number"},"postPhonemeLength":{"title":"音声の後の無音時間","type":"number"},"outputSamplingRate":{"title":"音声データの出力サンプリングレート","type":"integer"},"outputStereo":{"title":"音声データをステレオ出力するか否か","type":"boolean"},"kana":{"title":"[読み取り専用]AquesTalkライクな読み仮名。音声合成クエリとしては無視される","type":"string"}},"description":"音声合成用のクエリ"},"EngineManifest":{"title":"EngineManifest","required":["manifest_version","name","uuid","url","icon","default_sampling_rate","terms_of_service","update_infos","dependency_licenses"],"type":"object","properties":{"manifest_version":{"title":"マニフェストのバージョン","type":"string"},"name":{"title":"エンジン名","type":"string"},"uuid":{"title":"エンジンのUUID","type":"string"},"url":{"title":"エンジンのURL","type":"string"},"icon":{"title":"エンジンのアイコンをBASE64エンコードしたもの","type":"string"},"default_sampling_rate":{"title":"デフォルトのサンプリング周波数","type":"integer"},"terms_of_service":{"title":"エンジンの利用規約","type":"string"},"update_infos":{"title":"エンジンのアップデート情報","type":"array","items":{"$ref":"#/components/schemas/UpdateInfo"}},"dependency_licenses":{"title":"依存関係のライセンス情報","type":"array","items":{"$ref":"#/components/schemas/LicenseInfo"}}},"description":"エンジン自体に関する情報"},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"LicenseInfo":{"title":"LicenseInfo","required":["name","text"],"type":"object","properties":{"name":{"title":"依存ライブラリ名","type":"string"},"version":{"title":"依存ライブラリのバージョン","type":"string"},"license":{"title":"依存ライブラリのライセンス名","type":"string"},"text":{"title":"依存ライブラリのライセンス本文","type":"string"}},"description":"依存ライブラリのライセンス情報"},"Mora":{"title":"Mora","required":["text","vowel","vowel_length","pitch"],"type":"object","properties":{"text":{"title":"文字","type":"string"},"consonant":{"title":"子音の音素","type":"string"},"consonant_length":{"title":"子音の音長","type":"number"},"vowel":{"title":"母音の音素","type":"string"},"vowel_length":{"title":"母音の音長","type":"number"},"pitch":{"title":"音高","type":"number"}},"description":"モーラ(子音+母音)ごとの情報"},"ParseKanaBadRequest":{"title":"ParseKanaBadRequest","required":["text","error_name","error_args"],"type":"object","properties":{"text":{"title":"エラーメッセージ","type":"string"},"error_name":{"title":"エラー名","type":"string","description":"|name|description|\n|---|---|\n| UNKNOWN_TEXT | 判別できない読み仮名があります: {text} |\n| ACCENT_TOP | 句頭にアクセントは置けません: {text} |\n| ACCENT_TWICE | 1つのアクセント句に二つ以上のアクセントは置けません: {text} |\n| ACCENT_NOTFOUND | アクセントを指定していないアクセント句があります: {text} |\n| EMPTY_PHRASE | {position}番目のアクセント句が空白です |\n| INTERROGATION_MARK_NOT_AT_END | アクセント句末以外に「?」は置けません: {text} |\n| INFINITE_LOOP | 処理時に無限ループになってしまいました...バグ報告をお願いします。 |"},"error_args":{"title":"エラーを起こした箇所","type":"object","additionalProperties":{"type":"string"}}}},"Preset":{"title":"Preset","required":["id","name","speaker_uuid","style_id","speedScale","pitchScale","intonationScale","volumeScale","prePhonemeLength","postPhonemeLength"],"type":"object","properties":{"id":{"title":"プリセットID","type":"integer"},"name":{"title":"プリセット名","type":"string"},"speaker_uuid":{"title":"スピーカーのUUID","type":"string"},"style_id":{"title":"スタイルID","type":"integer"},"speedScale":{"title":"全体の話速","type":"number"},"pitchScale":{"title":"全体の音高","type":"number"},"intonationScale":{"title":"全体の抑揚","type":"number"},"volumeScale":{"title":"全体の音量","type":"number"},"prePhonemeLength":{"title":"音声の前の無音時間","type":"number"},"postPhonemeLength":{"title":"音声の後の無音時間","type":"number"}},"description":"プリセット情報"},"SVModelInfo":{"title":"SVModelInfo","required":["uuid","variance_model","embedder_model","decoder_model","metas","speaker_infos"],"type":"object","properties":{"uuid":{"title":"モデル固有のUUID","type":"string"},"variance_model":{"title":"variance_model.onnxをbase64エンコードした文字列","type":"string"},"embedder_model":{"title":"embedder_model.onnxをbase64エンコードした文字列","type":"string"},"decoder_model":{"title":"decoder_model.onnxをbase64エンコードした文字列","type":"string"},"metas":{"title":"metas.jsonをlistにしたモデルのメタ情報","type":"array","items":{"$ref":"#/components/schemas/Speaker"}},"speaker_infos":{"title":"keyをspeakerInfoのUUIDとした複数のspeaker情報","type":"object","additionalProperties":{"$ref":"#/components/schemas/SpeakerInfo"}}},"description":"SVモデルの情報"},"Speaker":{"title":"Speaker","required":["name","speaker_uuid","styles"],"type":"object","properties":{"name":{"title":"名前","type":"string"},"speaker_uuid":{"title":"スピーカーのUUID","type":"string"},"styles":{"title":"スピーカースタイルの一覧","type":"array","items":{"$ref":"#/components/schemas/SpeakerStyle"}},"version":{"title":"Version","type":"string","default":"スピーカーのバージョン"}},"description":"スピーカー情報"},"SpeakerInfo":{"title":"SpeakerInfo","required":["policy","portrait","style_infos"],"type":"object","properties":{"policy":{"title":"policy.md","type":"string"},"portrait":{"title":"portrait.pngをbase64エンコードしたもの","type":"string"},"style_infos":{"title":"スタイルの追加情報","type":"array","items":{"$ref":"#/components/schemas/StyleInfo"}}},"description":"話者の追加情報"},"SpeakerStyle":{"title":"SpeakerStyle","required":["name","id"],"type":"object","properties":{"name":{"title":"スタイル名","type":"string"},"id":{"title":"スタイルID","type":"integer"}},"description":"スピーカーのスタイル情報"},"StyleInfo":{"title":"StyleInfo","required":["id","icon","voice_samples"],"type":"object","properties":{"id":{"title":"スタイルID","type":"integer"},"icon":{"title":"当該スタイルのアイコンをbase64エンコードしたもの","type":"string"},"voice_samples":{"title":"voice_sampleのwavファイルをbase64エンコードしたもの","type":"array","items":{"type":"string"}}},"description":"スタイルの追加情報"},"SupportedDevicesInfo":{"title":"SupportedDevicesInfo","required":["cpu","cuda","dml"],"type":"object","properties":{"cpu":{"title":"CPUに対応しているか","type":"boolean"},"cuda":{"title":"CUDA(Nvidia GPU)に対応しているか","type":"boolean"},"dml":{"title":"DirectML(Nvidia GPU/Radeon GPU等)に対応しているか","type":"boolean"}},"description":"対応しているデバイスの情報"},"UpdateInfo":{"title":"UpdateInfo","required":["version","descriptions"],"type":"object","properties":{"version":{"title":"エンジンのバージョン名","type":"string"},"descriptions":{"title":"アップデートの詳細についての説明","type":"array","items":{"type":"string"}},"contributors":{"title":"貢献者名","type":"array","items":{"type":"string"}}},"description":"エンジンのアップデート情報"},"UserDictWord":{"title":"UserDictWord","required":["surface","priority","part_of_speech","part_of_speech_detail_1","part_of_speech_detail_2","part_of_speech_detail_3","inflectional_type","inflectional_form","stem","yomi","pronunciation","accent_type","accent_associative_rule"],"type":"object","properties":{"surface":{"title":"表層形","type":"string"},"priority":{"title":"優先度","maximum":10.0,"minimum":0.0,"type":"integer"},"context_id":{"title":"文脈ID","type":"integer","default":1348},"part_of_speech":{"title":"品詞","type":"string"},"part_of_speech_detail_1":{"title":"品詞細分類1","type":"string"},"part_of_speech_detail_2":{"title":"品詞細分類2","type":"string"},"part_of_speech_detail_3":{"title":"品詞細分類3","type":"string"},"inflectional_type":{"title":"活用型","type":"string"},"inflectional_form":{"title":"活用形","type":"string"},"stem":{"title":"原形","type":"string"},"yomi":{"title":"読み","type":"string"},"pronunciation":{"title":"発音","type":"string"},"accent_type":{"title":"アクセント型","type":"integer"},"mora_count":{"title":"モーラ数","type":"integer"},"accent_associative_rule":{"title":"アクセント結合規則","type":"string"}},"description":"辞書のコンパイルに使われる情報"},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"type":"string"}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}},"WordTypes":{"title":"WordTypes","enum":["PROPER_NOUN","COMMON_NOUN","VERB","ADJECTIVE","SUFFIX"],"type":"string","description":"fastapiでword_type引数を検証する時に使用するクラス"}}}} \ No newline at end of file +{"openapi":"3.0.2","info":{"title":"SHAREVOX ENGINE","description":"SHAREVOXの音声合成エンジンです。","version":"latest"},"paths":{"/audio_query":{"post":{"tags":["クエリ作成"],"summary":"音声合成用のクエリを作成する","description":"クエリの初期値を得ます。ここで得られたクエリはそのまま音声合成に利用できます。各値の意味は`Schemas`を参照してください。","operationId":"audio_query_audio_query_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audio_query_from_preset":{"post":{"tags":["クエリ作成"],"summary":"音声合成用のクエリをプリセットを用いて作成する","description":"クエリの初期値を得ます。ここで得られたクエリはそのまま音声合成に利用できます。各値の意味は`Schemas`を参照してください。","operationId":"audio_query_from_preset_audio_query_from_preset_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Preset Id","type":"integer"},"name":"preset_id","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/accent_phrases":{"post":{"tags":["クエリ編集"],"summary":"テキストからアクセント句を得る","description":"テキストからアクセント句を得ます。\nis_kanaが`true`のとき、テキストは次のようなAquesTalkライクな記法に従う読み仮名として処理されます。デフォルトは`false`です。\n* 全てのカナはカタカナで記述される\n* アクセント句は`/`または`、`で区切る。`、`で区切った場合に限り無音区間が挿入される。\n* カナの手前に`_`を入れるとそのカナは無声化される\n* アクセント位置を`'`で指定する。全てのアクセント句にはアクセント位置を1つ指定する必要がある。\n* アクセント句末に`?`(全角)を入れることにより疑問文の発音ができる。","operationId":"accent_phrases_accent_phrases_post","parameters":[{"required":true,"schema":{"title":"Text","type":"string"},"name":"text","in":"query"},{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Is Kana","type":"boolean","default":false},"name":"is_kana","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Accent Phrases Accent Phrases Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"400":{"description":"読み仮名のパースに失敗","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseKanaBadRequest"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_data":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音高・音素長を得る","operationId":"mora_data_mora_data_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Data Mora Data Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_length":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音素長を得る","operationId":"mora_length_mora_length_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Length Mora Length Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mora_pitch":{"post":{"tags":["クエリ編集"],"summary":"アクセント句から音高を得る","operationId":"mora_pitch_mora_pitch_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Accent Phrases","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mora Pitch Mora Pitch Post","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/synthesis":{"post":{"tags":["音声合成"],"summary":"音声合成する","operationId":"synthesis_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"description":"疑問系のテキストが与えられたら語尾を自動調整する","required":false,"schema":{"title":"Enable Interrogative Upspeak","type":"boolean","description":"疑問系のテキストが与えられたら語尾を自動調整する","default":true},"name":"enable_interrogative_upspeak","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cancellable_synthesis":{"post":{"tags":["音声合成"],"summary":"音声合成する(キャンセル可能)","operationId":"cancellable_synthesis_cancellable_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/multi_synthesis":{"post":{"tags":["音声合成"],"summary":"複数まとめて音声合成する","operationId":"multi_synthesis_multi_synthesis_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Queries","type":"array","items":{"$ref":"#/components/schemas/AudioQuery"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/synthesis_morphing":{"post":{"tags":["音声合成"],"summary":"2人の話者でモーフィングした音声を合成する","description":"指定された2人の話者で音声を合成、指定した割合でモーフィングした音声を得ます。\nモーフィングの割合は`morph_rate`で指定でき、0.0でベースの話者、1.0でターゲットの話者に近づきます。","operationId":"_synthesis_morphing_synthesis_morphing_post","parameters":[{"required":true,"schema":{"title":"Base Speaker","type":"integer"},"name":"base_speaker","in":"query"},{"required":true,"schema":{"title":"Target Speaker","type":"integer"},"name":"target_speaker","in":"query"},{"required":true,"schema":{"title":"Morph Rate","maximum":1.0,"minimum":0.0,"type":"number"},"name":"morph_rate","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudioQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/connect_waves":{"post":{"tags":["その他"],"summary":"base64エンコードされた複数のwavデータを一つに結合する","description":"base64エンコードされたwavデータを一纏めにし、wavファイルで返します。","operationId":"connect_waves_connect_waves_post","requestBody":{"content":{"application/json":{"schema":{"title":"Waves","type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presets":{"get":{"tags":["その他"],"summary":"Get Presets","description":"エンジンが保持しているプリセットの設定を返します\n\nReturns\n-------\npresets: List[Preset]\n プリセットのリスト","operationId":"get_presets_presets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Presets Presets Get","type":"array","items":{"$ref":"#/components/schemas/Preset"}}}}}}}},"/version":{"get":{"tags":["その他"],"summary":"Version","operationId":"version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/core_versions":{"get":{"tags":["その他"],"summary":"Core Versions","operationId":"core_versions_core_versions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Core Versions Core Versions Get","type":"array","items":{"type":"string"}}}}}}}},"/speakers":{"get":{"tags":["その他"],"summary":"Speakers","operationId":"speakers_speakers_get","parameters":[{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Speakers Speakers Get","type":"array","items":{"$ref":"#/components/schemas/Speaker"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/speaker_info":{"get":{"tags":["その他"],"summary":"Speaker Info","description":"指定されたspeaker_uuidに関する情報をjson形式で返します。\n画像や音声はbase64エンコードされたものが返されます。\n\nReturns\n-------\nret_data: SpeakerInfo","operationId":"speaker_info_speaker_info_get","parameters":[{"required":true,"schema":{"title":"Speaker Uuid","type":"string"},"name":"speaker_uuid","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeakerInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/downloadable_libraries":{"get":{"tags":["その他"],"summary":"Downloadable Libraries","description":"ダウンロード可能なモデル情報を返します。\n\nReturns\n-------\nret_data: List[DownloadableLibrary]","operationId":"downloadable_libraries_downloadable_libraries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Downloadable Libraries Downloadable Libraries Get","type":"array","items":{"$ref":"#/components/schemas/DownloadableLibrary"}}}}}}}},"/initialize_speaker":{"post":{"tags":["その他"],"summary":"Initialize Speaker","description":"指定されたspeaker_idの話者を初期化します。\n実行しなくても他のAPIは使用できますが、初回実行時に時間がかかることがあります。","operationId":"initialize_speaker_initialize_speaker_post","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/is_initialized_speaker":{"get":{"tags":["その他"],"summary":"Is Initialized Speaker","description":"指定されたspeaker_idの話者が初期化されているかどうかを返します。","operationId":"is_initialized_speaker_is_initialized_speaker_get","parameters":[{"required":true,"schema":{"title":"Speaker","type":"integer"},"name":"speaker","in":"query"},{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Is Initialized Speaker Is Initialized Speaker Get","type":"boolean"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_dict":{"get":{"tags":["ユーザー辞書"],"summary":"Get User Dict Words","description":"ユーザー辞書に登録されている単語の一覧を返します。\n単語の表層形(surface)は正規化済みの物を返します。\n\nReturns\n-------\nDict[str, UserDictWord]\n 単語のUUIDとその詳細","operationId":"get_user_dict_words_user_dict_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get User Dict Words User Dict Get","type":"object","additionalProperties":{"$ref":"#/components/schemas/UserDictWord"}}}}}}}},"/user_dict_word":{"post":{"tags":["ユーザー辞書"],"summary":"Add User Dict Word","description":"ユーザー辞書に言葉を追加します。\n\nParameters\n----------\nsurface : str\n 言葉の表層形\npronunciation: str\n 言葉の発音(カタカナ)\naccent_type: int\n アクセント型(音が下がる場所を指す)\nword_type: WordTypes, optional\n PROPER_NOUN(固有名詞)、COMMON_NOUN(普通名詞)、VERB(動詞)、ADJECTIVE(形容詞)、SUFFIX(語尾)のいずれか\npriority: int, optional\n 単語の優先度(0から10までの整数)\n 数字が大きいほど優先度が高くなる\n 1から9までの値を指定することを推奨","operationId":"add_user_dict_word_user_dict_word_post","parameters":[{"required":true,"schema":{"title":"Surface","type":"string"},"name":"surface","in":"query"},{"required":true,"schema":{"title":"Pronunciation","type":"string"},"name":"pronunciation","in":"query"},{"required":true,"schema":{"title":"Accent Type","type":"integer"},"name":"accent_type","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/WordTypes"},"name":"word_type","in":"query"},{"required":false,"schema":{"title":"Priority","maximum":10.0,"minimum":0.0,"type":"integer"},"name":"priority","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Add User Dict Word User Dict Word Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_dict_word/{word_uuid}":{"put":{"tags":["ユーザー辞書"],"summary":"Rewrite User Dict Word","description":"ユーザー辞書に登録されている言葉を更新します。\n\nParameters\n----------\nsurface : str\n 言葉の表層形\npronunciation: str\n 言葉の発音(カタカナ)\naccent_type: int\n アクセント型(音が下がる場所を指す)\nword_uuid: str\n 更新する言葉のUUID\nword_type: WordTypes, optional\n PROPER_NOUN(固有名詞)、COMMON_NOUN(普通名詞)、VERB(動詞)、ADJECTIVE(形容詞)、SUFFIX(語尾)のいずれか\npriority: int, optional\n 単語の優先度(0から10までの整数)\n 数字が大きいほど優先度が高くなる\n 1から9までの値を指定することを推奨","operationId":"rewrite_user_dict_word_user_dict_word__word_uuid__put","parameters":[{"required":true,"schema":{"title":"Word Uuid","type":"string"},"name":"word_uuid","in":"path"},{"required":true,"schema":{"title":"Surface","type":"string"},"name":"surface","in":"query"},{"required":true,"schema":{"title":"Pronunciation","type":"string"},"name":"pronunciation","in":"query"},{"required":true,"schema":{"title":"Accent Type","type":"integer"},"name":"accent_type","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/WordTypes"},"name":"word_type","in":"query"},{"required":false,"schema":{"title":"Priority","maximum":10.0,"minimum":0.0,"type":"integer"},"name":"priority","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ユーザー辞書"],"summary":"Delete User Dict Word","description":"ユーザー辞書に登録されている言葉を削除します。\n\nParameters\n----------\nword_uuid: str\n 削除する言葉のUUID","operationId":"delete_user_dict_word_user_dict_word__word_uuid__delete","parameters":[{"required":true,"schema":{"title":"Word Uuid","type":"string"},"name":"word_uuid","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/import_user_dict":{"post":{"tags":["ユーザー辞書"],"summary":"Import User Dict Words","description":"他のユーザー辞書をインポートします。\n\nParameters\n----------\nimport_dict_data: Dict[str, UserDictWord]\n インポートするユーザー辞書のデータ\noverride: bool\n 重複したエントリがあった場合、上書きするかどうか","operationId":"import_user_dict_words_import_user_dict_post","parameters":[{"required":true,"schema":{"title":"Override","type":"boolean"},"name":"override","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Import Dict Data","type":"object","additionalProperties":{"$ref":"#/components/schemas/UserDictWord"}}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/supported_devices":{"get":{"tags":["その他"],"summary":"Supported Devices","operationId":"supported_devices_supported_devices_get","parameters":[{"required":false,"schema":{"title":"Core Version","type":"string"},"name":"core_version","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedDevicesInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/engine_manifest":{"get":{"tags":["その他"],"summary":"Engine Manifest","operationId":"engine_manifest_engine_manifest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EngineManifest"}}}}}}},"/sv_models":{"get":{"tags":["SVModel"],"summary":"Get Sv Models","operationId":"get_sv_models_sv_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Sv Models Sv Models Get","type":"array","items":{"type":"string"}}}}}}}},"/sv_model":{"post":{"tags":["SVModel"],"summary":"Post Sv Model","description":"svモデルを登録します。\n\nParameters\n----------\nuuid: str\n モデル固有のUUID\nvariance_model: str\n variance_model.onnxをbase64エンコードした文字列\nembedder_model: str\n embedder_model.onnxをbase64エンコードした文字列\ndecoder_model: str\n decoder_model.onnxをbase64エンコードした文字列\nmetas: List[Speakers]\n モデルのメタ情報\n metas.jsonをlistにしたもの\nmodel_config: ModelConfig\n model_config.jsonをdictにした機械学習に利用するための情報\nspeaker_infos: Dict[str, SpeakerInfo]\n keyをspeakerInfoのUUIDとした複数のspeaker情報","operationId":"post_sv_model_sv_model_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SVModelInfo"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccentPhrase":{"title":"AccentPhrase","required":["moras","accent"],"type":"object","properties":{"moras":{"title":"モーラのリスト","type":"array","items":{"$ref":"#/components/schemas/Mora"}},"accent":{"title":"アクセント箇所","type":"integer"},"pause_mora":{"title":"後ろに無音を付けるかどうか","allOf":[{"$ref":"#/components/schemas/Mora"}]},"is_interrogative":{"title":"疑問系かどうか","type":"boolean","default":false}},"description":"アクセント句ごとの情報"},"AudioQuery":{"title":"AudioQuery","required":["accent_phrases","speedScale","pitchScale","intonationScale","volumeScale","prePhonemeLength","postPhonemeLength","outputSamplingRate","outputStereo"],"type":"object","properties":{"accent_phrases":{"title":"アクセント句のリスト","type":"array","items":{"$ref":"#/components/schemas/AccentPhrase"}},"speedScale":{"title":"全体の話速","type":"number"},"pitchScale":{"title":"全体の音高","type":"number"},"intonationScale":{"title":"全体の抑揚","type":"number"},"volumeScale":{"title":"全体の音量","type":"number"},"prePhonemeLength":{"title":"音声の前の無音時間","type":"number"},"postPhonemeLength":{"title":"音声の後の無音時間","type":"number"},"outputSamplingRate":{"title":"音声データの出力サンプリングレート","type":"integer"},"outputStereo":{"title":"音声データをステレオ出力するか否か","type":"boolean"},"kana":{"title":"[読み取り専用]AquesTalkライクな読み仮名。音声合成クエリとしては無視される","type":"string"}},"description":"音声合成用のクエリ"},"DownloadableLibrary":{"title":"DownloadableLibrary","required":["download_url","bytes","speaker","speaker_info"],"type":"object","properties":{"download_url":{"title":"音声ライブラリのダウンロードURL","type":"string"},"bytes":{"title":"音声ライブラリのバイト数","type":"integer"},"speaker":{"title":"話者情報","allOf":[{"$ref":"#/components/schemas/Speaker"}]},"speaker_info":{"title":"話者の追加情報","allOf":[{"$ref":"#/components/schemas/SpeakerInfo"}]}},"description":"ダウンロード可能な音声ライブラリの情報(最新情報をwebで取得することを考慮して、ローカルの情報はない)"},"EngineManifest":{"title":"EngineManifest","required":["manifest_version","name","uuid","url","icon","default_sampling_rate","terms_of_service","update_infos","dependency_licenses"],"type":"object","properties":{"manifest_version":{"title":"マニフェストのバージョン","type":"string"},"name":{"title":"エンジン名","type":"string"},"uuid":{"title":"エンジンのUUID","type":"string"},"url":{"title":"エンジンのURL","type":"string"},"icon":{"title":"エンジンのアイコンをBASE64エンコードしたもの","type":"string"},"default_sampling_rate":{"title":"デフォルトのサンプリング周波数","type":"integer"},"terms_of_service":{"title":"エンジンの利用規約","type":"string"},"update_infos":{"title":"エンジンのアップデート情報","type":"array","items":{"$ref":"#/components/schemas/UpdateInfo"}},"dependency_licenses":{"title":"依存関係のライセンス情報","type":"array","items":{"$ref":"#/components/schemas/LicenseInfo"}},"downloadable_libraries_path":{"title":"ダウンロード可能な音声ライブラリ情報を取得するためのローカルjsonパス","type":"string"},"downloadable_libraries_url":{"title":"ダウンロード可能な音声ライブラリ情報を取得するためのAPIのURL","type":"string"}},"description":"エンジン自体に関する情報"},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"LicenseInfo":{"title":"LicenseInfo","required":["name","text"],"type":"object","properties":{"name":{"title":"依存ライブラリ名","type":"string"},"version":{"title":"依存ライブラリのバージョン","type":"string"},"license":{"title":"依存ライブラリのライセンス名","type":"string"},"text":{"title":"依存ライブラリのライセンス本文","type":"string"}},"description":"依存ライブラリのライセンス情報"},"ModelConfig":{"title":"ModelConfig","required":["length_regulator","start_id"],"type":"object","properties":{"length_regulator":{"title":"利用するregulatorの文字列。normalもしくはgaussian","type":"string"},"start_id":{"title":"model番号のoffset","type":"integer"}},"description":"model_config.jsonをdictにした機械学習に利用するための情報"},"Mora":{"title":"Mora","required":["text","vowel","vowel_length","pitch"],"type":"object","properties":{"text":{"title":"文字","type":"string"},"consonant":{"title":"子音の音素","type":"string"},"consonant_length":{"title":"子音の音長","type":"number"},"vowel":{"title":"母音の音素","type":"string"},"vowel_length":{"title":"母音の音長","type":"number"},"pitch":{"title":"音高","type":"number"}},"description":"モーラ(子音+母音)ごとの情報"},"ParseKanaBadRequest":{"title":"ParseKanaBadRequest","required":["text","error_name","error_args"],"type":"object","properties":{"text":{"title":"エラーメッセージ","type":"string"},"error_name":{"title":"エラー名","type":"string","description":"|name|description|\n|---|---|\n| UNKNOWN_TEXT | 判別できない読み仮名があります: {text} |\n| ACCENT_TOP | 句頭にアクセントは置けません: {text} |\n| ACCENT_TWICE | 1つのアクセント句に二つ以上のアクセントは置けません: {text} |\n| ACCENT_NOTFOUND | アクセントを指定していないアクセント句があります: {text} |\n| EMPTY_PHRASE | {position}番目のアクセント句が空白です |\n| INTERROGATION_MARK_NOT_AT_END | アクセント句末以外に「?」は置けません: {text} |\n| INFINITE_LOOP | 処理時に無限ループになってしまいました...バグ報告をお願いします。 |"},"error_args":{"title":"エラーを起こした箇所","type":"object","additionalProperties":{"type":"string"}}}},"Preset":{"title":"Preset","required":["id","name","speaker_uuid","style_id","speedScale","pitchScale","intonationScale","volumeScale","prePhonemeLength","postPhonemeLength"],"type":"object","properties":{"id":{"title":"プリセットID","type":"integer"},"name":{"title":"プリセット名","type":"string"},"speaker_uuid":{"title":"スピーカーのUUID","type":"string"},"style_id":{"title":"スタイルID","type":"integer"},"speedScale":{"title":"全体の話速","type":"number"},"pitchScale":{"title":"全体の音高","type":"number"},"intonationScale":{"title":"全体の抑揚","type":"number"},"volumeScale":{"title":"全体の音量","type":"number"},"prePhonemeLength":{"title":"音声の前の無音時間","type":"number"},"postPhonemeLength":{"title":"音声の後の無音時間","type":"number"}},"description":"プリセット情報"},"SVModelInfo":{"title":"SVModelInfo","required":["uuid","variance_model","embedder_model","decoder_model","metas","model_config","speaker_infos"],"type":"object","properties":{"uuid":{"title":"モデル固有のUUID","type":"string"},"variance_model":{"title":"variance_model.onnxをbase64エンコードした文字列","type":"string"},"embedder_model":{"title":"embedder_model.onnxをbase64エンコードした文字列","type":"string"},"decoder_model":{"title":"decoder_model.onnxをbase64エンコードした文字列","type":"string"},"metas":{"title":"metas.jsonをlistにしたモデルのメタ情報","type":"array","items":{"$ref":"#/components/schemas/Speaker"}},"model_config":{"title":"model_config.jsonをdictにした機械学習に利用するための情報","allOf":[{"$ref":"#/components/schemas/ModelConfig"}]},"speaker_infos":{"title":"keyをspeakerInfoのUUIDとした複数のspeaker情報","type":"object","additionalProperties":{"$ref":"#/components/schemas/SpeakerInfo"}}},"description":"SVモデルの情報"},"Speaker":{"title":"Speaker","required":["name","speaker_uuid","styles"],"type":"object","properties":{"name":{"title":"名前","type":"string"},"speaker_uuid":{"title":"スピーカーのUUID","type":"string"},"styles":{"title":"スピーカースタイルの一覧","type":"array","items":{"$ref":"#/components/schemas/SpeakerStyle"}},"version":{"title":"Version","type":"string","default":"スピーカーのバージョン"}},"description":"スピーカー情報"},"SpeakerInfo":{"title":"SpeakerInfo","required":["policy","portrait","style_infos"],"type":"object","properties":{"policy":{"title":"policy.md","type":"string"},"portrait":{"title":"portrait.pngをbase64エンコードしたもの","type":"string"},"style_infos":{"title":"スタイルの追加情報","type":"array","items":{"$ref":"#/components/schemas/StyleInfo"}}},"description":"話者の追加情報"},"SpeakerStyle":{"title":"SpeakerStyle","required":["name","id"],"type":"object","properties":{"name":{"title":"スタイル名","type":"string"},"id":{"title":"スタイルID","type":"integer"}},"description":"スピーカーのスタイル情報"},"StyleInfo":{"title":"StyleInfo","required":["id","icon","voice_samples"],"type":"object","properties":{"id":{"title":"スタイルID","type":"integer"},"icon":{"title":"当該スタイルのアイコンをbase64エンコードしたもの","type":"string"},"voice_samples":{"title":"voice_sampleのwavファイルをbase64エンコードしたもの","type":"array","items":{"type":"string"}}},"description":"スタイルの追加情報"},"SupportedDevicesInfo":{"title":"SupportedDevicesInfo","required":["cpu","cuda","dml"],"type":"object","properties":{"cpu":{"title":"CPUに対応しているか","type":"boolean"},"cuda":{"title":"CUDA(Nvidia GPU)に対応しているか","type":"boolean"},"dml":{"title":"DirectML(Nvidia GPU/Radeon GPU等)に対応しているか","type":"boolean"}},"description":"対応しているデバイスの情報"},"UpdateInfo":{"title":"UpdateInfo","required":["version","descriptions"],"type":"object","properties":{"version":{"title":"エンジンのバージョン名","type":"string"},"descriptions":{"title":"アップデートの詳細についての説明","type":"array","items":{"type":"string"}},"contributors":{"title":"貢献者名","type":"array","items":{"type":"string"}}},"description":"エンジンのアップデート情報"},"UserDictWord":{"title":"UserDictWord","required":["surface","priority","part_of_speech","part_of_speech_detail_1","part_of_speech_detail_2","part_of_speech_detail_3","inflectional_type","inflectional_form","stem","yomi","pronunciation","accent_type","accent_associative_rule"],"type":"object","properties":{"surface":{"title":"表層形","type":"string"},"priority":{"title":"優先度","maximum":10.0,"minimum":0.0,"type":"integer"},"context_id":{"title":"文脈ID","type":"integer","default":1348},"part_of_speech":{"title":"品詞","type":"string"},"part_of_speech_detail_1":{"title":"品詞細分類1","type":"string"},"part_of_speech_detail_2":{"title":"品詞細分類2","type":"string"},"part_of_speech_detail_3":{"title":"品詞細分類3","type":"string"},"inflectional_type":{"title":"活用型","type":"string"},"inflectional_form":{"title":"活用形","type":"string"},"stem":{"title":"原形","type":"string"},"yomi":{"title":"読み","type":"string"},"pronunciation":{"title":"発音","type":"string"},"accent_type":{"title":"アクセント型","type":"integer"},"mora_count":{"title":"モーラ数","type":"integer"},"accent_associative_rule":{"title":"アクセント結合規則","type":"string"}},"description":"辞書のコンパイルに使われる情報"},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"type":"string"}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}},"WordTypes":{"title":"WordTypes","enum":["PROPER_NOUN","COMMON_NOUN","VERB","ADJECTIVE","SUFFIX"],"type":"string","description":"fastapiでword_type引数を検証する時に使用するクラス"}}}} \ No newline at end of file diff --git a/src/openapi/.openapi-generator/FILES b/src/openapi/.openapi-generator/FILES index 0e9b6f997a..971312887f 100644 --- a/src/openapi/.openapi-generator/FILES +++ b/src/openapi/.openapi-generator/FILES @@ -4,9 +4,11 @@ apis/index.ts index.ts models/AccentPhrase.ts models/AudioQuery.ts +models/DownloadableLibrary.ts models/EngineManifest.ts models/HTTPValidationError.ts models/LicenseInfo.ts +models/ModelConfig.ts models/Mora.ts models/ParseKanaBadRequest.ts models/Preset.ts diff --git a/src/openapi/apis/DefaultApi.ts b/src/openapi/apis/DefaultApi.ts index d3808ec467..bf31d96f56 100644 --- a/src/openapi/apis/DefaultApi.ts +++ b/src/openapi/apis/DefaultApi.ts @@ -21,6 +21,9 @@ import { AudioQuery, AudioQueryFromJSON, AudioQueryToJSON, + DownloadableLibrary, + DownloadableLibraryFromJSON, + DownloadableLibraryToJSON, EngineManifest, EngineManifestFromJSON, EngineManifestToJSON, @@ -312,6 +315,21 @@ export interface DefaultApiInterface { */ deleteUserDictWordUserDictWordWordUuidDelete(requestParameters: DeleteUserDictWordUserDictWordWordUuidDeleteRequest, initOverrides?: RequestInit): Promise; + /** + * ダウンロード可能なモデル情報を返します。 Returns ------- ret_data: List[DownloadableLibrary] + * @summary Downloadable Libraries + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DefaultApiInterface + */ + downloadableLibrariesDownloadableLibrariesGetRaw(initOverrides?: RequestInit): Promise>>; + + /** + * ダウンロード可能なモデル情報を返します。 Returns ------- ret_data: List[DownloadableLibrary] + * Downloadable Libraries + */ + downloadableLibrariesDownloadableLibrariesGet(initOverrides?: RequestInit): Promise>; + /** * * @summary Engine Manifest @@ -947,6 +965,34 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface { await this.deleteUserDictWordUserDictWordWordUuidDeleteRaw(requestParameters, initOverrides); } + /** + * ダウンロード可能なモデル情報を返します。 Returns ------- ret_data: List[DownloadableLibrary] + * Downloadable Libraries + */ + async downloadableLibrariesDownloadableLibrariesGetRaw(initOverrides?: RequestInit): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/downloadable_libraries`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DownloadableLibraryFromJSON)); + } + + /** + * ダウンロード可能なモデル情報を返します。 Returns ------- ret_data: List[DownloadableLibrary] + * Downloadable Libraries + */ + async downloadableLibrariesDownloadableLibrariesGet(initOverrides?: RequestInit): Promise> { + const response = await this.downloadableLibrariesDownloadableLibrariesGetRaw(initOverrides); + return await response.value(); + } + /** * Engine Manifest */ diff --git a/src/openapi/apis/SVModelApi.ts b/src/openapi/apis/SVModelApi.ts index ac29e9d607..b6faab9db5 100644 --- a/src/openapi/apis/SVModelApi.ts +++ b/src/openapi/apis/SVModelApi.ts @@ -49,7 +49,7 @@ export interface SVModelApiInterface { getSvModelsSvModelsGet(initOverrides?: RequestInit): Promise>; /** - * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 + * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの model_config: ModelConfig model_config.jsonをdictにした機械学習に利用するための情報 speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 * @summary Post Sv Model * @param {SVModelInfo} sVModelInfo * @param {*} [options] Override http request option. @@ -59,7 +59,7 @@ export interface SVModelApiInterface { postSvModelSvModelPostRaw(requestParameters: PostSvModelSvModelPostRequest, initOverrides?: RequestInit): Promise>; /** - * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 + * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの model_config: ModelConfig model_config.jsonをdictにした機械学習に利用するための情報 speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 * Post Sv Model */ postSvModelSvModelPost(requestParameters: PostSvModelSvModelPostRequest, initOverrides?: RequestInit): Promise; @@ -98,7 +98,7 @@ export class SVModelApi extends runtime.BaseAPI implements SVModelApiInterface { } /** - * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 + * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの model_config: ModelConfig model_config.jsonをdictにした機械学習に利用するための情報 speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 * Post Sv Model */ async postSvModelSvModelPostRaw(requestParameters: PostSvModelSvModelPostRequest, initOverrides?: RequestInit): Promise> { @@ -124,7 +124,7 @@ export class SVModelApi extends runtime.BaseAPI implements SVModelApiInterface { } /** - * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 + * svモデルを登録します。 Parameters ---------- uuid: str モデル固有のUUID variance_model: str variance_model.onnxをbase64エンコードした文字列 embedder_model: str embedder_model.onnxをbase64エンコードした文字列 decoder_model: str decoder_model.onnxをbase64エンコードした文字列 metas: List[Speakers] モデルのメタ情報 metas.jsonをlistにしたもの model_config: ModelConfig model_config.jsonをdictにした機械学習に利用するための情報 speaker_infos: Dict[str, SpeakerInfo] keyをspeakerInfoのUUIDとした複数のspeaker情報 * Post Sv Model */ async postSvModelSvModelPost(requestParameters: PostSvModelSvModelPostRequest, initOverrides?: RequestInit): Promise { diff --git a/src/openapi/models/DownloadableLibrary.ts b/src/openapi/models/DownloadableLibrary.ts index 9bc8f2ff5c..3762a7dbdc 100644 --- a/src/openapi/models/DownloadableLibrary.ts +++ b/src/openapi/models/DownloadableLibrary.ts @@ -1,10 +1,10 @@ /* tslint:disable */ /* eslint-disable */ /** - * VOICEVOX ENGINE - * VOICEVOXの音声合成エンジンです。 + * SHAREVOX ENGINE + * SHAREVOXの音声合成エンジンです。 * - * The version of the OpenAPI document: 0.13.0 + * The version of the OpenAPI document: latest * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/openapi/models/EngineManifest.ts b/src/openapi/models/EngineManifest.ts index e41f6b0730..b17428e58e 100644 --- a/src/openapi/models/EngineManifest.ts +++ b/src/openapi/models/EngineManifest.ts @@ -84,6 +84,18 @@ export interface EngineManifest { * @memberof EngineManifest */ dependencyLicenses: Array; + /** + * + * @type {string} + * @memberof EngineManifest + */ + downloadableLibrariesPath?: string; + /** + * + * @type {string} + * @memberof EngineManifest + */ + downloadableLibrariesUrl?: string; } export function EngineManifestFromJSON(json: any): EngineManifest { @@ -105,6 +117,8 @@ export function EngineManifestFromJSONTyped(json: any, ignoreDiscriminator: bool 'termsOfService': json['terms_of_service'], 'updateInfos': ((json['update_infos'] as Array).map(UpdateInfoFromJSON)), 'dependencyLicenses': ((json['dependency_licenses'] as Array).map(LicenseInfoFromJSON)), + 'downloadableLibrariesPath': !exists(json, 'downloadable_libraries_path') ? undefined : json['downloadable_libraries_path'], + 'downloadableLibrariesUrl': !exists(json, 'downloadable_libraries_url') ? undefined : json['downloadable_libraries_url'], }; } @@ -126,6 +140,8 @@ export function EngineManifestToJSON(value?: EngineManifest | null): any { 'terms_of_service': value.termsOfService, 'update_infos': ((value.updateInfos as Array).map(UpdateInfoToJSON)), 'dependency_licenses': ((value.dependencyLicenses as Array).map(LicenseInfoToJSON)), + 'downloadable_libraries_path': value.downloadableLibrariesPath, + 'downloadable_libraries_url': value.downloadableLibrariesUrl, }; } diff --git a/src/openapi/models/ModelConfig.ts b/src/openapi/models/ModelConfig.ts new file mode 100644 index 0000000000..e846f6370a --- /dev/null +++ b/src/openapi/models/ModelConfig.ts @@ -0,0 +1,64 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * SHAREVOX ENGINE + * SHAREVOXの音声合成エンジンです。 + * + * The version of the OpenAPI document: latest + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * model_config.jsonをdictにした機械学習に利用するための情報 + * @export + * @interface ModelConfig + */ +export interface ModelConfig { + /** + * + * @type {string} + * @memberof ModelConfig + */ + lengthRegulator: string; + /** + * + * @type {number} + * @memberof ModelConfig + */ + startId: number; +} + +export function ModelConfigFromJSON(json: any): ModelConfig { + return ModelConfigFromJSONTyped(json, false); +} + +export function ModelConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelConfig { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'lengthRegulator': json['length_regulator'], + 'startId': json['start_id'], + }; +} + +export function ModelConfigToJSON(value?: ModelConfig | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'length_regulator': value.lengthRegulator, + 'start_id': value.startId, + }; +} + diff --git a/src/openapi/models/ParseKanaBadRequest.ts b/src/openapi/models/ParseKanaBadRequest.ts index 581a1941c0..bacdbedd83 100644 --- a/src/openapi/models/ParseKanaBadRequest.ts +++ b/src/openapi/models/ParseKanaBadRequest.ts @@ -27,14 +27,14 @@ export interface ParseKanaBadRequest { text: string; /** * |name|description| - * |---|---| - * | UNKNOWN_TEXT | 判別できない読み仮名があります: {text} | - * | ACCENT_TOP | 句頭にアクセントは置けません: {text} | - * | ACCENT_TWICE | 1つのアクセント句に二つ以上のアクセントは置けません: {text} | - * | ACCENT_NOTFOUND | アクセントを指定していないアクセント句があります: {text} | - * | EMPTY_PHRASE | {position}番目のアクセント句が空白です | - * | INTERROGATION_MARK_NOT_AT_END | アクセント句末以外に「?」は置けません: {text} | - * | INFINITE_LOOP | 処理時に無限ループになってしまいました...バグ報告をお願いします。 | +|---|---| +| UNKNOWN_TEXT | 判別できない読み仮名があります: {text} | +| ACCENT_TOP | 句頭にアクセントは置けません: {text} | +| ACCENT_TWICE | 1つのアクセント句に二つ以上のアクセントは置けません: {text} | +| ACCENT_NOTFOUND | アクセントを指定していないアクセント句があります: {text} | +| EMPTY_PHRASE | {position}番目のアクセント句が空白です | +| INTERROGATION_MARK_NOT_AT_END | アクセント句末以外に「?」は置けません: {text} | +| INFINITE_LOOP | 処理時に無限ループになってしまいました...バグ報告をお願いします。 | * @type {string} * @memberof ParseKanaBadRequest */ diff --git a/src/openapi/models/SVModelInfo.ts b/src/openapi/models/SVModelInfo.ts index 61312dd4f3..3c9fc2dc09 100644 --- a/src/openapi/models/SVModelInfo.ts +++ b/src/openapi/models/SVModelInfo.ts @@ -14,6 +14,10 @@ import { exists, mapValues } from '../runtime'; import { + ModelConfig, + ModelConfigFromJSON, + ModelConfigFromJSONTyped, + ModelConfigToJSON, Speaker, SpeakerFromJSON, SpeakerFromJSONTyped, @@ -60,6 +64,12 @@ export interface SVModelInfo { * @memberof SVModelInfo */ metas: Array; + /** + * + * @type {ModelConfig} + * @memberof SVModelInfo + */ + modelConfig: ModelConfig | null; /** * * @type {{ [key: string]: SpeakerInfo; }} @@ -83,6 +93,7 @@ export function SVModelInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean 'embedderModel': json['embedder_model'], 'decoderModel': json['decoder_model'], 'metas': ((json['metas'] as Array).map(SpeakerFromJSON)), + 'modelConfig': ModelConfigFromJSON(json['model_config']), 'speakerInfos': (mapValues(json['speaker_infos'], SpeakerInfoFromJSON)), }; } @@ -101,6 +112,7 @@ export function SVModelInfoToJSON(value?: SVModelInfo | null): any { 'embedder_model': value.embedderModel, 'decoder_model': value.decoderModel, 'metas': ((value.metas as Array).map(SpeakerToJSON)), + 'model_config': ModelConfigToJSON(value.modelConfig), 'speaker_infos': (mapValues(value.speakerInfos, SpeakerInfoToJSON)), }; } diff --git a/src/openapi/models/index.ts b/src/openapi/models/index.ts index aade9bd9f5..046482d987 100644 --- a/src/openapi/models/index.ts +++ b/src/openapi/models/index.ts @@ -2,9 +2,11 @@ /* eslint-disable */ export * from './AccentPhrase'; export * from './AudioQuery'; +export * from './DownloadableLibrary'; export * from './EngineManifest'; export * from './HTTPValidationError'; export * from './LicenseInfo'; +export * from './ModelConfig'; export * from './Mora'; export * from './ParseKanaBadRequest'; export * from './Preset';