aivmlib
November 14, 2024 · View on GitHub
ð 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 ãã¡ã€ã«ã®çæãšãã¡ã¿ããŒã¿ã®ç¢ºèªæ©èœã®ã¿ãæäŸããŸãã