@@ -42,12 +42,18 @@ class AivmManager:
4242
4343 # AivisSpeech でサポートされているマニフェストバージョン
4444 SUPPORTED_MANIFEST_VERSIONS : Final [list [str ]] = ["1.0" ]
45+
4546 # AivisSpeech でサポートされている音声合成モデルのアーキテクチャ
4647 SUPPORTED_MODEL_ARCHITECTURES : Final [list [ModelArchitecture ]] = [
4748 ModelArchitecture .StyleBertVITS2 ,
4849 ModelArchitecture .StyleBertVITS2JPExtra ,
4950 ]
5051
52+ # デフォルトでダウンロードされる音声合成モデルの URL
53+ DEFAULT_MODEL_DOWNLOAD_URLS : Final [list [str ]] = [
54+ "https://api.aivis-project.com/v1/aivm-models/a59cb814-0083-4369-8542-f51a29e72af7/download?model_type=AIVMX" ,
55+ ]
56+
5157 def __init__ (self , installed_aivm_dir : Path ):
5258 """
5359 AivmManager のコンストラクタ
@@ -68,7 +74,11 @@ def __init__(self, installed_aivm_dir: Path):
6874
6975 current_installed_aivm_infos = self .get_installed_aivm_infos ()
7076 if len (current_installed_aivm_infos ) == 0 :
71- logger .warning ("No AIVM models are installed." )
77+ logger .warning ("No AIVM models are installed. Installing default models..." )
78+ # デフォルトで同梱する音声合成モデルをインストール
79+ for url in self .DEFAULT_MODEL_DOWNLOAD_URLS :
80+ logger .info (f"Installing default model from { url } ..." )
81+ self .install_aivm_from_url (url )
7282 else :
7383 logger .info ("Installed AIVM models:" )
7484 for aivm_info in current_installed_aivm_infos .values ():
@@ -483,7 +493,9 @@ def install_aivm_from_url(self, url: str) -> None:
483493 try :
484494 logger .info (f"Downloading AIVM file from { url } ..." )
485495 response = httpx .get (
486- url , headers = {"User-Agent" : f"AivisSpeech-Engine/{ __version__ } " }
496+ url ,
497+ headers = {"User-Agent" : f"AivisSpeech-Engine/{ __version__ } " },
498+ follow_redirects = True , # 重要
487499 )
488500 response .raise_for_status ()
489501 logger .info (f"Downloaded AIVM file from { url } ." )
0 commit comments