? AIVMLIB : AI VIS V OICE m ODEL FILE (.aivm / .aivmx) utilitaire lib rary
AIVM ( AI vis v oice m odel) / aivmx ( ai vis v oice m odel pour onn x ) est un format de fichier ouvert pour les modèles de synthèse de la parole AI qui combine des modèles pré-formés, des hyperparamètres, des vecteurs de style, des métadonnées de haut-parleurs (noms, des vue où l'on
Note
"AIVM" est également un terme général pour les spécifications du format AIVM / AIVMX et les spécifications de métadonnées.
Plus précisément, le fichier AIVM est un fichier de modèle au format de sécurité avec les métadonnées AIVM ajoutés ", et le fichier AIVMX est un fichier de modèle au format" ONNX avec les métadonnées AIVM ajoutées ".
"AIVM Metadata" fait référence à diverses métadonnées liées à un modèle formé tel que défini dans la spécification AIVM.
Vous pouvez facilement utiliser les modèles de synthèse de la parole AI en ajoutant des fichiers AIVM / AIVMX à un logiciel qui prend en charge les spécifications AIVM, y compris AivisPeEch / Aivispeech-Engine.
AIVMLIB / AIVMLIB-WEB fournit un utilitaire pour lire et écrire des métadonnées dans les fichiers AIVM / AIVMX.
Cet AIVMLIB est une implémentation de référence de la spécification AIVM écrite en python. Si vous utilisez un navigateur Web, veuillez utiliser AIVMLIB-Web.
Conseil
Le générateur AIVM vous permet de générer et de modifier facilement les fichiers AIVM / AIVMX à l'aide de l'interface graphique sur votre navigateur.
Nous vous recommandons d'utiliser un générateur AIVM lors de la génération manuelle et de l'édition de fichiers AIVM / AIVMX.
Si vous l'installez avec PIP, l'outil de ligne de commande aivmlib sera également automatiquement installé.
Nécessite Python 3.11 ou plus.
pip install aivmlibJ'utilise la poésie pendant le développement.
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --helpVous trouverez ci-dessous comment utiliser l'outil CLI lui-même.
$ aivmlib --help
Usage: aivmlib [OPTIONS] COMMAND [ARGS]...
Aivis Voice Model File (.aivm/.aivmx) Utility Library
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it │
│ or customize the installation. │
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────╮
│ create-aivm 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVM ファイルを生成する │
│ create-aivmx 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVMX ファイルを生成する │
│ show-metadata 指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM │
│ メタデータを見やすく出力する │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib show-metadata --help
Usage: aivmlib show-metadata [OPTIONS] FILE_PATH
指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM メタデータを見やすく出力する
╭─ Arguments ───────────────────────────────────────────────────────────────────────╮
│ * file_path PATH Path to the AIVM / AIVMX file [default: None] │
│ [required] │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivm --help
Usage: aivmlib create-aivm [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVM ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVM │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the Safetensors │
│ model file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivmx --help
Usage: aivmlib create-aivmx [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVMX ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVMX │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the ONNX model │
│ file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯Vous trouverez ci-dessous un exemple de l'exécution de la commande.
# Safetensors 形式で保存された "Style-Bert-VITS2 (JP-Extra)" モデルアーキテクチャの学習済みモデルから AIVM ファイルを生成
# .safetensors と同じディレクトリに config.json と style_vectors.npy があることが前提
# -a オプションを省略した場合、既定で "Style-Bert-VITS2 (JP-Extra)" の学習済みモデルと判定される
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors -h ./config.json -s ./style-vectors.npy
# ONNX 形式で保存された "Style-Bert-VITS2" モデルアーキテクチャの学習済みモデルから AIVMX ファイルを生成
# .onnx と同じディレクトリに config.json と style_vectors.npy があることが前提
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 "
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 " -h ./config.json -s ./style-vectors.npy
# AIVM ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivm
# AIVMX ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivmxConseil
Pour une utilisation en tant que bibliothèque, voir la mise en œuvre de l'outil CLI implémenté dans __main__.py .
Important
AIVMLIB / AIVMLIB-WEB est une bibliothèque qui ne lira / écriture des fonctions des formats de fichiers AIVM / AIVMX.
La logique d'inférence pour les modèles de synthèse de la parole AI pour chaque architecture de modèle et comment les données obtenues à partir de l'AIVMLIB / AIVMLIB-WEB sont laissées à l'utilisateur de la bibliothèque.
Licence MIT
Cette section définit les spécifications techniques suivantes incluses dans les "spécifications AIVM":
Le but est de combiner le modèle de synthèse de la parole d'IA formé et les différentes métadonnées nécessaires à son utilisation dans un seul fichier, empêchant la dissipation et la confusion de fichiers, et de faciliter l'utilisation et le partage du modèle.
Conseil
En le combinant en un seul fichier, vous pouvez facilement le faire fonctionner en téléchargeant simplement le fichier AIVM / AIVMX et en le plaçant dans un dossier spécifié et en utilisant immédiatement le modèle de synthèse de la parole avec un logiciel compatible.
Un autre avantage est qu'il ne s'agit pas d'un fichier compressé, il n'est donc pas nécessaire de le déployer.
La spécification AIVM ne s'appuie pas sur l'architecture du modèle du modèle de synthèse de la parole.
Il a été conçu avec une évolutivité et une polyvalence futures à l'esprit afin que les modèles de synthèse de la parole de différentes architectures de modèle puissent être gérés dans un format de fichier commun.
Si le modèle formé sous-jacent est enregistré dans un seul format de sécurité ou ONNX, en principe, vous pouvez ajouter des métadonnées pour générer des fichiers AIVM / AIVMX, quelle que soit l'architecture du modèle.
Lors de la conception, nous avons mis l'accent sur la compatibilité avec les écosystèmes existants afin qu'ils puissent être chargés en tant que fichiers de sécurité réguliers ou ONNX sans aucun traitement de conversion.
Important
La spécification AIVM ne définit pas la méthode d'inférence pour chaque architecture de modèle. Les spécifications sont définies comme «un fichier qui résume les métadonnées du modèle de synthèse de la parole AI».
Par exemple, pour les fichiers AIVM, le modèle de synthèse de la parole AI stocké peut être pour Pytorch ou TensorFlow.
Comment déduire les modèles de synthèse de la parole AI est laissé à l'implémentation de logiciels qui prend en charge les fichiers AIVM / AIVMX.
Les spécifications du format de fichier AIVM sont présentées ci-dessous.
AIVM ( AI vis v oice m ODEL) est une spécification de format de sécurité étendu qui stocke diverses informations telles que les métadonnées de haut-parleurs (manifeste AIVM), les hyperparamètres et les vecteurs de style comme métadonnées personnalisées dans la zone d'en-tête d'un modèle formé stocké dans le format Safetenseurs (.Safetenseurs).
On peut également dire qu'il s'agit d'une "spécification de description des métadonnées communes pour les modèles de synthèse de la parole AI enregistrés au format Safettenseurs".
Étant donné qu'il s'agit d'une spécification étendue au format Safettensor, il peut être chargé en tant que fichier de sécurité normal tel quel.
Comme Safettensers, les 8 premiers octets de la petite entière 64 bits non signés sont la taille de l'en-tête suivie d'une chaîne JSON UTF-8 par la longueur de la taille de l'en-tête.
L'en-tête JSON de Safettensers stocke le décalage des tenseurs, etc., mais la clé __metadata__ vous permet de définir librement la carte de String en chaîne.
En utilisant cette spécification, AIVM stocke les données de chaîne suivantes dans les touches suivantes dans __metadata__ :
aivm_manifest : AIVM Manifestaivm_hyper_parameters : Hyperparamètres pour les modèles de synthèse de la paroleStyle-Bert-VITS2 et Style-Bert-VITS2 (JP-Extra) Modèles d'architecture MODÈTES JSON Stringsaivm_style_vectors : Base64 Vecteurs de style modèle de synthèse de la parole codés (binaire)Style-Bert-VITS2 et Style-Bert-VITS2 (JP-Extra) , une chaîne avec un tableau Numpy codé de base64 (.NPY) est stockée.Vous trouverez ci-dessous les spécifications du format de fichier AIVMX.
AIVMX ( AI vis v oice m odel pour onnx ) est une spécification de format ONNX étendu qui stocke diverses informations telles que les métadonnées de haut-parleur (manifeste AIVM), de style hyperparamètre comme métadonnées personnalisées dans la zone de métadonnées d'un modèle formé stocké au format ONNX.
On peut également dire qu'il s'agit d'une "spécification de description des métadonnées communes pour les modèles de synthèse de la parole AI enregistrés au format ONNX".
Parce qu'il s'agit d'une spécification étendue au format ONNX, il peut être chargé comme un fichier ONNX normal tel qu'il est.
Les fichiers ONNX sont définis dans le format de tampons de protocole et sont conçus pour stocker les métadonnées comme une liste de StringStringEntryProto dans le champ metadata_props du message Root ModelProto .
En utilisant cette spécification, AIVMX stocke les données de chaîne suivantes dans les clés suivantes dans metadata_props :
aivm_manifest : AIVM Manifestaivm_hyper_parameters : Hyperparamètres pour les modèles de synthèse de la paroleStyle-Bert-VITS2 et Style-Bert-VITS2 (JP-Extra) Modèles d'architecture MODÈTES JSON Stringsaivm_style_vectors : Base64 Vecteurs de style modèle de synthèse de la parole codés (binaire)Style-Bert-VITS2 et Style-Bert-VITS2 (JP-Extra) , une chaîne avec un tableau Numpy codé de base64 (.NPY) est stockée.Vous trouverez ci-dessous les spécifications du manifeste AIVM (version 1.0) incluse dans le format de fichier AIVM / AIVMX.
Le manifeste AIVM contient diverses informations nécessaires pour utiliser le modèle de synthèse de la parole, tels que la version manifeste, l'architecture du modèle, le nom du modèle, les métadonnées des haut-parleurs et les informations de style.
Le format de données pour le manifeste AIVM est une chaîne UTF-8 écrite au format JSON.
En raison du format JSON, les images et les données audio sont stockées sous forme de chaînes codées Base64.
Note
AIVM (Safettensers) actuellement défini comme le format de conteneur pour AIVM se manifeste - la zone de métadonnées d'AIVMX (ONNX) doit être une valeur clé d'un type de chaîne à un type de chaîne sans nidification, donc toutes les métadonnées sont sérialisées en chaîne et stockées.
Les données binaires telles que les images et l'audio sont stockées sous forme de chaîne après avoir été encodé de base64.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Important
Le logiciel qui prend en charge les fichiers AIVM / AIVMX doit être correctement validé pour les fichiers AIVM / AIVMX des architectures de modèle qui ne sont pas prises en charge par votre propre logiciel.
Par exemple, des logiciels qui ne prennent pas en charge les architectures de modèle autres que Style-Bert-VITS2 (JP-Extra) , lorsqu'on leur a demandé d'installer le fichier AIVM / AIVMX pour Style-Bert-VITS2 , une alerte sera affichée disant que "cette architecture de modèle n'est pas prise en charge" »et l'installation sera abandonnée.
Important
Techniquement, les modèles de synthèse de la parole d'architectures de modèle autres que ceux énumérés ci-dessus peuvent être stockés, mais les seules chaînes d'architecture de modèle mentionnées ci-dessus sont officiellement définies dans la spécification AIVM Manifest (version 1.0).
Lorsque vous définissez votre propre chaîne d'architecture de modèle, vous devez être extrêmement prudent pour éviter les conflits de nom avec les architectures de modèle existantes ou le désalignement entre différents logiciels.
Il est recommandé d'envoyer autant que possible les demandes de traction à ce référentiel et d'ajouter officiellement la prise en charge de la nouvelle architecture de modèle à la spécification AIVM.
Vous trouverez ci-dessous les définitions de champ pour la manifeste AIVM comme la spécification AIVM Manifest (version 1.0) (extrait de la définition du schéma pyndante d'AIVMLIB).
Important
Les champs du manifeste AIVM peuvent être ajoutés, étendus ou supprimés lorsque la spécification AIVM est mise à jour à l'avenir.
Il est également tout à fait possible que de nouvelles métadonnées soient ajoutées au format de fichier AIVM et au format de fichier AIVM / AIVMX lui-même avec la prise en charge des futures mises à jour de version et des architectures de modèle supplémentaires.
La seule version AIVM actuellement active est 1.0 .
class ModelArchitecture ( StrEnum ):
StyleBertVITS2 = 'Style-Bert-VITS2' # 対応言語: "ja", "en-US", "zh-CN"
StyleBertVITS2JPExtra = 'Style-Bert-VITS2 (JP-Extra)' # 対応言語: "ja"
class ModelFormat ( StrEnum ):
Safetensors = 'Safetensors'
ONNX = 'ONNX'
class AivmManifest ( BaseModel ):
""" AIVM マニフェストのスキーマ """
# AIVM マニフェストのバージョン (ex: 1.0)
# 現在は 1.0 のみサポート
manifest_version : Literal [ '1.0' ]
# 音声合成モデルの名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は話者名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 音声合成モデルの簡潔な説明 (最大 140 文字 / 省略時は空文字列を設定)
description : Annotated [ str , StringConstraints ( max_length = 140 )] = ''
# 音声合成モデルの制作者名のリスト (省略時は空リストを設定)
# 制作者名には npm package.json の "author", "contributors" に指定できるものと同じ書式を利用できる
# 例: ["John Doe", "Jane Doe <[email protected]>", "John Doe <[email protected]> (https://example.com)"]
creators : list [ Annotated [ str , StringConstraints ( min_length = 1 , max_length = 255 )]] = []
# 音声合成モデルのライセンス情報 (Markdown 形式またはプレーンテキスト / 省略時は None を設定)
# AIVM 仕様に対応するソフトでライセンス情報を表示できるよう、Markdown 形式またはプレーンテキストでライセンスの全文を設定する想定
# 社内のみでの利用など、この音声合成モデルの公開・配布を行わない場合は None を設定する
license : Annotated [ str , StringConstraints ( min_length = 1 )] | None = None
# 音声合成モデルのアーキテクチャ (音声合成技術の種類)
model_architecture : ModelArchitecture
# 音声合成モデルのモデル形式 (Safetensors または ONNX)
# AIVM ファイル (.aivm) のモデル形式は Safetensors 、AIVMX ファイル (.aivmx) のモデル形式は ONNX である
model_format : ModelFormat
# 音声合成モデル学習時のエポック数 (省略時は None を設定)
training_epochs : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデル学習時のステップ数 (省略時は None を設定)
training_steps : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデルを一意に識別する UUID
uuid : UUID
# 音声合成モデルのバージョン (SemVer 2.0 準拠 / ex: 1.0.0)
version : Annotated [ str , StringConstraints ( pattern = r'^(0|[1-9]d*).(0|[1-9]d*).(0|[1-9]d*)(?:-((?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*)(?:.(?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:+([0-9a-zA-Z-]+(?:.[0-9a-zA-Z-]+)*))?$' )]
# 音声合成モデルの話者情報 (最低 1 人以上の話者が必要)
speakers : list [ AivmManifestSpeaker ]
class AivmManifestSpeaker ( BaseModel ):
""" AIVM マニフェストの話者情報 """
# 話者の名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は音声合成モデル名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 話者のアイコン画像 (Data URL)
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )]
# 話者の対応言語のリスト (BCP 47 言語タグ)
# 例: 日本語: "ja", アメリカ英語: "en-US", 標準中国語: "zh-CN"
supported_languages : list [ Annotated [ str , StringConstraints ( pattern = r'^[a-z]{2,3}(?:-[A-Z]{4})?(?:-(?:[A-Z]{2}|d{3}))?(?:-(?:[A-Za-z0-9]{5,8}|d[A-Za-z0-9]{3}))*(?:-[A-Za-z](?:-[A-Za-z0-9]{2,8})+)*(?:-x(?:-[A-Za-z0-9]{1,8})+)?$' )]]
# 話者を一意に識別する UUID
uuid : UUID
# 話者のローカル ID (この音声合成モデル内で話者を識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 )]
# 話者のスタイル情報 (最低 1 つ以上のスタイルが必要)
styles : list [ AivmManifestSpeakerStyle ]
class AivmManifestSpeakerStyle ( BaseModel ):
""" AIVM マニフェストの話者スタイル情報 """
# スタイルの名前 (最大 20 文字)
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 20 )]
# スタイルのアイコン画像 (Data URL, 省略可能)
# 省略時は話者のアイコン画像がスタイルのアイコン画像として使われる想定
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )] | None = None
# スタイルの ID (この話者内でスタイルを識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 , le = 31 )] # 最大 32 スタイルまでサポート
# スタイルごとのボイスサンプル (省略時は空リストを設定)
voice_samples : list [ AivmManifestVoiceSample ] = []
class AivmManifestVoiceSample ( BaseModel ):
""" AIVM マニフェストのボイスサンプル情報 """
# ボイスサンプルの音声ファイル (Data URL)
# 音声ファイル形式は WAV (audio/wav, Codec: PCM 16bit)・M4A (audio/mp4, Codec: AAC-LC) のいずれか (M4A を推奨)
audio : Annotated [ str , StringConstraints ( pattern = r'^data:audio/(wav|mp4);base64,[A-Za-z0-9+/=]+$' )]
# ボイスサンプルの書き起こし文
# 書き起こし文は音声ファイルでの発話内容と一致している必要がある
transcript : Annotated [ str , StringConstraints ( min_length = 1 )]A. Pour fournir deux formats optimisés pour différentes applications et environnements, permettant une utilisation plus flexible.
A. Oui, c'est possible.
AIVM est conçu comme une extension du format Safettenseurs, tandis que AIVMX est conçu comme une extension du format ONNX, de sorte que chacun peut être lu comme un fichier Safettenseurs ordinaire ou un fichier ONNX.
Les métadonnées AIVM sont stockées dans la zone des métadonnées définies par les spécifications de format de modèle existantes et n'affectent pas le comportement des outils existants.
A. Il y a deux façons:
Notez que le modèle à partir duquel vous le convertiez doit être enregistré dans un seul format de sécurité ou ONNX.
A. Le contrôle de la version manifeste AIVM est effectué dans les politiques suivantes:
Actuellement, 1.0 est le dernier.
A. AIVMLIB et AIVMLIB-Web sont des bibliothèques qui implémentent la même spécification AIVM pour différentes langues / environnements d'exploitation.
BinaryIO dans Python devient File (blob) de l'API Web JavaScript, la conception de l'API de base est la même que AIVMLIB.Conseil
À l'heure actuelle, il n'y a pas de bibliothèques de spécifications AIVM officiellement entretenues en plus de AIVMLIB / AIVMLIB-WEB.
Il est possible que les bibliothèques tierces pour d'autres langues apparaissent à l'avenir.
Important
Lorsque vous ajoutez une prise en charge de nouvelles architectures de modèle, vous devez ajouter des implémentations à AIVMLIB et AIVMLIB-Web.
Étant donné que le générateur AIVM utilise AIVMLIB-Web, les deux bibliothèques doivent être mises à jour pour fournir de nouvelles fonctionnalités aux utilisateurs finaux.
A. La spécification AIVM ne spécifie pas les détails de l'implémentation pour les architectures du modèle, ce qui facilite l'ajouter de nouvelles architectures de modèle.
GPT-SoVITS2 ) à ModelArchitecture .generate_aivm_metadata() en même temps.aivm_style_vectors , puis soumettez une demande de traction.Important
Les spécifications de manifeste AIVM soumises doivent être techniquement prises en charge par AIVMLIB (Python) et AIVMLIB-Web (TypeScript Web).
AIVMLIB-WEB est utilisé à l'intérieur du générateur AIVM.
Une fois que vous avez ajouté un support à AIVMLIB, ajoutez également le support à AIVMLIB-Web.
Note
Le manifeste AIVM est conçu pour définir uniquement les métadonnées communes indépendantes de l'architecture du modèle.
Les hyperparamètres spécifiques à l'implémentation doivent être stockés dans le champ aivm_hyper_parameters .
Nous acceptons également l'ajout de définitions de schéma pydantique pour les hyperparamètres. Actuellement, seul le schéma hyperparamètre pour les architectures Style-Bert-VITS2 est défini.
Note
Bien sûr, le modèle source à AIVM / AIVMX doit être enregistré dans un seul format de sécurité ou ONNX.
Par conséquent, les architectures de modèle couvrant plusieurs fichiers de modèle ne sont pas prises en charge.
Veuillez considérer comment combiner les fichiers du modèle en un seul ou supprimer les fichiers de modèle inutiles.
A. Les informations sur la licence sont dans Markdown ou en texte brut et configurent une copie complète de la licence directement intégrée dans un fichier AIVM / AIVMX.
Les raisons de l'intégration du texte complet de la licence plutôt que de spécifier une URL sont les suivantes:
R. Bien qu'il n'y ait pas de limite de taille spécifique, le fichier modèle lui-même est généralement énorme, donc une augmentation de la taille du fichier en raison des métadonnées doit être réduite au minimum.
Conseil
L'implémentation de référence, Générateur AIVM, suit ces directives pour assurer une optimisation de taille appropriée.
A. L'édition manuelle n'est pas recommandée car les métadonnées sont intégrées directement dans le binaire.
Si vous êtes un utilisateur final, veuillez utiliser le générateur AIVM.
Conseil
Les développeurs peuvent écrire leurs propres applications en utilisant AIVMLIB / AIVMLIB-WEB.
La CLI AIVMLIB offre uniquement la possibilité de générer des fichiers AIVM / AIVMX avec un minimum de métadonnées et de vérifier les métadonnées.