UNPKG

aivmlib-web

Version:

Aivis Voice Model File (.aivm/.aivmx) Utility Library for Web

89 lines (88 loc) 4.49 kB
import { AivmMetadata, AivmManifest } from './schemas/aivm-manifest'; export * from './schemas/aivm-manifest'; export * from './schemas/style-bert-vits2'; export * from './schemas/aivm-manifest-constants'; /** * Aivis Voice Model File (.aivm/.aivmx) Utility Library * * AIVM / AIVMX ファイルフォーマットの仕様は下記ドキュメントを参照のこと * ref: https://github.com/Aivis-Project/aivmlib#aivm-specification */ export default class Aivmlib { /** * ハイパーパラメータとスタイルベクトルファイルを読み込み、バリデーションする内部メソッド * @param model_architecture 音声合成モデルのアーキテクチャ * @param hyper_parameters_file ハイパーパラメータファイル * @param style_vectors_file スタイルベクトルファイル * @returns ハイパーパラメータとスタイルベクトルのデータ */ private static loadAndValidateHyperParametersAndStyleVectors; /** * ハイパーパラメータファイルとスタイルベクトルファイルから AIVM メタデータを生成する * @param model_architecture 音声合成モデルのアーキテクチャ * @param hyper_parameters_file ハイパーパラメータファイル * @param style_vectors_file スタイルベクトルファイル * @returns 生成された AIVM メタデータ */ static generateAivmMetadata(model_architecture: AivmManifest['model_architecture'], hyper_parameters_file: File, style_vectors_file: File | null): Promise<AivmMetadata>; /** * 既存の AIVM メタデータを、新しいハイパーパラメータとスタイルベクトルで更新する (モデル差し替え用) * 既存の UUID やユーザー設定メタデータは可能な限り維持される * @param existing_metadata 既存の AIVM メタデータ * @param hyper_parameters_file 新しいハイパーパラメータファイル * @param style_vectors_file 新しいスタイルベクトルファイル * @returns 更新された AIVM メタデータと警告メッセージの配列 */ static updateAivmMetadata(existing_metadata: AivmMetadata, hyper_parameters_file: File, style_vectors_file: File | null): Promise<{ updated_metadata: AivmMetadata; warnings: string[]; }>; /** * AIVM メタデータをバリデーションする * @param raw_metadata 辞書形式の生のメタデータ * @returns バリデーションが完了した AIVM メタデータ */ static validateAivmMetadata(raw_metadata: { [key: string]: string; }): AivmMetadata; /** * AIVM ファイルから AIVM メタデータを読み込む * @param aivm_file AIVM ファイル * @returns AIVM メタデータ */ static readAivmMetadata(aivm_file: File): Promise<AivmMetadata>; /** * AIVMX ファイルから AIVM メタデータを読み込む * @param aivmx_file AIVMX ファイル * @returns AIVM メタデータ */ static readAivmxMetadata(aivmx_file: File): Promise<AivmMetadata>; /** * AIVM メタデータを生の辞書形式にシリアライズする * @param aivm_metadata AIVM メタデータ * @returns シリアライズされた AIVM メタデータ (文字列から文字列へのマップ) */ static serializeAivmMetadata(aivm_metadata: AivmMetadata): { [key: string]: string; }; /** * AIVM メタデータを AIVM ファイルに書き込む * @param aivm_file AIVM ファイル * @param aivm_metadata AIVM メタデータ * @returns 書き込みが完了した AIVM ファイル */ static writeAivmMetadata(aivm_file: File, aivm_metadata: AivmMetadata): Promise<File>; /** * AIVM メタデータを AIVMX ファイルに書き込む * @param aivmx_file AIVMX ファイル * @param aivm_metadata AIVM メタデータ * @returns 書き込みが完了した AIVMX ファイル */ static writeAivmxMetadata(aivmx_file: File, aivm_metadata: AivmMetadata): Promise<File>; /** * AIVM マニフェストの内容をハイパーパラメータにも反映する * 結果は AivmMetadata オブジェクトに直接 in-place で反映される * @param aivm_metadata AIVM メタデータ */ static applyAivmManifestToHyperParameters(aivm_metadata: AivmMetadata): void; }