? aivmlib : ai vis v oice m odel file (.aivm/.aivmx) utility lib rary
AIVM ( Ai vis v oice m odel) / AIVMX ( ai vis v oice m odel for onn x ) adalah format file terbuka untuk model sintesis ucapan AI yang menggabungkan model pra-terlatih, hyperparameters, vektor gaya, satu metadata (nama, ikhtisar, lisensi, ikon, sampel suara, dll .
Catatan
"AIVM" juga merupakan istilah umum untuk spesifikasi format AIVM/AIVMX dan spesifikasi metadata.
Secara khusus, file AIVM adalah file model dalam "format safetensors dengan AIVM metadata ditambahkan", dan file AIVMX adalah file model dalam "format onnx dengan AIVM metadata ditambahkan".
"AIVM Metadata" mengacu pada berbagai metadata yang terkait dengan model terlatih sebagaimana didefinisikan dalam spesifikasi AIVM.
Anda dapat dengan mudah menggunakan model sintesis ucapan AI dengan menambahkan file AIVM/AIVMX ke perangkat lunak yang mendukung spesifikasi AIVM, termasuk mesin AIVISSPEECH/AIVISSPEECH.
AIVMLIB/AIVMLIB-WEB menyediakan utilitas untuk membaca dan menulis metadata dalam file AIVM/AIVMX.
AIVMLIB ini adalah implementasi referensi dari spesifikasi AIVM yang ditulis dalam Python. Jika Anda menggunakan browser web, silakan gunakan AIVMLIB-WEB.
Tip
AIVM Generator memungkinkan Anda untuk dengan mudah menghasilkan dan mengedit file AIVM/AIVMX menggunakan GUI di browser Anda.
Kami merekomendasikan menggunakan AIVM Generator saat secara manual menghasilkan dan mengedit file AIVM/AIVMX.
Jika Anda menginstalnya dengan PIP, alat baris perintah aivmlib juga akan diinstal secara otomatis.
Membutuhkan Python 3.11 atau lebih tinggi.
pip install aivmlibSaya menggunakan puisi selama pengembangan.
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --helpDi bawah ini adalah cara menggunakan alat CLI itu sendiri.
$ 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. │
╰───────────────────────────────────────────────────────────────────────────────────╯Di bawah ini adalah contoh melaksanakan perintah.
# 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.aivmxTip
Untuk penggunaan sebagai perpustakaan, lihat Menerapkan alat CLI yang diterapkan di __main__.py .
Penting
AIVMLIB/AIVMLIB-WEB adalah perpustakaan yang hanya membaca/menulis fungsi untuk format file AIVM/AIVMX.
Logika inferensi untuk model sintesis ucapan AI untuk setiap arsitektur model dan bagaimana data yang diperoleh dari aivmlib/aivmlib-web diserahkan kepada pengguna perpustakaan.
Lisensi MIT
Bagian ini mendefinisikan spesifikasi teknis berikut yang termasuk dalam "Spesifikasi AIVM":
Tujuannya adalah untuk menggabungkan model sintesis ucapan AI terlatih dan berbagai metadata yang diperlukan untuk penggunaannya menjadi satu file, mencegah disipasi file dan kebingungan, dan membuatnya lebih mudah digunakan dan berbagi model.
Tip
Dengan menggabungkannya menjadi satu file, Anda dapat dengan mudah mengoperasikannya dengan hanya mengunduh file AIVM/AIVMX dan menempatkannya di folder yang ditentukan, dan menggunakan model sintesis pidato segera dengan perangkat lunak yang kompatibel.
Keuntungan lain adalah bahwa itu bukan file terkompresi, jadi tidak perlu menyebarkannya.
Spesifikasi AIVM tidak bergantung pada arsitektur model model sintesis bicara.
Ini telah dirancang dengan skalabilitas dan keserbagunaan di masa depan dalam pikiran sehingga model sintesis ucapan dari berbagai arsitektur model dapat ditangani dalam format file umum.
Jika model terlatih yang mendasarinya disimpan dalam satu safetensor atau format ONNX, pada prinsipnya, Anda dapat menambahkan metadata untuk menghasilkan file AIVM/AIVMX, terlepas dari arsitektur model.
Saat merancang, kami menekankan kompatibilitas dengan ekosistem yang ada sehingga mereka dapat dimuat sebagai safetensor reguler atau file ONNX tanpa pemrosesan konversi.
Penting
Spesifikasi AIVM tidak menentukan metode inferensi untuk setiap arsitektur model. Spesifikasi didefinisikan sebagai "file yang merangkum metadata model sintesis ucapan AI."
Misalnya, untuk file AIVM, model sintesis ucapan AI yang disimpan mungkin untuk Pytorch atau TensorFlow.
Cara Menyimpulkan Model Sintesis Pidato AI diserahkan kepada implementasi perangkat lunak yang mendukung file AIVM/AIVMX.
Spesifikasi untuk format file AIVM ditunjukkan di bawah ini.
AIVM ( AI vis v oice m odel) adalah spesifikasi format Safetensor yang diperluas yang menyimpan berbagai informasi seperti speaker metadata (AIVM Manifest), hyperparameters, dan vektor gaya sebagai metadata khusus di area header dari model terlatih yang disimpan di format Safetensors (.Safetensor).
Ini juga dapat dikatakan sebagai "spesifikasi deskripsi metadata umum untuk model sintesis ucapan AI yang disimpan dalam format Safetensors."
Karena ini merupakan spesifikasi yang diperluas dalam format Safetensor, itu dapat dimuat sebagai file safetensor normal apa adanya.
Seperti Safetensors, 8 byte pertama bilangan bulat 64bit kecil yang tidak ditandatangani adalah ukuran header diikuti oleh string JSON UTF-8 dengan panjang ukuran header.
Header JSON dari Safetensors menyimpan offset tensor, dll., Tetapi tombol __metadata__ memungkinkan Anda untuk mengatur peta dengan bebas dari string ke string.
Memanfaatkan spesifikasi ini, AIVM menyimpan data string berikut dalam tombol berikut di __metadata__ :
aivm_manifest : AIVM Manifestaivm_hyper_parameters : Hyperparameters untuk model sintesis bicaraStyle-Bert-VITS2 dan Style-Bert-VITS2 (JP-Extra) Model Architecture Stores JSON Stringsaivm_style_vectors : BASE64 Vektor Gaya Model Sintesis Pidato yang Dikisi Busa (Biner)Style-Bert-VITS2 dan Style-Bert-VITS2 (JP-Extra) , sebuah string dengan base64 yang dikodekan numpy array (.npy) disimpan.Di bawah ini adalah spesifikasi untuk format file AIVMX.
AIVMX ( AI vis v oice m odel untuk ONNX ) adalah spesifikasi format ONNX yang diperluas yang menyimpan berbagai informasi seperti speaker metadata (AIVM manifest), vektor gaya hyperparameter sebagai metadata khusus di daerah metadata dari model terlatih yang disimpan dalam format ONNX.
Ini juga dapat dikatakan sebagai "spesifikasi deskripsi metadata umum untuk model sintesis ucapan AI yang disimpan dalam format ONNX."
Karena ini merupakan spesifikasi yang diperluas dalam format ONNX, itu dapat dimuat sebagai file ONNX normal sebagaimana adanya.
File ONNX didefinisikan dalam format buffer protokol, dan dirancang untuk menyimpan metadata sebagai daftar StringStringEntryProto di bidang metadata_props dari pesan ModelProto root.
Memanfaatkan spesifikasi ini, AIVMX menyimpan data string berikut dalam tombol berikut di metadata_props :
aivm_manifest : AIVM Manifestaivm_hyper_parameters : Hyperparameters untuk model sintesis bicaraStyle-Bert-VITS2 dan Style-Bert-VITS2 (JP-Extra) Model Architecture Stores JSON Stringsaivm_style_vectors : BASE64 Vektor Gaya Model Sintesis Pidato yang Dikisi Busa (Biner)Style-Bert-VITS2 dan Style-Bert-VITS2 (JP-Extra) , sebuah string dengan base64 yang dikodekan numpy array (.npy) disimpan.Di bawah ini adalah spesifikasi untuk manifes AIVM (versi 1.0) yang termasuk dalam format file AIVM/AIVMX.
AIVM Manifest berisi berbagai informasi yang diperlukan untuk menggunakan model sintesis ucapan, seperti versi manifes, arsitektur model, nama model, metadata pembicara, dan informasi gaya.
Format data untuk manifes AIVM adalah string UTF-8 yang ditulis dalam format JSON.
Karena format JSON, gambar dan data audio disimpan sebagai string yang dikodekan Base64.
Catatan
AIVM (Safetensors) yang saat ini didefinisikan sebagai format wadah untuk AIVM manifes - area metadata AIVMX (ONNX) harus menjadi nilai kunci dari jenis string ke jenis string tanpa bersarang, sehingga semua metadata diserialisasi menjadi string dan disimpan.
Data biner seperti gambar dan audio disimpan sebagai string setelah menjadi base64 yang dikodekan.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Penting
Perangkat lunak yang mendukung file AIVM/AIVMX harus divalidasi dengan benar untuk file AIVM/AIVMX dari arsitektur model yang tidak didukung oleh perangkat lunak Anda sendiri.
Misalnya, perangkat lunak yang tidak mendukung arsitektur model selain Style-Bert-VITS2 (JP-Extra) , ketika diminta untuk menginstal file AIVM/AIVMX untuk arsitektur model Style-Bert-VITS2 , sebuah peringatan akan ditampilkan dengan mengatakan "Arsitektur model ini tidak didukung" dan instalasi akan dibatalkan.
Penting
Secara teknis, model sintesis ucapan dari arsitektur model selain yang tercantum di atas dapat disimpan, tetapi satu -satunya string arsitektur model yang disebutkan di atas secara resmi didefinisikan dalam spesifikasi AIVM Manifest (versi 1.0).
Saat mendefinisikan string arsitektur model Anda sendiri, Anda harus sangat berhati -hati untuk menghindari konflik nama dengan arsitektur model yang ada atau ketidakselarasan antara perangkat lunak yang berbeda.
Disarankan untuk mengirim permintaan tarik ke repositori ini sebanyak mungkin dan secara resmi menambahkan dukungan untuk arsitektur model baru ke spesifikasi AIVM.
Di bawah ini adalah definisi bidang untuk manifes AIVM pada spesifikasi AIVM Manifest (versi 1.0) (kutipan dari definisi skema Pydantic AIVMLIB).
Penting
Bidang dalam manifes AIVM dapat ditambahkan, diperluas atau dihapus ketika spesifikasi AIVM diperbarui di masa depan.
Sangat mungkin bahwa metadata baru akan ditambahkan ke manifes AIVM dan format file AIVM/AIVMX itu sendiri dengan dukungan untuk pembaruan versi di masa depan dan arsitektur model tambahan.
Satu -satunya versi manifes AIVM aktif yang saat ini adalah 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. Untuk memberikan dua format yang dioptimalkan untuk aplikasi dan lingkungan yang berbeda, memungkinkan penggunaan yang lebih fleksibel.
A. Ya, itu mungkin.
AIVM dirancang sebagai perpanjangan dari format Safetensors, sedangkan AIVMX dirancang sebagai perpanjangan dari format ONNX, sehingga masing -masing dapat dibaca sebagai file Safetensors biasa atau file ONNX.
AIVM metadata disimpan di area metadata yang ditentukan oleh spesifikasi format model yang ada dan tidak mempengaruhi perilaku alat yang ada.
A. Ada dua cara:
Perhatikan bahwa model dari mana Anda mengonversi itu harus disimpan dalam satu format safetensor atau onnx.
A. Kontrol versi manifes AIVM dilakukan di bawah kebijakan berikut:
Saat ini, 1.0 adalah yang terbaru.
A. AIVMLIB dan AIVMLIB-WEB adalah perpustakaan yang menerapkan spesifikasi AIVM yang sama untuk berbagai bahasa/lingkungan operasi.
BinaryIO di Python menjadi File (gumpalan) dari JavaScript Web API, desain API dasar sama dengan AIVMLIB.Tip
Pada saat ini, tidak ada perpustakaan spesifikasi AIVM yang dikelola secara resmi selain AIVMLIB/AIVMLIB-WEB.
Ada kemungkinan bahwa perpustakaan pihak ketiga untuk bahasa lain akan muncul di masa depan.
Penting
Saat menambahkan dukungan untuk arsitektur model baru, Anda harus menambahkan implementasi ke AIVMLIB dan AIVMLIB-WEB.
Karena AIVM Generator menggunakan AIVMLib-Web, kedua perpustakaan harus diperbarui untuk memberikan fitur baru kepada pengguna akhir.
A. Spesifikasi AIVM tidak menentukan detail implementasi untuk arsitektur model, membuatnya relatif mudah untuk menambahkan arsitektur model baru.
GPT-SoVITS2 ) ke ModelArchitecture .generate_aivm_metadata() secara bersamaan.aivm_style_vectors , dan kemudian mengirimkan permintaan tarik.Penting
Spesifikasi manifes AIVM yang dikirim harus didukung secara teknis oleh AIVMLIB (Python) dan AIVMLib-WEB (Web TypeScript).
AIVMLIB-WEB digunakan di dalam AIVM Generator.
Setelah Anda menambahkan dukungan ke AIVMLIB, tambahkan dukungan ke AIVMLIB-WEB juga.
Catatan
AIVM Manifest dirancang untuk mendefinisikan hanya metadata umum yang tidak tergantung pada arsitektur model.
Hyperparameter khusus implementasi harus disimpan di bidang aivm_hyper_parameters .
Kami juga menerima tambahan definisi skema Pydantic untuk hiperparameter. Saat ini, hanya skema hiperparameter untuk arsitektur Style-Bert-VITS2 yang didefinisikan.
Catatan
Tentu saja, model sumber untuk AIVM/AIVMX harus disimpan dalam satu safetensor atau format ONNX.
Oleh karena itu, arsitektur model yang mencakup beberapa file model tidak didukung.
Harap pertimbangkan cara menggabungkan file model menjadi satu atau menghapus file model yang tidak perlu.
A. Informasi lisensi sedang dalam penurunan harga atau teks biasa, dan atur salinan lengkap lisensi yang langsung disematkan dalam file AIVM/AIVMX.
Alasan untuk menanamkan teks lisensi lengkap daripada menentukan URL adalah sebagai berikut:
A. Meskipun tidak ada batas ukuran khusus, file model itu sendiri umumnya besar, sehingga ukuran file lebih lanjut meningkat karena metadata harus dijaga seminimal mungkin.
Tip
Implementasi referensi, AIVM Generator, mengikuti pedoman ini untuk memastikan optimasi ukuran yang tepat.
A. Pengeditan manual tidak direkomendasikan karena metadata tertanam langsung di biner.
Jika Anda adalah pengguna akhir, silakan gunakan AIVM Generator.
Tip
Pengembang dapat menulis aplikasi mereka sendiri menggunakan AIVMLIB/AIVMLIB-WEB.
AIVMLIB CLI hanya menyediakan kemampuan untuk menghasilkan file AIVM/AIVMX dengan metadata minimal dan untuk memverifikasi metadata.