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-VITS2
Style-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
Release history Release notifications | RSS feed
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
File details
Details for the file aivmlib-1.0.0.tar.gz
.
File metadata
- Download URL: aivmlib-1.0.0.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 | 601d244fd00c73830fb74e0dde4df61091b04f5722426c8019e7e7f18d2d5b11 |
|
MD5 | 97912f7e0bc427673ef00f6bc741d204 |
|
BLAKE2b-256 | ed00d8e89d6a40d87c099e6b075c4201aee60502774eab77d6d2782bbc21013a |
File details
Details for the file aivmlib-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: aivmlib-1.0.0-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 | 0e797e52b24ea8ab830198ea7cb95d9f1ee8a07bd72693a813477ee7a471cca7 |
|
MD5 | 2cd7c2fc81fa744552241c0e83a6ca11 |
|
BLAKE2b-256 | 8353a6d4bd106315aa441324d420fe605256a17617d76ce493c01a9482dad950 |