Aivis Voice Model File (.aivm/.aivmx) Utility Library
Project description
aivmlib
ð aivmlib: Aivis Voice Model File (.aivm/.aivmx) Utility Library
AIVM (Aivis Voice Model) / AIVMX (Aivis Voice Model for ONNX) ã¯ãåŠç¿æžã¿ã¢ãã«ã»ãã€ããŒãã©ã¡ãŒã¿ã»ã¹ã¿ã€ã«ãã¯ãã«ã»è©±è ã¡ã¿ããŒã¿ïŒååã»æŠèŠã»ã©ã€ã»ã³ã¹ã»ã¢ã€ã³ã³ã»ãã€ã¹ãµã³ãã« ãªã©ïŒã 1 ã€ã®ãã¡ã€ã«ã«ã®ã¥ããšãŸãšãããAI é³å£°åæã¢ãã«çšãªãŒãã³ãã¡ã€ã«ãã©ãŒãããã§ãã
[!NOTE]
ãAIVMãã¯ãAIVM / AIVMX äž¡æ¹ã®ãã©ãŒããã仿§ã»ã¡ã¿ããŒã¿ä»æ§ã®ç·ç§°ã§ããããŸãã
å ·äœçã«ã¯ãAIVM ãã¡ã€ã«ã¯ãAIVM ã¡ã¿ããŒã¿ã远å ãã Safetensors 圢åŒããAIVMX ãã¡ã€ã«ã¯ãAIVM ã¡ã¿ããŒã¿ã远å ãã ONNX 圢åŒãã®ã¢ãã«ãã¡ã€ã«ã§ãã
ãAIVM ã¡ã¿ããŒã¿ããšã¯ãAIVM 仿§ã«å®çŸ©ãããŠãããåŠç¿æžã¿ã¢ãã«ã«çŽã¥ãåçš®ã¡ã¿ããŒã¿ã®ããšããããŸãã
AivisSpeech / AivisSpeech-Engine ãã¯ãããšãã AIVM 仿§ã«å¯Ÿå¿ãããœãããŠã§ã¢ã« AIVM / AIVMX ãã¡ã€ã«ã远å ããããšã§ãAI é³å£°åæã¢ãã«ãç°¡åã«å©çšã§ããŸãã
aivmlib / aivmlib-web ã§ã¯ãAIVM / AIVMX ãã¡ã€ã«å
ã®ã¡ã¿ããŒã¿ãèªã¿æžãããããã®ãŠãŒãã£ãªãã£ãæäŸããŸãã
ãã® aivmlib ã¯ãPython ã§æžããã AIVM 仿§ã®ãªãã¡ã¬ã³ã¹å®è£
ã§ããWeb ãã©ãŠã¶ã§å©çšããå Žå㯠aivmlib-web ããå©çšãã ããã
[!TIP]
AIVM Generator ã§ã¯ããã©ãŠã¶äžã® GUI ã§ããããã« AIVM / AIVMX ãã¡ã€ã«ãçæã»ç·šéã§ããŸãã
æåã§ AIVM / AIVMX ãã¡ã€ã«ãçæã»ç·šéããé㯠AIVM Generator ã®å©çšãããããããŸãã
- aivmlib
- AIVM Specification
- Overview
- AIVM File Format Specification
- AIVMX File Format Specification
- AIVM Manifest Specification (Version 1.0)
- FAQ
- Q. AIVM ãš AIVMX ãšãã 2 ã€ã®ãã©ãŒããããå®çŸ©ãããŠããã®ã¯ãªãã§ããïŒ
- Q. AIVM / AIVMX ãã¡ã€ã«ãæ¢åã®ããŒã«ã§èªã¿èŸŒãããšã¯ã§ããŸããïŒ
- Q. æ¢åã® AI é³å£°åæã¢ãã«ã AIVM / AIVMX ã«å€æããã«ã¯ã©ãããã°ããã§ããïŒ
- Q. AIVM ãããã§ã¹ãã®ããŒãžã§ã³ç®¡çã¯ã©ã®ããã«è¡ãããŸããïŒ
- Q. aivmlib ãš aivmlib-web ã®éãã¯ãªãã§ããïŒ
- Q. æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã远å ããã«ã¯ã©ãããã°ããã§ããïŒ
- Q. ã©ã€ã»ã³ã¹æ å ±ã¯ã©ã®ããã«èšè¿°ãã¹ãã§ããïŒ
- Q. ç»åã»é³å£°ããŒã¿ã®ãµã€ãºå¶éã¯ãããŸããïŒ
- Q. ã¡ã¿ããŒã¿ã¯æåã§ç·šéã§ããŸããïŒ
Installation
pip ã§ã€ã³ã¹ããŒã«ãããšãã³ãã³ãã©ã€ã³ããŒã« aivmlib ãèªåçã«ã€ã³ã¹ããŒã«ãããŸãã
Python 3.11 以äžãå¿
èŠã§ãã
pip install aivmlib
éçºæã¯ Poetry ãå©çšããŠããŸãã
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --help
Usage
以äžã« CLI ããŒã«èªäœã®äœ¿ãæ¹ã瀺ããŸãã
$ 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. â
â°ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¯
以äžã«ã³ãã³ãã®å®è¡äŸã瀺ããŸãã
# 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.aivmx
[!TIP]
ã©ã€ãã©ãªãšããŠã®äœ¿ãæ¹ã¯ã__main__.pyã«å®è£ ãããŠãã CLI ããŒã«ã®å®è£ ãåç §ããŠãã ããã
[!IMPORTANT]
aivmlib / aivmlib-web ã¯ãAIVM / AIVMX ãã¡ã€ã«ãã©ãŒãããã®èªã¿èŸŒã¿/æžãèŸŒã¿æ©èœã®ã¿ãæããã©ã€ãã©ãªã§ãã
åã¢ãã«ã¢ãŒããã¯ãã£ããšã® AI é³å£°åæã¢ãã«ã®æšè«ããžãã¯ããaivmlib / aivmlib-web ããååŸããããŒã¿ãã©ã®ããã«ãŠãŒã¶ãŒã«æç€ºãããã¯ããã¹ãŠã©ã€ãã©ãªã®å©çšè ã«å§ããããŠããŸãã
License
AIVM Specification
ãã®ã»ã¯ã·ã§ã³ã§ã¯ããAIVM 仿§ãã«å«ãŸãããäžèšã®æè¡ä»æ§ãå®çŸ©ããã
- AIVM File Format Specification
- AIVMX File Format Specification
- AIVM Manifest Specification (Version 1.0)
- FAQ
Overview
åŠç¿æžã¿ AI é³å£°åæã¢ãã«ãšããã®å©çšã«å¿ èŠãªåçš®ã¡ã¿ããŒã¿ãåäžãã¡ã€ã«ã«ãŸãšããããšã§ããã¡ã€ã«ã®æ£éžãæ··ä¹±ãé²ããã¢ãã«ã®å©çšãå ±æã容æã«ããããšãç®çãšããŠããã
[!TIP]
åäžãã¡ã€ã«ã«ãŸãšããããšã§ãAIVM / AIVMX ãã¡ã€ã«ãããŠã³ããŒãããŠæå®ã®ãã©ã«ãã«é 眮ããã ãã§ã察å¿ãœãããŠã§ã¢ã§ããã«é³å£°åæã¢ãã«ãå©çšã§ããããã«ãªããšãã£ããã·ã³ãã«ãªéçšãå¯èœã«ãªãã
å§çž®ãã¡ã€ã«ã§ã¯ãªããããå±éã®å¿ èŠããªãã®ãã¡ãªããã
AIVM 仿§ã¯ãé³å£°åæã¢ãã«ã®ã¢ãã«ã¢ãŒããã¯ãã£ã«äŸåããªãã
ç°ãªãã¢ãã«ã¢ãŒããã¯ãã£ã®é³å£°åæã¢ãã«ãå
±éã®ãã¡ã€ã«ãã©ãŒãããã§æ±ãããããå°æ¥çãªæ¡åŒµæ§ãæ±çšæ§ãèæ
®ããŠèšèšãããŠããã
倧å
ã®åŠç¿æžã¿ã¢ãã«ãåäžã® Safetensors ãŸã㯠ONNX 圢åŒã§ä¿åãããŠãããªãã°ãååã©ã®ãããªã¢ãã«ã¢ãŒããã¯ãã£ã§ãã£ãŠããã¡ã¿ããŒã¿ã远å ã㊠AIVM / AIVMX ãã¡ã€ã«ãçæã§ããã
èšèšã«ããã£ãŠã¯ã倿åŠçãæãããšãªãéåžžã® Safetensors ãã¡ã€ã«ã ONNX ãã¡ã€ã«ãšããŠããŒãã§ãããããæ¢åãšã³ã·ã¹ãã ãšã®äºææ§ãéèŠããã
[!IMPORTANT]
AIVM 仿§ã¯ãåã¢ãã«ã¢ãŒããã¯ãã£ããšã®æšè«æ¹æ³ãå®çŸ©ããªãããããŸã§ããAI é³å£°åæã¢ãã«ã®ã¡ã¿ããŒã¿ããŸãšãããã¡ã€ã«ããšããŠã®ä»æ§ã®ã¿ãå®çŸ©ããã
ããšãã° AIVM ãã¡ã€ã«ã®å Žåãæ ŒçŽãããŠãã AI é³å£°åæã¢ãã«ã¯ PyTorch çšãããããªãããTensorFlow çšãããããªãã
ã©ã®ããã« AI é³å£°åæã¢ãã«ã®æšè«ãè¡ããã¯ãAIVM / AIVMX ãã¡ã€ã«ããµããŒããããœãããŠã§ã¢ã®å®è£ ã«å§ããããŠããã
AIVM File Format Specification
以äžã«ãAIVM ãã¡ã€ã«ãã©ãŒãããã®ä»æ§ã瀺ãã
AIVM (Aivis Voice Model) ã¯ãSafetensors (.safetensors) 圢åŒã§ä¿åãããåŠç¿æžã¿ã¢ãã«ã®ããããŒé åã®äžã«ãã«ã¹ã¿ã ã¡ã¿ããŒã¿ãšããŠè©±è ã¡ã¿ããŒã¿ (AIVM ãããã§ã¹ã) ã»ãã€ããŒãã©ã¡ãŒã¿ã»ã¹ã¿ã€ã«ãã¯ãã«ãšãã£ãåçš®æ å ±ãæ ŒçŽãããSafetensors 圢åŒã®æ¡åŒµä»æ§ã§ããã
ãSafetensors 圢åŒã§ä¿åããã AI é³å£°åæã¢ãã«åãã®ãå ±éã¡ã¿ããŒã¿èšè¿°ä»æ§ã ãšãèšããã
Safetensors 圢åŒãšã®äºææ§
Safetensors 圢åŒã®æ¡åŒµä»æ§ã®ããããã®ãŸãŸéåžžã® Safetensors ãã¡ã€ã«ãšããŠããŒãã§ããã
Safetensors åæ§ãå
é 8bytes ã®ç¬Šå·ãªã Little-Endian 64bit æŽæ°ãããããŒãµã€ãºããã®åŸãã«ããããŒãµã€ãºã®é·ãã ã UTF-8 ã® JSON æååãç¶ãã
Safetensors ã®ããã㌠JSON ã«ã¯ãã³ãœã«ã®ãªãã»ããçãæ ŒçŽãããŠãããã__metadata__ ããŒã«ã¯ string ãã string ãžã® map ãèªç±ã«èšå®å¯èœãªä»æ§ã§ããã
ãã®ä»æ§ã掻çšããAIVM 㯠__metadata__ å
ã®ä»¥äžã®ããŒã«ãæ¬¡ã®æååããŒã¿ãæ ŒçŽããïŒ
aivm_manifest: AIVM ãããã§ã¹ã- JSON æååãšããŠæ ŒçŽããã
- ãããã§ã¹ãããŒãžã§ã³ã話è ã¡ã¿ããŒã¿ãå«ã倧åã®æ å ±ãå«ãŸãã
aivm_hyper_parameters: é³å£°åæã¢ãã«ã®ãã€ããŒãã©ã¡ãŒã¿- æ ŒçŽãã©ãŒãããã¯ã¢ãã«ã¢ãŒããã¯ãã£äŸå
Style-Bert-VITS2ã»Style-Bert-VITS2 (JP-Extra)ã¢ãã«ã¢ãŒããã¯ãã£ã§ã¯ JSON æååãæ ŒçŽããã
aivm_style_vectors: Base64 ãšã³ã³ãŒããããé³å£°åæã¢ãã«ã®ã¹ã¿ã€ã«ãã¯ãã« (ãã€ããª)- Base64 ãã³ãŒãåŸã®ãã©ãŒãããã¯ã¢ãã«ã¢ãŒããã¯ãã£äŸå
Style-Bert-VITS2ã»Style-Bert-VITS2 (JP-Extra)ã¢ãã«ã¢ãŒããã¯ãã£ã§ã¯ NumPy é å (.npy) ã Base64 ãšã³ã³ãŒãããæååãæ ŒçŽããã- ã¢ãã«ã¢ãŒããã¯ãã£æ¬¡ç¬¬ã§ã¯çç¥ãããã
åèæç®
AIVMX File Format Specification
以äžã«ãAIVMX ãã¡ã€ã«ãã©ãŒãããã®ä»æ§ã瀺ãã
AIVMX (Aivis Voice Model for ONNX) ã¯ãONNX 圢åŒã§ä¿åãããåŠç¿æžã¿ã¢ãã«ã®ã¡ã¿ããŒã¿é åã®äžã«ãã«ã¹ã¿ã ã¡ã¿ããŒã¿ãšããŠè©±è ã¡ã¿ããŒã¿ (AIVM ãããã§ã¹ã) ã»ãã€ããŒãã©ã¡ãŒã¿ã»ã¹ã¿ã€ã«ãã¯ãã«ãšãã£ãåçš®æ å ±ãæ ŒçŽãããONNX 圢åŒã®æ¡åŒµä»æ§ã§ããã
ãONNX 圢åŒã§ä¿åããã AI é³å£°åæã¢ãã«åãã®ãå ±éã¡ã¿ããŒã¿èšè¿°ä»æ§ã ãšãèšããã
ONNX 圢åŒãšã®äºææ§
ONNX 圢åŒã®æ¡åŒµä»æ§ã®ããããã®ãŸãŸéåžžã® ONNX ãã¡ã€ã«ãšããŠããŒãã§ããã
ONNX ãã¡ã€ã«ã¯ Protocol Buffers 圢åŒã§å®çŸ©ãããŠãããã«ãŒãã§ãã ModelProto ã¡ãã»ãŒãžã® metadata_props ãã£ãŒã«ãã«ãStringStringEntryProto ã®ãªã¹ããšããŠã¡ã¿ããŒã¿ãæ ŒçŽã§ãã仿§ãšãªã£ãŠããã
ãã®ä»æ§ã掻çšããAIVMX 㯠metadata_props å
ã®ä»¥äžã®ããŒã«ãæ¬¡ã®æååããŒã¿ãæ ŒçŽããïŒ
aivm_manifest: AIVM ãããã§ã¹ã- JSON æååãšããŠæ ŒçŽããã
- ãããã§ã¹ãããŒãžã§ã³ã話è ã¡ã¿ããŒã¿ãå«ã倧åã®æ å ±ãå«ãŸãã
aivm_hyper_parameters: é³å£°åæã¢ãã«ã®ãã€ããŒãã©ã¡ãŒã¿- æ ŒçŽãã©ãŒãããã¯ã¢ãã«ã¢ãŒããã¯ãã£äŸå
Style-Bert-VITS2ã»Style-Bert-VITS2 (JP-Extra)ã¢ãã«ã¢ãŒããã¯ãã£ã§ã¯ JSON æååãæ ŒçŽããã
aivm_style_vectors: Base64 ãšã³ã³ãŒããããé³å£°åæã¢ãã«ã®ã¹ã¿ã€ã«ãã¯ãã« (ãã€ããª)- Base64 ãã³ãŒãåŸã®ãã©ãŒãããã¯ã¢ãã«ã¢ãŒããã¯ãã£äŸå
Style-Bert-VITS2ã»Style-Bert-VITS2 (JP-Extra)ã¢ãã«ã¢ãŒããã¯ãã£ã§ã¯ NumPy é å (.npy) ã Base64 ãšã³ã³ãŒãããæååãæ ŒçŽããã- ã¢ãã«ã¢ãŒããã¯ãã£æ¬¡ç¬¬ã§ã¯çç¥ãããã
åèæç®
- ONNX
- Open Neural Network Exchange Intermediate Representation (ONNX IR) Specification
- ONNX Metadata
- How to populate onnx model with custom meta data map ?
AIVM Manifest Specification (Version 1.0)
以äžã«ãAIVM / AIVMX ãã¡ã€ã«ãã©ãŒãããã«å«ãŸãããAIVM ãããã§ã¹ã (Version 1.0) ã®ä»æ§ã瀺ãã
AIVM ãããã§ã¹ãã«ã¯ããããã§ã¹ãããŒãžã§ã³ã»ã¢ãã«ã¢ãŒããã¯ãã£ã»ã¢ãã«åã»è©±è ã¡ã¿ããŒã¿ã»ã¹ã¿ã€ã«æ å ±ãªã©ã®ãé³å£°åæã¢ãã«ã®å©çšã«å¿ èŠãšãªãæ§ã ãªæ å ±ãå«ãŸããã
AIVM ãããã§ã¹ãã®ããŒã¿åœ¢åŒã¯ãJSON ãã©ãŒãããã§èšè¿°ããã UTF-8 æååã§ããã
JSON ãã©ãŒãããã®éœåäžãç»åãé³å£°ããŒã¿ã¯ Base64 ãšã³ã³ãŒããããæååã§æ ŒçŽãããã
[!NOTE]
çŸåš AIVM ãããã§ã¹ãã®ã³ã³ãããã©ãŒããããšããŠå®çŸ©ãããŠãã AIVM (Safetensors) ã»AIVMX (ONNX) ã®ã¡ã¿ããŒã¿é åã¯ãã¹ããªãã® string åãã string åãžã® key-value ã§ãªããã°ãªããªãããããã¹ãŠã®ã¡ã¿ããŒã¿ãæååã«ã·ãªã¢ã©ã€ãºããŠæ ŒçŽãã仿§ãšãªã£ãŠããã
ç»åãé³å£°ãªã©ã®ãã€ããªããŒã¿ã«ã€ããŠã¯ãBase64 ãšã³ã³ãŒããæœããäžã§æååãšããŠæ ŒçŽããã
ãµããŒããããã¢ãã«ã¢ãŒããã¯ãã£
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra)
[!IMPORTANT]
AIVM / AIVMX ãã¡ã€ã«ããµããŒããããœãããŠã§ã¢ã§ã¯ãèªãœãããŠã§ã¢ã§ã¯ãµããŒã察象å€ã®ã¢ãã«ã¢ãŒããã¯ãã£ã® AIVM / AIVMX ãã¡ã€ã«ããé©åã«ããªããŒã·ã§ã³ããå¿ èŠãããã
ããšãã°Style-Bert-VITS2 (JP-Extra)以å€ã®ã¢ãã«ã¢ãŒããã¯ãã£ããµããŒãããªããœãããŠã§ã¢ã§ã¯ãStyle-Bert-VITS2ã¢ãã«ã¢ãŒããã¯ãã£ã® AIVM / AIVMX ãã¡ã€ã«ã®ã€ã³ã¹ããŒã«ãæ±ããããéã«ããã®ã¢ãã«ã¢ãŒããã¯ãã£ã«ã¯å¯Ÿå¿ããŠããŸããããšã¢ã©ãŒãã衚瀺ããã€ã³ã¹ããŒã«ãäžæ¢ããããå®è£ ãã¹ãã
[!IMPORTANT]
æè¡çã«ã¯äžèšä»¥å€ã®ã¢ãã«ã¢ãŒããã¯ãã£ã®é³å£°åæã¢ãã«ãæ ŒçŽå¯èœã ããAIVM ãããã§ã¹ã (Version 1.0) 仿§ã§å ¬åŒã«å®çŸ©ãããŠããã¢ãã«ã¢ãŒããã¯ãã£æååã¯äžèšã®ã¿ã
ç¬èªã«ã¢ãã«ã¢ãŒããã¯ãã£æååãå®çŸ©ããå Žåã¯ãæ¢åã®ã¢ãã«ã¢ãŒããã¯ãã£ãšã®ååè¡çªãç°ãªããœããéã§ã®è¡šèšæºããçºçããªãããã现å¿ã®æ³šæãæãå¿ èŠãããã
ãªãã¹ããã®ãªããžããªã«ãã«ãªã¯ãšã¹ããéä¿¡ããå ¬åŒã« AIVM 仿§ã«æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã远å ãã圢ãåãããšãæšå¥šããã
AIVM ãããã§ã¹ãã®ãã£ãŒã«ãå®çŸ©
以äžã¯ AIVM ãããã§ã¹ã (Version 1.0) 仿§æç¹ã§ã® AIVM ãããã§ã¹ãã®ãã£ãŒã«ãå®çŸ©ã瀺ã (aivmlib ã® Pydantic ã¹ããŒãå®çŸ© ããæç²) ã
[!IMPORTANT]
AIVM ãããã§ã¹ãå ã®ãã£ãŒã«ãã¯ãä»åŸ AIVM 仿§ãæŽæ°ãããéã«è¿œå ã»æ¡åŒµã»åé€ãããå¯èœæ§ãããã
ä»åŸã®ããŒãžã§ã³æŽæ°ã远å ã®ã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã«ãããAIVM ãããã§ã¹ãã AIVM / AIVMX ãã¡ã€ã«ãã©ãŒãããèªäœã«æ°ããã¡ã¿ããŒã¿ã远å ãããããšãååèããããã
çŸåšæå¹ãª AIVM ãããã§ã¹ãããŒãžã§ã³ã¯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 <jane.doe@example.com>", "John Doe <john.doe@example.com> (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)]
FAQ
Q. AIVM ãš AIVMX ãšãã 2 ã€ã®ãã©ãŒããããå®çŸ©ãããŠããã®ã¯ãªãã§ããïŒ
A. ç°ãªãçšéãç°å¢ã«æé©åããã 2 ã€ã®ãã©ãŒããããæäŸããããšã§ãããæè»ãªå©çšãå¯èœã«ããããã§ãã
- AIVM (.aivm): PyTorch ãªã©ã®æ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯ã§çŽæ¥å©çšã§ãã Safetensors 圢åŒãããŒã¹ãšãããã©ãŒãããã§ãã
- ç ç©¶éçºãã¢ãã«ã® Fine-Tuning ãã¢ãã«ããŒãžã«ããæ°ããªå£°è³ªçæãªã©ã«é©ããŠããŸãã
- äžè¬ã«ãNVIDIA GPU (CUDA / TensorRT ãªã©) ã§ã®é«éæšè«ã«ç¹åããŠããŸãã
- PyTorch ã«ã¯ .pth (pickle) 圢åŒããããŸãããPython ã³ãŒãããã®ãŸãŸã·ãªã¢ã©ã€ãºãã pickle ã®ç¹æ§äžãä»»æã³ãŒãã®å®è¡ãå¯èœãªè匱æ§ããããŸãããããã£ãŠãAIVM 仿§ã§ã¯å¯Ÿå¿äºå®ã¯ãããŸããã
- AIVMX (.aivmx): æ§ã
ãªç°å¢ã§é«éãªæšè«ãå¯èœãª ONNX 圢åŒãããŒã¹ãšãããã©ãŒãããã§ãã
- ç¹ã« CPU ã§ã®æšè«ãããšããžããã€ã¹ã§ã®å©çšã«é©ããŠããŸãããŸã Web ãã©ãŠã¶ã§ãæšè«å¯èœã§ãã
- 2024 幎æç¹ã§ã¯ãäžè¬ç㪠PC ãŠãŒã¶ãŒã®å€ã㯠NVIDIA GPU ã NPU ãæèŒããŠããªã PC ã䜿çšããŠããŸãã
- ONNX 圢åŒã¯ CPU ã§ã®æšè«æ§èœã«åªããŠãããããGPU ã NPU ããªããŠãå¿«é©ã«é³å£°åæãå®è¡ã§ããŸãã
- ããã« ONNX 圢åŒã¯ DirectML æšè«ããµããŒãããŠãããWindows ã§ã¯ AMD Radeon / Intel Arc GPU ã§ãé«éæšè«ãå¯èœã§ãã
- AIVM 仿§å¯Ÿå¿ãœãããŠã§ã¢ã®ãªãã¡ã¬ã³ã¹å®è£
ã§ããã AivisSpeech 㯠AIVMX ãã¡ã€ã«ã«ã®ã¿å¯Ÿå¿ããŠããŸãã
- PyTorch äŸåãæé€ããŠã€ã³ã¹ããŒã«ãµã€ãºãåæžããåæã« CPU æšè«é床ãåäžãããããã§ãã
Q. AIVM / AIVMX ãã¡ã€ã«ãæ¢åã®ããŒã«ã§èªã¿èŸŒãããšã¯ã§ããŸããïŒ
A. ã¯ããå¯èœã§ãã
AIVM 㯠Safetensors 圢åŒã®ãAIVMX 㯠ONNX 圢åŒã®æ¡åŒµä»æ§ãšããŠèšèšãããŠãããããããããéåžžã® Safetensors ãã¡ã€ã«ã»ONNX ãã¡ã€ã«ãšããŠèªã¿èŸŒãããšãã§ããŸãã
AIVM ã¡ã¿ããŒã¿ã¯æ¢åã®ã¢ãã«ãã©ãŒããã仿§ã§å®ããããã¡ã¿ããŒã¿é åã«æ ŒçŽãããŠãããããæ¢åã®ããŒã«ã®åäœã«åœ±é¿ãäžããããšã¯ãããŸããã
Q. æ¢åã® AI é³å£°åæã¢ãã«ã AIVM / AIVMX ã«å€æããã«ã¯ã©ãããã°ããã§ããïŒ
A. 以äžã®2ã€ã®æ¹æ³ããããŸãã
- AIVM Generator (æšå¥š): ãã©ãŠã¶äžã® GUI ã§ç°¡åã« AIVM / AIVMX ãã¡ã€ã«ãçæã»ç·šéã§ããŸãã
- aivmlib: ãã®ã©ã€ãã©ãªãæäŸãã CLI ããŒã«ã䜿çšããŠãã³ãã³ãã©ã€ã³ããæäœéã®ã¡ã¿ããŒã¿ãèšå®ããã AIVM / AIVMX ãã¡ã€ã«ãçæã§ããŸãã
- ãã€ããŒãã©ã¡ãŒã¿ãªã©ãã倿ããæäœéã®ã¡ã¿ããŒã¿ã®ã¿èšå®ãããŠãããããå®éã«é åžããéã¯å¥éã¡ã¿ããŒã¿ãç·šéããå¿ èŠããããŸãã
ãªãã倿å ã®ã¢ãã«ã¯åäžã® Safetensors ãŸã㯠ONNX 圢åŒã§ä¿åãããŠããå¿ èŠããããŸãã
Q. AIVM ãããã§ã¹ãã®ããŒãžã§ã³ç®¡çã¯ã©ã®ããã«è¡ãããŸããïŒ
A. AIVM ãããã§ã¹ãã®ããŒãžã§ã³ç®¡çã¯ä»¥äžã®æ¹éã§è¡ãããŸãã
- ãã€ããŒããŒãžã§ã³ã¢ãã (ex: 1.0 -> 1.1): æ°ãããã£ãŒã«ãã®è¿œå ãªã©ãåŸæ¹äºææ§ãä¿ããã倿Ž
- ã¡ãžã£ãŒããŒãžã§ã³ã¢ãã (ex: 1.1 -> 2.0): æ¢åãã£ãŒã«ãã®åé€ãæ§é 倿Žãªã©ãåŸæ¹äºææ§ã®ãªã倿Ž
çŸåšã¯ 1.0 ãææ°ã§ãã
Q. aivmlib ãš aivmlib-web ã®éãã¯ãªãã§ããïŒ
A. aivmlib ãš aivmlib-web ã¯ãåã AIVM 仿§ãç°ãªãèšèª/åäœç°å¢åãã«å®è£ ããã©ã€ãã©ãªã«ãªããŸãã
- aivmlib: Python å®è£
ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããµãŒããŒãµã€ãã§ã®å©çšãæ³å®ããŠããŸãã
- NVIDIA GPU æèŒã®é«ç«åãµãŒããŒã§éçšããã±ãŒã¹ã§ã¯ãã¢ãã«ã¢ãŒããã¯ãã£ãæšè«ç°å¢æ¬¡ç¬¬ã§ãããAIVMX (ONNX) 圢åŒããã AIVM (Safetensors) 圢åŒã®æ¹ãé«éãªå¯èœæ§ããããŸãã
- aivmlib 㯠aivmlib-web ã®ãªãã¡ã¬ã³ã¹å®è£ ã§ããããŸããæ°ãã仿§ãå®è£ ããéã¯ããŸã aivmlib ã«å®è£ ããŠãããaivmlib-web ã«ç§»æ€ãã圢ããšã£ãŠããŸãã
- aivmlib-web: TypeScript å®è£
ãWeb ãã©ãŠã¶äžã§ã®å©çšãæ³å®ããŠããŸãã
- AIVM Generator ã Web ãã©ãŠã¶äžã§é³å£°åæãè¡ããµãŒãã¹ã§äœ¿ãããšãåæã«èšèšã»éçºãããŠããŸãã
- AIVM ãš AIVMX äž¡æ¹ã®ãã¡ã€ã«ãæ±ããŸãïŒäž»ã« AIVM Generator åãïŒã
- Web ãã©ãŠã¶ã§æšè«å¯èœãªã¢ãã«ãã©ãŒãããã¯åºæ¬çã« ONNX 圢åŒã«éããããããå®éçšäžã¯ AIVMX ãã¡ã€ã«ã®ã¿æ±ãã±ãŒã¹ãã»ãšãã©ã®ã¯ãã§ãã
- Python ã®
BinaryIOã JavaScript Web API ã®File(Blob) ã«ãªããªã©ãWeb ãã©ãŠã¶ã®ç¹æ§ã«å¿ããå®è£ ã®éãã¯ãããŸãããåºæ¬ç㪠API èšèšã¯ aivmlib ãšåæ§ã§ãã- Node.js ã Deno ãªã©ã®ãµãŒããŒãµã€ã JavaScript ç°å¢ãžã®å¯Ÿå¿äºå®ã¯ãããŸããã
[!TIP]
çŸæç¹ã§ã¯ãaivmlib / aivmlib-web 以å€ã«ãå ¬åŒã«ã¡ã³ããã³ã¹ããã AIVM 仿§å¯Ÿå¿ã©ã€ãã©ãªã¯ãããŸããã
ä»åŸããµãŒãããŒãã£ãŒã®ä»èšèªåãã©ã€ãã©ãªãç»å Žããå¯èœæ§ã¯ãããŸãã
[!IMPORTANT]
æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã远å ããéã¯ãaivmlib ãš aivmlib-web ã®äž¡æ¹ã«å®è£ ã远å ããå¿ èŠããããŸãã
AIVM Generator 㯠aivmlib-web ã䜿çšããŠããããããšã³ããŠãŒã¶ãŒã«æ°æ©èœãæäŸããããã«ã¯äž¡æ¹ã®ã©ã€ãã©ãªãã¢ããããŒãããå¿ èŠããããŸãã
Q. æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã远å ããã«ã¯ã©ãããã°ããã§ããïŒ
A. AIVM 仿§ã¯ã¢ãã«ã¢ãŒããã¯ãã£ã®å®è£ 詳现ãèŠå®ããªããããæ¯èŒç容æã«æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã远å ã§ããŸãã
- AIVM ãããã§ã¹ãå
ã®ã¡ã¿ããŒã¿ã ãã§å¯Ÿå¿ã§ããå Žå:
ModelArchitectureã«æ°ããçš®é¡ïŒäŸ:GPT-SoVITS2ïŒã远å ãããã«ãªã¯ãšã¹ããéä¿¡ããã ãã§å¯Ÿå¿å¯èœã§ãã- ãã®éããªãã¹ãåæã«
generate_aivm_metadata()颿°ã«æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã®ãµããŒãã远å ããŠãã ããã
- ãã®éããªãã¹ãåæã«
- ã¢ãã«ã¢ãŒããã¯ãã£åºæã®ã¡ã¿ããŒã¿ã®è¿œå ãå¿
èŠãªå Žå:
aivm_style_vectorsãã£ãŒã«ãã®ããã«ãAIVM ãããã§ã¹ããšã¯å¥ã®ã¡ã¿ããŒã¿ããŒãæ°èšãã仿§ãçå®ããäžã§ããã«ãªã¯ãšã¹ããéä¿¡ããŠãã ããã- ãªãã¹ã aivmlib (Python) ãš aivmlib-web (TypeScript Web) ã®äž¡æ¹ã§ãµããŒãã§ãã仿§ãæãŸããã§ãã
- åœè©²ã¢ãã«ã¢ãŒããã¯ãã£ã Web ã§æšè«å¯èœãª ONNX 圢åŒã«å¯Ÿå¿ããŠããªãå Žåãæšè«æã®ã¿å¿ èŠãªã¡ã¿ããŒã¿ã«é¢ããŠã¯ãaivmlib-web ã§å¯Ÿå¿å¯èœãªä»æ§ã§ããå¿ èŠã¯ãããŸããã
- AIVM ãããã§ã¹ãã«è¿œå ããã¡ã¿ããŒã¿ã¯ãaivmlib-web ã§ããµããŒãã§ãããã®ã§ãªããã°ãªããŸããïŒåŸè¿°ïŒã
[!IMPORTANT] æåºããã AIVM ãããã§ã¹ã仿§ã¯ãæè¡çã« aivmlib (Python) ãš aivmlib-web (TypeScript Web) ã®äž¡æ¹ã§ãµããŒãã§ãããã®ã§ãªããã°ãªããŸããã
AIVM Generator ã®å éšã§ã¯ aivmlib-web ãå©çšãããŠããŸãã
aivmlib ã«ãµããŒãã远å ããããaivmlib-web ã«ãåæ§ã«ãµããŒãã远å ããŠãã ããã
[!NOTE]
AIVM ãããã§ã¹ãã¯ãã¢ãã«ã¢ãŒããã¯ãã£ã«äŸåããªãå ±éã®ã¡ã¿ããŒã¿ã®ã¿ãå®çŸ©ããèšèšãšããŠããŸãã
å®è£ åºæã®ãã€ããŒãã©ã¡ãŒã¿ã¯ãaivm_hyper_parametersãã£ãŒã«ãã«æ ŒçŽããŠãã ããã
ãã€ããŒãã©ã¡ãŒã¿ã® Pydantic ã¹ããŒãå®çŸ©ã®è¿œå ãåãä»ããŸããçŸåšã¯Style-Bert-VITS2ç³»ã¢ãŒããã¯ãã£ã®ãã€ããŒãã©ã¡ãŒã¿ã®ã¹ããŒãã®ã¿ãå®çŸ©ãããŠããŸãã
[!NOTE]
åœç¶ã§ãããAIVM / AIVMX ãžã®å€æå ã¢ãã«ã¯åäžã® Safetensors ãŸã㯠ONNX 圢åŒã§ä¿åãããŠããå¿ èŠããããŸãã
ãããã£ãŠãè€æ°ã®ã¢ãã«ãã¡ã€ã«ã«ãŸãããã¢ãã«ã¢ãŒããã¯ãã£ã¯ãµããŒããããŠããŸããã
ã¢ãã«ãã¡ã€ã«ãäžã€ã«çµåãããäžèŠãªã¢ãã«ãã¡ã€ã«ãåããªã©ã®å¯Ÿå¿ããæ€èšãã ããã
Q. ã©ã€ã»ã³ã¹æ å ±ã¯ã©ã®ããã«èšè¿°ãã¹ãã§ããïŒ
A. ã©ã€ã»ã³ã¹æ å ±ã¯ Markdown 圢åŒãŸãã¯ãã¬ãŒã³ããã¹ãã§ãã©ã€ã»ã³ã¹ã®å šæã®ã³ããŒã AIVM / AIVMX ãã¡ã€ã«ã«çŽæ¥åã蟌ã圢ã§èšå®ããŸãã
URL æå®ã§ã¯ãªãã©ã€ã»ã³ã¹å šæãåã蟌ãçç±ã¯ä»¥äžã®éãã§ãã
- URL ã®æ°žç¶æ§ãä¿èšŒã§ããªã
- URL ã ãã ãšã©ã€ã»ã³ã¹åãåãããªã
- ã«ã¹ã¿ã ã©ã€ã»ã³ã¹ã®èŠå®ãé£ãã
- AIVM 仿§å¯Ÿå¿ãœãããŠã§ã¢ã§ã©ã€ã»ã³ã¹æ å ±ãçŽæ¥è¡šç€ºã§ããå¿ èŠããã
Q. ç»åã»é³å£°ããŒã¿ã®ãµã€ãºå¶éã¯ãããŸããïŒ
A. å ·äœçãªãµã€ãºå¶éã¯èŠå®ããŠããŸããããäžè¬ã«ã¢ãã«ãã¡ã€ã«èªäœã®ãã¡ã€ã«ãµã€ãºã巚倧ãªãããã¡ã¿ããŒã¿ã«ãããããªããã¡ã€ã«ãµã€ãºå¢å ã¯æå°éã«æããã¹ãã§ãã
- ç»åãã¡ã€ã«: 512Ã512 ã® JPEG ãŸã㯠PNG (JPEG ãæšå¥š)
- é³å£°ãã¡ã€ã«: WAV (PCM 16bit) ãŸã㯠M4A (AAC-LC) (M4A ãæšå¥š)
[!TIP]
ãªãã¡ã¬ã³ã¹å®è£ ã§ãã AIVM Generator ã§ã¯ããããã®ã¬ã€ãã©ã€ã³ã«åŸã£ãŠé©åãªãµã€ãºæé©åãè¡ã£ãŠããŸãã
Q. ã¡ã¿ããŒã¿ã¯æåã§ç·šéã§ããŸããïŒ
A. ã¡ã¿ããŒã¿ã¯çŽæ¥ãã€ããªã«åã蟌ãŸãããããæåç·šéã¯æšå¥šãããŸããã
ãšã³ããŠãŒã¶ãŒã®æ¹ã¯ AIVM Generator ããå©çšãã ããã
[!TIP]
éçºè ã¯ãaivmlib / aivmlib-web ã䜿çšããŠç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
aivmlib CLI ã¯ãæäœéã®ã¡ã¿ããŒã¿ãæã€ AIVM / AIVMX ãã¡ã€ã«ã®çæãšãã¡ã¿ããŒã¿ã®ç¢ºèªæ©èœã®ã¿ãæäŸããŸãã
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aivmlib-1.0.1.tar.gz.
File metadata
- Download URL: aivmlib-1.0.1.tar.gz
- Upload date:
- Size: 33.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f94bb24a9dbc97eb241053ba980eea3e6bb12ba3c37d6be9ceb246edc08ab3da
|
|
| MD5 |
403e308d2e00124985991d75298b5c6f
|
|
| BLAKE2b-256 |
39fb9cf7cfe62b2f59f521ed427c81f03b59909c5fc6a98db9848f0c9ccd434a
|
File details
Details for the file aivmlib-1.0.1-py3-none-any.whl.
File metadata
- Download URL: aivmlib-1.0.1-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f7c00a6bd5374f2b4b0813e1a70853e282715b4c4b4e063c2b02aa0042eeb61
|
|
| MD5 |
d358ed3a5560298c3952cfa56bec36ed
|
|
| BLAKE2b-256 |
6d869f668c67c71b1eac60b2c91b9bfae6114725f875158eed6473698b5e4d5c
|