? aivisspeech 엔진 : ai v oice i mitation s ystem- 텍스트 to Speech Engine
Aivisspeech 엔진은 VoiceVox 엔진을 기반으로 한 일본 음성 합성 엔진입니다.
그것은 일본의 음성 합성 소프트웨어 인 aivisspeech에 내장되어 있으며 감정적 목소리를 쉽게 생성 할 수 있습니다.
AudioQuery 유형 사양이 변경되었습니다Mora 유형 사양이 변경되었습니다Preset 유형의 사양이 변경되었습니다aivisspeech를 사용하려면 aivisspeech 공식 웹 사이트를 방문하십시오.
이 페이지에는 주로 개발자를위한 정보가 포함되어 있습니다.
아래는 사용자를위한 문서입니다.
Windows, MacOS 및 Linux와 PC와 호환됩니다.
aivisspeech 엔진을 시작하려면 PC가 3GB 이상의 무료 메모리 (RAM)가 필요합니다.
팁
데스크탑 앱인 aivisspeech는 Windows 및 MacOS에서만 지원됩니다.
한편, 스피치 합성 API 서버 인 aivisspeech 엔진은 우분투/데비안 리눅스에서도 사용할 수 있습니다.
메모
Intel CPU를 사용하여 Mac에서의 작업을 적극적으로 확인하지 않았습니다.
Intel CPU가있는 Mac은 이미 생산이 중단되었으며 검증 및 구축 환경을 준비하는 것이 점점 어려워지고 있습니다. Apple Silicon이있는 Mac 에서이 제품을 최대한 많이 사용하는 것이 좋습니다.
경고
Windows 10에서는 버전 22H2의 작동 만 확인합니다.
AivissPeech 엔진이 충돌하고 지원되지 않는 이전 버전의 Windows 10에서 시작되지 않는 경우에 대한보고가 있습니다.
보안 관점에서 서비스를 사용하기 전에 Windows 10 환경을 최소 버전 22H2로 만 업데이트하는 것이 좋습니다.
AivissPeech 엔진은 AIVMX ( ai vis v oice m odel for onn x ) ( .aivmx ) 형식의 음성 합성 모델 파일을 지원합니다.
AIVM ( ai vis v oice m odel) / aivmx ( ai vis v oice m odel for onn x )는 미리 훈련 된 모델, 초 파라미터, 스타일 벡터, 스피커 메타 데이터 (이름, 오버 뷰, 라이센스, 아이콘, 음성 샘플 등)를 하나의 파일로 결합한 AI 음성 합성 모델에 대한 열린 파일 형식입니다 .
AIVM 사양 및 AIVM/AIVMX 파일에 대한 자세한 내용은 AIVIS 프로젝트에서 개발 된 AIVM 사양을 참조하십시오.
메모
"AIVM"은 AIVM/AIVMX 형식 사양과 메타 데이터 사양 모두에 대한 일반적인 용어입니다.
특히 AIVM 파일은 "AIVM 메타 데이터가 추가 된 SAFETENSORS 형식"의 모델 파일이며 AIVMX 파일은 "AIVM 메타 데이터가 추가 된 Onnx 형식"의 모델 파일입니다.
"AIVM 메타 데이터"는 AIVM 사양에 정의 된 훈련 된 모델에 연결된 다양한 메타 데이터를 나타냅니다.
중요한
AivissPeech 엔진은 AIVM 사양의 참조 구현이지만 AIVMX 파일 만 지원하도록 의도적으로 설계되었습니다.
이는 Pytorch에 대한 의존성을 제거하고 설치 크기를 줄이며 ONNX 런타임에 대한 빠른 CPU 추론을 제공합니다.
팁
AIVM Generator는 기존 음성 합성 모델에서 AIVM/AIVMX 파일을 생성하고 기존 AIVM/AIVMX 파일의 메타 데이터를 편집 할 수 있습니다!
다음 모델 아키텍처의 AIVMX 파일을 사용할 수 있습니다.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) 메모
AIVM 메타 데이터 사양을 사용하면 다국어 스피커를 정의 할 수 있지만 Voicevox 엔진과 같은 Aivisspeech 엔진은 일본어 음성 합성 만 지원합니다.
따라서 영어 또는 중국어를 지원하는 음성 합성 모델을 사용하더라도 일본어 이외의 언어 합성은 수행 할 수 없습니다.
AIVMX 파일을 각 OS의 다음 폴더에 배치하십시오.
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models 실제 폴더 경로는 Models directory:
팁
aivisspeech를 사용할 때는 aivisspeech UI 화면에서 음성 합성 모델을 쉽게 추가 할 수 있습니다!
최종 사용자의 경우이 방법을 사용하여 음성 합성 모델을 추가하는 것이 좋습니다.
중요한
개발 버전의 배포 폴더 (PyinStaller로 구축되지 않고 실행중인 경우)는 AivisSpeech-Engine 아니거나 AivisSpeech-Engine-Dev 이하입니다.
AivissPeech 엔진은 다음과 같은 유용한 명령 줄 옵션을 제공합니다.
--host 0.0.0.0 사용하면 동일한 네트워크의 다른 장치에서 AivissPeech 엔진에 액세스 할 수 있습니다.--cors_policy_mode all 지정하십시오.--load_all_models 지정하십시오.--help 지정하십시오. 사용 가능한 다른 많은 옵션이 있습니다. 자세한 내용은 --help 옵션을 참조하십시오.
팁
--use_gpu 옵션으로 실행되면 Windows에서 DirectMl을 사용하고 고속 음성 합성을 위해 Linux에서 NVIDIA GPU (CUDA)를 사용할 수 있습니다.
또한 Windows 환경에서는 CPU가 내장 된 GPU (IGPU) 만있는 PC에서 DirectML 추론을 수행 할 수 있지만 대부분의 경우 CPU 추론보다 훨씬 느리기 때문에 권장되지 않습니다.
자세한 내용은 자주 묻는 질문을 참조하십시오.
메모
AivissPeech 엔진은 기본적으로 포트 번호 10101 과 함께 작동합니다.
다른 응용 프로그램과 충돌하는 경우 --port 옵션을 사용하여 모든 포트 번호로 변경할 수 있습니다.
경고
VoiceVox 엔진과 달리 일부 옵션은 AivissPeech 엔진에서 구현되지 않습니다.
Windows/MacOS에서는 AivissPeech 엔진을 자체적으로 설치할 수 있지만 AivissPeech 콘솔과 함께 제공되는 AivissPeech 엔진을 자체적으로 시작하는 것이 더 쉽습니다.
aivisspeech와 함께 배송되는 aivisspeech 엔진 실행 파일 ( run.exe / run )의 경로는 다음과 같습니다.
C:Program FilesAivisSpeechAivisSpeech-Enginerun.exeC:Users(ユーザー名)AppDataLocalProgramsAivisSpeechAivisSpeech-Enginerun.exe 됩니다./Applications/AivisSpeech.app/Contents/Resources/AivisSpeech-Engine/run~/Applications/AivisSpeech.app/Contents/Resources/AivisSpeech-Engine/run 입니다. 메모
기본 모델 (약 250MB)과 추론에 필요한 기본 모델 (약 250MB)과 BERT 모델 (약 1.3GB)은 첫 번째 시작시 자동 다운로드되므로 시작이 완료되는 데 최대 몇 분이 소요됩니다.
시작이 완료 될 때까지 잠시 기다려주세요.
AivissPeech 엔진에 음성 합성 모델을 추가하려면 모델 파일을 어디에 배치 할 위치를 참조하십시오.
AivissPeech에서 "설정"> "음성 합성 모델 관리"를 클릭하여 추가 할 수도 있습니다.
Linux + NVIDIA GPU 환경에서 실행할 때 Onnx 런타임이 지원하는 CUDA/CUDNN 버전은 CUDA/CUDNN 버전의 호스트 환경과 일치해야하며 작동 조건이 엄격합니다.
구체적으로, AivissPeech 엔진에서 사용하는 ONNX 런타임에는 CUDA 12.X / CUDNN 9.X 이상이 필요합니다.
Docker는 호스트 OS 환경에 관계없이 작동하므로 Docker와 함께 설치하는 것이 좋습니다.
Docker 컨테이너를 실행할 때는 항상 ~/.local/share/AivisSpeech-Engine 컨테이너에 /home/user/.local/share/AivisSpeech-Engine-Dev 에 마운트하십시오.
이런 식으로 컨테이너를 멈추거나 다시 시작한 후에도 설치된 음성 합성 모델과 Bert 모델 캐시 (약 1.3GB)를 유지할 수 있습니다.
Docker 환경에서 AivissPeech 엔진에 음성 합성 모델을 추가하려면 호스트 환경에 ~/.local/share/AivisSpeech-Engine/Models 아래에 모델 파일 (.aivmx)을 배치하십시오.
중요한
/home/user/.local/share/AivisSpeech-Engine-Dev 에 대비하십시오.
Docker 이미지의 aivisspeech 엔진은 Pyinstaller와 함께 구축되지 않기 때문에 데이터 폴더 이름에는 -Dev 및 AivisSpeech-Engine-Dev 의 접미사가 제공됩니다.
docker pull ghcr.io/aivis-project/aivisspeech-engine:cpu-latest
docker run --rm -p ' 10101:10101 '
-v ~ /.local/share/AivisSpeech-Engine:/home/user/.local/share/AivisSpeech-Engine-Dev
ghcr.io/aivis-project/aivisspeech-engine:cpu-latestdocker pull ghcr.io/aivis-project/aivisspeech-engine:nvidia-latest
docker run --rm --gpus all -p ' 10101:10101 '
-v ~ /.local/share/AivisSpeech-Engine:/home/user/.local/share/AivisSpeech-Engine-Dev
ghcr.io/aivis-project/aivisspeech-engine:nvidia-latest Bash에서 다음 1 라이너를 실행하면 음성 합성 WAV 파일이 audio.wav 에 출력됩니다.
중요한
AivissPeech 엔진은 사전에 시작되었으며 Models directory: 다음 디렉토리에는 스타일 ID에 해당하는 음성 합성 모델 (.aivmx)이 포함되어 있다고 가정합니다.
# STYLE_ID は音声合成対象のスタイル ID 、別途 /speakers API から取得が必要
STYLE_ID=888753760 &&
echo -n "こんにちは、音声合成の世界へようこそ! " > text.txt &&
curl -s -X POST " 127.0.0.1:10101/audio_query?speaker= $STYLE_ID " --get --data-urlencode [email protected] > query.json &&
curl -s -H " Content-Type: application/json " -X POST -d @query.json " 127.0.0.1:10101/synthesis?speaker= $STYLE_ID " > audio.wav &&
rm text.txt query.json팁
자세한 API 요청 및 응답 사양은 API 문서 및 VoiceVox API와의 호환성을 참조하십시오. API 문서는 항상 최신 개발 버전의 변경 사항을 반영합니다.
AivissPeech 엔진 또는 AivissPeech 편집기를 사용하여 http://127.0.1:10101/docs에 액세스하여 실행중인 Aivisspeech 엔진의 API 문서 (Swagger UI)를 볼 수 있습니다.
AivissPeech 엔진은 일반적으로 VoiceVox 엔진의 HTTP API와 호환됩니다.
VoiceVox Engine의 HTTP API를 지원하는 소프트웨어가있는 경우 API URL을 http://127.0.0.1:10101 10101로 교체하여 AivissPeech 엔진을 지원할 수 있어야합니다.
중요한
그러나 API 클라이언트의 /audio_query API에서 얻은 AudioQuery 컨텐츠를 편집 한 다음 /synthesis API로 전달하면 사양의 차이로 인해 음성을 올바르게 합성 할 수 없을 수 있습니다 (아래 참조).
이로 인해 AivissPeech 편집기는 AivissPeech 엔진과 VoiceVox 엔진 (다중 엔진 기능을 사용할 때)을 모두 사용할 수 있지만 VoiceVox 편집기에서 AivissPeech 엔진을 사용할 수는 없습니다.
VoiceVox 편집기에서 aivisspeech 엔진을 사용하면 편집기 구현의 한계로 인해 음성 합성 품질이 크게 줄어 듭니다. aivisspeech 엔진의 고유 한 매개 변수를 활용할 수없는 것 외에도 비 호환 함수를 호출 할 때 오류가 발생할 수 있습니다.
더 나은 음성 합성 결과를 얻기 위해 AivissPeech 편집기와 함께 사용하는 것이 좋습니다.
메모
일반적으로 일반적인 API 사용 사례에서 호환되어야하지만, 기본적으로 다른 모델 아키텍처를 갖는 음성 합성 시스템이 동일한 API 사양에 강제로 포함되기 때문에 다음과 비교할 수없는 API가있을 수 있습니다.
문제를 통해보고하면 호환성 개선을 수정합니다.
다음은 VoiceVox 엔진의 API 사양에 대한 변경 사항입니다.
AIVMX 파일에 포함 된 AIVM Manifest의 스피커 스타일 로컬 ID는 각 스피커에 대해 0에서 시작하는 일련 번호로 관리됩니다.
Style-Bert-Vits2 아키텍처의 음성 합성 모델 에서이 값은 모델의 하이퍼 파라미터 data.style2id 의 값과 일치합니다.
반면에 VoiceVox Engine의 API는 스피커 UUID ( speaker_uuid )를 지정하지 않으며 스타일 ID ( style_id )만이 역사적 이유로 인해 음성 합성 API로 전달됩니다.
VoiceVox 엔진에는 고정 스피커와 스타일이있어 개발 팀은 "스타일 ID"를 고유하게 관리 할 수있었습니다.
한편 AivissPeech 엔진을 사용하면 사용자가 음성 합성 모델을 자유롭게 추가 할 수 있습니다.
따라서 음성 합성 모델이 추가 되더라도 VoiceVox API 호환 "스타일 ID"는 고유해야합니다.
값이 고유하지 않으면 새로운 음성 합성 모델이 추가 될 때 기존 모델에 포함 된 스피커 스타일과 스타일 ID가 겹칠 수 있기 때문입니다.
따라서 AivissPeech 엔진은 AIVM 매니페스트의 스피커 UUID 및 스타일 ID를 결합하여 VoiceVox API와 호환되는 전 세계적으로 고유 한 "스타일 ID"를 생성합니다.
특정 생성 방법은 다음과 같습니다.
경고
이로 인해 32 비트 서명 정수가 "스타일 ID"에 포함되어 있다고 가정하지 않는 VoiceVox API 지원 소프트웨어에서는 예기치 않은 문제가 발생할 수 있습니다.
경고
다른 스피커 스타일 ID가 32 비트 서명 된 정수 범위 내에 맞게 스피커 UUIDS의 글로벌 고유성을 희생하기 때문에 겹칠 수있는 확률은 매우 낮습니다.
이 시점에서 중복 스타일 ID에 대한 해결 방법은 없지만 실제로는 대부분의 경우 문제가되지 않습니다.
팁
AivissPeech 엔진에 의해 자동으로 생성 된 VoiceVox API 호환 "스타일 ID"는 /speakers API에서 얻을 수 있습니다.
이 API는 aivisspeech 엔진에 설치된 스피커 정보 목록을 반환합니다.
AudioQuery 유형 사양이 변경되었습니다 AudioQuery 유형은 텍스트 또는 음소 시퀀스를 지정하여 음성 합성을 수행하기위한 쿼리입니다.
VoiceVox 엔진의 AudioQuery 유형의 주요 변경 사항은 다음과 같습니다.
intonationScale 필드의 의미는 다릅니다.intonationScale 으로 변환 될 때 다음과 같이 변환됩니다.intonationScale 0.0 ~ 1.0 인 경우 Style-Bert-Vits2는 0.0 ~ 1.0의 범위에 해당합니다.intonationScale 1.0 ~ 2.0 인 경우 Style-Bert-Vits2는 1.0 ~ 10.0 범위에 해당합니다.tempoDynamicsScale 필드 자체를 추가했습니다.tempoDynamicsScale 으로 변환 될 때 다음과 같이 변환됩니다.tempoDynamicsScale 이 0.0 ~ 1.0 인 경우 Style-Bert-Vits2는 0.0 ~ 0.2의 범위에 해당합니다.tempoDynamicsScale 이 1.0 ~ 2.0 인 경우 Style-Bert-Vits2는 0.2 ~ 1.0의 범위에 해당합니다.pitchScale 필드의 사양은 다릅니다.pauseLength 및 pauseLengthScale 필드는 지원되지 않습니다.kana 필드의 사양은 다릅니다.변경 사항에 대한 자세한 내용은 Model.py를 참조하십시오.
Mora 유형 사양이 변경되었습니다 Mora 유형은 음성 텍스트의 Maura를 나타내는 데이터 구조입니다.
팁
Mora는 실제로 발음 될 때 가장 작은 사운드 그룹화 (예 : "a", "ka"또는 "o")입니다.
Mora 유형은 API 요청 응답에 혼자 사용되지 않으며 AudioQuery.accent_phrases[n].moras 또는 AudioQuery.accent_phrases[n].pause_mora 통해 항상 간접적으로 사용됩니다.
VoiceVox 엔진의 Mora 유형의 주요 변경 사항은 다음과 같습니다.
pause_mora 로 취급되었지만 Aivisspeech 엔진에서는 정상적인 moras로 취급됩니다.text 동일한 기호이며 vowel "pau"로 설정됩니다.consonant / vowel 필드는 읽기 전용입니다.text 필드의 값은 항상 음성 합성 중 텍스트를 읽는 데 사용됩니다.consonant_length / vowel_length / pitch 필드는 지원되지 않습니다.변경 사항에 대한 자세한 내용은 tts_pipeline/model.py를 참조하십시오.
Preset 유형의 사양이 변경되었습니다 Preset 유형은 편집기에서 음성 합성 쿼리의 초기 값을 결정하기위한 사전 설정 정보입니다.
변경 사항은 일반적으로 AudioQuery 유형에 설명 된 intonationScale / tempoDynamicsScale Scale / pitchScale / pauseLength / pauseLengthScale 에 대한 필드 사양의 변경에 해당합니다.
변경 사항에 대한 자세한 내용은 Preset/Model.py를 참조하십시오.
경고
노래 및 취소 가능한 음성 합성 API는 지원되지 않습니다.
호환성 목적의 엔드 포인트로 존재하지만 항상 501 Not Implemented 반환합니다.
자세한 내용은 app/routers/character.py/app/routers/tts_pipeline.py를 확인하십시오.
/singers 얻습니다/singer_info/cancellable_synthesis/sing_frame_audio_query/sing_frame_volume/frame_synthesis 경고
모핑 기능을 제공하는 /synthesis_morphing API는 지원되지 않습니다.
음성 타이밍이 각 스피커마다 다르기 때문에 구현할 수 없지만 작동하지만들을 수는 없으므로 400 Bad Request 항상 반환됩니다.
각 스피커 /morphable_targets 에 대해 모핑을 사용할 수 있는지 여부를 반환합니다.
자세한 내용은 App/Routers/Morphing.py를 확인하십시오.
/synthesis_morphing/morphable_targets경고
호환성 목적의 매개 변수로 존재하지만 항상 무시됩니다.
자세한 내용은 app/routers/character.py/app/routers/tts_pipeline.py를 확인하십시오.
core_version 매개 변수enable_interrogative_upspeak 매개 변수입니다どうですか…? 단순히 "?"를 추가하십시오. 텍스트가 끝날 무렵, 이와 같이 큰 소리로 읽을 수 있으며 의심스러운 억양으로 읽을 수 있습니다. 팁
AivissPeech 편집기의 FAQ/Q & A를 살펴보십시오.
intonationScale ) 증가하면 말이 끊어집니다. 이것은 AivissPeech 엔진에서 지원하는 Style-Bert-Vits2 모델 아키텍처의 현재 사양입니다.
스피커와 스타일에 따라 intonationScale 너무 많이 올리면 목소리가 이상해 지거나 부자연스러운 목소리를 읽게 될 수 있습니다.
제대로 말할 수있는 intonationScale 값의 상한은 스피커와 스타일에 따라 다릅니다. 값을 적절하게 조정하십시오.
AivissPeech 엔진에서는 올바른 판독 및 악센트가 한 번에 올바른지 확인하려고 노력하지만 불가피한 경우가 잘못되었을 때가 있습니다.
적절한 명사 및 사람의 이름 (특히 반짝이는 이름)과 같이 내장 사전에 등록되지 않은 단어는 종종 올바르게 읽지 않습니다.
사전을 등록 하여이 단어를 읽는 방식을 변경할 수 있습니다. aivisspeech 편집기 또는 API에서 단어를 등록 해보십시오.
또한 복합 단어와 영어 단어의 경우 사전에 등록 된 내용은 단어의 우선 순위에 관계없이 반영되지 않을 수 있습니다. 이것은 현재 사양입니다.
Aivisspeech 엔진은 문장이나 의미의 그룹과 같은 비교적 짧은 문장으로 음성을 합성하도록 설계되었습니다.
따라서 /synthesis API에 한 번에 1000자를 초과하는 긴 문장을 보내면 다음과 같은 문제가 발생할 수 있습니다.
긴 문장을 종합 할 때는 다음 위치에서 문장을 분리하여 음성 합성 API로 보내는 것이 좋습니다.
단단한 한계는 없지만 음성 합성 당 최대 500 자까지 가기가 바람직합니다.
팁
의미 론적 휴식으로 문장을 나누는 것은 더 자연스러운 억양 사운드를 생성하는 경향이 있습니다.
텍스트 내용에 해당하는 감정적 표현과 억양이 한 번에 음성 합성 API에 전송 된 전체 문장에 적용되기 때문입니다.
문장을 올바르게 나누면 각 문장의 감정적 표현과 억양을 재설정하여 더 자연스럽게 읽을 수 있습니다.
모델 데이터가 다운로드되었으므로 AivissPeech를 처음 시작할 때만 인터넷 액세스가 필요합니다.
두 번째 또는 이후 부팅에서 PC 오프라인을 사용할 수 있습니다.
이것은 현재 실행중인 AivissPeech 엔진 구성 화면에서 수행 할 수 있습니다.
http://127.0.0.1:[AivisSpeech Engine のポート番号]/setting 브라우저에서 설정 AIVISSPEECH 엔진 구성 화면이 열립니다.
AivissPeech 엔진의 기본 포트 번호는 10101 입니다.
--use_gpu )로 전환했으며 여전히 CPU 모드보다 음성이 느리게 생성됩니다.GPU 모드는 CPU (IGP)가 내장 된 PC에서만 사용할 수 있지만 대부분의 경우 CPU 모드보다 훨씬 느리기 때문에 권장되지 않습니다.
CPU가 내장 된 GPU는 독립 GPU (DGPU)보다 성능이 낮고 AI 음성 합성과 같은 무거운 처리에 적합하지 않기 때문입니다.
반면에 CPU의 성능은 크게 개선되었으며 CPU만으로는 오디오를 빠른 속도로 생성 할 수 있습니다.
따라서 DGPU가없는 PC에서 CPU 모드를 사용하는 것이 좋습니다.
Intel의 12 세대 이후 CPU (P-Core/E-Core 하이브리드 구성)가있는 PC를 사용하는 경우 Windows의 전원 설정에 따라 오디오 생성의 성능이 크게 변경 될 수 있습니다.
기본 "밸런스"모드로 인해 음성 생성 작업을 전원 절약 전자 코어에 쉽게 할당 할 수 있기 때문입니다.
아래 단계를 사용하여 설정을 변경하여 P 및 E 코어를 최대한 활용하고 음성을 더 빨리 생성하십시오.
*제어판의 "전력 계획"에는 "고성능"설정이 있지만 설정은 다릅니다.
인텔 12 세대 이상 CPU의 경우 Windows 11 설정 화면에서 "전원 모드"를 변경하는 것이 좋습니다.
Aivisspeech는 사용에 의해 구속되지 않은 무료 AI Spection Synthesis 소프트웨어가되는 것을 목표로합니다.
(전달 가능에 사용 된 음성 합성 모델의 라이센스에 따라 다릅니다.) 최소한 소프트웨어 자체는 신용이 필요하지 않으며 개인, 기업, 상업적 또는 비상업적 목적에 관계없이 자유롭게 사용할 수 있습니다.
그러나 나는 또한 더 많은 사람들이 aivisspeech에 대해 알고 싶어합니다.
당신이 원한다면, 당신이 배달 가능한 어딘가에 aivisspeech를 인정할 수 있다면 나는 행복 할 것입니다. (신용 형식은 당신에게 맡겨집니다.)
다음 폴더에 저장됩니다.
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineLogs~/Library/Application Support/AivisSpeech-Engine/Logs~/.local/share/AivisSpeech-Engine/Logs문제가있는 경우 다음 방법 중 하나를 사용하여보고하십시오.
Github 문제 (권장)
GitHub 계정이있는 경우 GitHub 문제를 통해보고 해 주시면 조기에 응답 할 수 있습니다.
트위터 (X)
공식 AIVIS 프로젝트 계정, DM 또는 해시 태그 #AIVISSPEECH로 트윗에 응답 할 수 있습니다.
연락 양식
AIVIS 프로젝트 연락처 양식을 통해보고 할 수도 있습니다.
다음 정보를 가능한 한 많이보고하면 더 빨리 응답 할 수 있습니다.
VoiceVox는 오늘날에도 여전히 활발하게 개발 된 거대한 소프트웨어입니다.
따라서 AivissPeech 엔진은 다음 정책에 따라 최신 버전의 VoiceVox 엔진을 개발하고 있습니다.
voicevox_engine 디렉토리의 이름을 바꾸면 가져 오기 명령문 변경의 차이가 크므로 브랜드 변경이 수행되지 않습니다. 절차는 원래 VoiceVox 엔진과 크게 다릅니다.
Python 3.11이 미리 설치되어 있어야합니다.
# Poetry と pre-commit をインストール
pip install poetry poetry-plugin-export pre-commit
# pre-commit を有効化
pre-commit install
# 依存関係をすべてインストール
poetry install절차는 원래 VoiceVox 엔진과 크게 다릅니다.
# 開発環境で AivisSpeech Engine を起動
poetry run task serve
# AivisSpeech Engine のヘルプを表示
poetry run task serve --help
# コードフォーマットを自動修正
poetry run task format
# コードフォーマットをチェック
poetry run task lint
# typos によるタイポチェック
poetry run task typos
# テストを実行
poetry run task test
# テストのスナップショットを更新
poetry run task update-snapshots
# ライセンス情報を更新
poetry run task update-licenses
# AivisSpeech Engine をビルド
poetry run task build기본 VoiceVox 엔진 듀얼 라이센스 중에서 LGPL-3.0 만 독립적으로 상속됩니다.
아래 및 문서/ 다음 문서는 수정없이 원래 VoiceVox 엔진 문서에서 이월됩니다. 이 문서의 내용이 aivisspeech 엔진과도 작동한다는 것은 보장되지 않습니다.
이것은 VoiceVox의 엔진입니다.
실제로 HTTP 서버이므로 요청을 보내서 텍스트와 음성을 종합 할 수 있습니다.
(편집기는 VoiceVox이고, 핵심은 VoiceVox 코어이며, 전체 구조는 여기에서 찾을 수 있습니다.)
다음은 귀하의 요구에 맞는 가이드입니다.
여기에서 해당 엔진을 다운로드하십시오.
API 문서를 참조하십시오.
VoiceVox 엔진 또는 편집기가 실행되면 시작중인 엔진에 대한 설명서를 볼 수도 있습니다.
향후 계획의 경우 VoiceVox Voice Synthesis Engine과의 협력도 유용 할 수 있습니다.
docker pull voicevox/voicevox_engine:cpu-latest
docker run --rm -p ' 127.0.0.1:50021:50021 ' voicevox/voicevox_engine:cpu-latestdocker pull voicevox/voicevox_engine:nvidia-latest
docker run --rm --gpus all -p ' 127.0.0.1:50021:50021 ' voicevox/voicevox_engine:nvidia-latest GPU 버전을 사용하는 경우 환경에 따라 오류가 발생할 수 있습니다. 이 경우 docker run 에 --runtime=nvidia 추가하여 문제를 해결할 수 있습니다.
echo -n "こんにちは、音声合成の世界へようこそ" > text.txt
curl -s
-X POST
" 127.0.0.1:50021/audio_query?speaker=1 "
--get --data-urlencode [email protected]
> query.json
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis?speaker=1 "
> audio.wav생성 된 오디오의 약간의 특수 샘플링 속도는 24,000Hz이므로 일부 오디오 플레이어는 재생하지 못할 수 있습니다.
speaker 에 지정된 값은 /speakers 엔드 포인트에서 얻은 style_id 입니다. 호환성을위한 speaker 로 선정되었습니다.
/audio_query 로 얻은 음성 합성 쿼리의 매개 변수를 편집하여 오디오를 조정할 수 있습니다.
예를 들어, 1.5 배 더 빠른 속도로 말하십시오.
echo -n "こんにちは、音声合成の世界へようこそ" > text.txt
curl -s
-X POST
" 127.0.0.1:50021/audio_query?speaker=1 "
--get --data-urlencode [email protected]
> query.json
# sed を使用して speedScale の値を 1.5 に変更
sed -i -r ' s/"speedScale":[0-9.]+/"speedScale":1.5/ ' query.json
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis?speaker=1 "
> audio_fast.wav " Aquestalk Wind Exation "은 Katakana와 기호 만 사용하여 읽는 방법을 지정하는 표기법입니다. Aquestalk 이것은 부분적으로 원래 표기법과 다릅니다.
Aquestalk Styles 다음 규칙을 따릅니다.
/ 、 에 의해 분리됩니다. 침묵 간격은 분리 된 、 에만 삽입됩니다._ 넣으면 그 카나가 침묵 할 것입니다.' 로 지정하십시오. 모든 악센트 문구에는 하나의 악센트 위치가 지정되어야합니다.? 추가 (전체 범위)를 추가하여 질문을 발음 할 수 있습니다. /audio_query 에 대한 응답은 엔진이 판단하는 독서를 설명합니다.
이를 수정하면 사운드 판독 및 악센트를 제어 할 수 있습니다.
# 読ませたい文章をutf-8でtext.txtに書き出す
echo -n "ディープラーニングは万能薬ではありません" > text.txt
curl -s
-X POST
" 127.0.0.1:50021/audio_query?speaker=1 "
--get --data-urlencode [email protected]
> query.json
cat query.json | grep -o -E " " kana " : " .* " "
# 結果... "kana":"ディ'イプ/ラ'アニングワ/バンノオヤクデワアリマセ'ン"
# "ディイプラ'アニングワ/バンノ'オヤクデワ/アリマセ'ン"と読ませたいので、
# is_kana=trueをつけてイントネーションを取得しnewphrases.jsonに保存
echo -n "ディイプラ'アニングワ/バンノ'オヤクデワ/アリマセ'ン" > kana.txt
curl -s
-X POST
" 127.0.0.1:50021/accent_phrases?speaker=1&is_kana=true "
--get --data-urlencode [email protected]
> newphrases.json
# query.jsonの"accent_phrases"の内容をnewphrases.jsonの内容に置き換える
cat query.json | sed -e " s/[{.*}]/ $( cat newphrases.json ) /g " > newquery.json
curl -s
-H " Content-Type: application/json "
-X POST
-d @newquery.json
" 127.0.0.1:50021/synthesis?speaker=1 "
> audio.wav사용자 사전을 탐색하고 API에서 단어를 추가, 편집 및 삭제할 수 있습니다.
/user_dict 에 GET 요청을 제출하여 사용자 사전 목록을 검색 할 수 있습니다.
curl -s -X GET " 127.0.0.1:50021/user_dict " /user_dict_word 에 게시물 요청을 제출하여 사용자 사전에 단어를 추가 할 수 있습니다.
다음 URL 매개 변수가 필요합니다.
이 기사는 Accent Core의 위치에 유용합니다.
the 유형의 숫자 부분은 악센트 코어 위치가됩니다.
https://tdmelodic.readthedocs.io/ja/latest/pages/introduction.html
성공의 반환 값은 단어에 할당 된 UUID 문자열입니다.
surface= " test "
pronunciation= "テスト"
accent_type= " 1 "
curl -s -X POST " 127.0.0.1:50021/user_dict_word "
--get
--data-urlencode " surface= $surface "
--data-urlencode " pronunciation= $pronunciation "
--data-urlencode " accent_type= $accent_type " /user_dict_word/{word_uuid} 에 풋 요청을 제출하여 사용자 사전에서 단어를 수정할 수 있습니다.
다음 URL 매개 변수가 필요합니다.
Word_uuid는 단어를 추가 할 때 확인할 수 있으며 사용자 사전을 참조하여 확인할 수도 있습니다.
성공하면 반환 값은 204 No Content .
surface= " test2 "
pronunciation= "テストツー"
accent_type= " 2 "
# 環境によってword_uuidは適宜書き換えてください
word_uuid= " cce59b5f-86ab-42b9-bb75-9fd3407f1e2d "
curl -s -X PUT " 127.0.0.1:50021/user_dict_word/ $word_uuid "
--get
--data-urlencode " surface= $surface "
--data-urlencode " pronunciation= $pronunciation "
--data-urlencode " accent_type= $accent_type " /user_dict_word/{word_uuid} 에 삭제 요청을 제출하여 사용자 사전에서 단어를 삭제할 수 있습니다.
Word_uuid는 단어를 추가 할 때 확인할 수 있으며 사용자 사전을 참조하여 확인할 수도 있습니다.
성공하면 반환 값은 204 No Content .
# 環境によってword_uuidは適宜書き換えてください
word_uuid= " cce59b5f-86ab-42b9-bb75-9fd3407f1e2d "
curl -s -X DELETE " 127.0.0.1:50021/user_dict_word/ $word_uuid " 엔진 설정 페이지의 "Export & Import User Dictionary"섹션에서 사용자 사전을 가져오고 내보낼 수 있습니다.
API를 사용하여 사용자 사전을 가져오고 내보낼 수도 있습니다.
インポートにはPOST /import_user_dict 、エクスポートにはGET /user_dictを利用します。
引数等の詳細は API ドキュメントをご覧ください。
ユーザーディレクトリにあるpresets.yamlを編集することでキャラクターや話速などのプリセットを使うことができます。
echo -n "プリセットをうまく活用すれば、サードパーティ間で同じ設定を使うことができます" > text.txt
# プリセット情報を取得
curl -s -X GET " 127.0.0.1:50021/presets " > presets.json
preset_id= $( cat presets.json | sed -r ' s/^.+"id":s?([0-9]+?).+$/1/g ' )
style_id= $( cat presets.json | sed -r ' s/^.+"style_id":s?([0-9]+?).+$/1/g ' )
# 音声合成用のクエリを取得
curl -s
-X POST
" 127.0.0.1:50021/audio_query_from_preset?preset_id= $preset_id "
--get --data-urlencode [email protected]
> query.json
# 音声合成
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis?speaker= $style_id "
> audio.wavspeaker_uuidは、 /speakersで確認できますidは重複してはいけません/synthesis_morphingでは、2 種類のスタイルでそれぞれ合成された音声を元に、モーフィングした音声を生成します。
echo -n "モーフィングを利用することで、2種類の声を混ぜることができます。 " > text.txt
curl -s
-X POST
" 127.0.0.1:50021/audio_query?speaker=8 "
--get --data-urlencode [email protected]
> query.json
# 元のスタイルでの合成結果
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis?speaker=8 "
> audio.wav
export MORPH_RATE=0.5
# スタイル2種類分の音声合成+WORLDによる音声分析が入るため時間が掛かるので注意
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis_morphing?base_speaker=8&target_speaker=10&morph_rate= $MORPH_RATE "
> audio.wav
export MORPH_RATE=0.9
# query、base_speaker、target_speakerが同じ場合はキャッシュが使用されるため比較的高速に生成される
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/synthesis_morphing?base_speaker=8&target_speaker=10&morph_rate= $MORPH_RATE "
> audio.wav追加情報の中の portrait.png を取得するコードです。
(jqを使用して json をパースしています。)
curl -s -X GET " 127.0.0.1:50021/speaker_info?speaker_uuid=7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff "
| jq -r " .portrait "
| base64 -d
> portrait.png/cancellable_synthesisでは通信を切断した場合に即座に計算リソースが開放されます。
( /synthesisでは通信を切断しても最後まで音声合成の計算が行われます)
この API は実験的機能であり、エンジン起動時に引数で--enable_cancellable_synthesisを指定しないと有効化されません。
音声合成に必要なパラメータは/synthesisと同様です。
echo -n ' {
"notes": [
{ "key": null, "frame_length": 15, "lyric": "" },
{ "key": 60, "frame_length": 45, "lyric": "ド" },
{ "key": 62, "frame_length": 45, "lyric": "レ" },
{ "key": 64, "frame_length": 45, "lyric": "ミ" },
{ "key": null, "frame_length": 15, "lyric": "" }
]
} ' > score.json
curl -s
-H " Content-Type: application/json "
-X POST
-d @score.json
" 127.0.0.1:50021/sing_frame_audio_query?speaker=6000 "
> query.json
curl -s
-H " Content-Type: application/json "
-X POST
-d @query.json
" 127.0.0.1:50021/frame_synthesis?speaker=3001 "
> audio.wav楽譜のkeyは MIDI 番号です。
lyricは歌詞で、任意の文字列を指定できますが、エンジンによってはひらがな・カタカナ1モーラ以外の文字列はエラーになることがあります。
フレームレートはデフォルトが 93.75Hz で、エンジンマニフェストのframe_rateで取得できます。
1つ目のノートは無音である必要があります。
/sing_frame_audio_queryで指定できるspeakerは、 /singersで取得できるスタイルの内、種類がsingかsinging_teacherなスタイルのstyle_idです。
/frame_synthesisで指定できるspeakerは、 /singersで取得できるスタイルの内、種類がframe_decodeのstyle_idです。
引数がspeakerという名前になっているのは、他の API と一貫性をもたせるためです。
/sing_frame_audio_queryと/frame_synthesisに異なるスタイルを指定することも可能です。
VOICEVOX ではセキュリティ保護のためlocalhost・127.0.0.1・app://・Origin なし以外の Origin からリクエストを受け入れないようになっています。 そのため、一部のサードパーティアプリからのレスポンスを受け取れない可能性があります。
これを回避する方法として、エンジンから設定できる UI を用意しています。
実行時引数--disable_mutable_apiか環境変数VV_DISABLE_MUTABLE_API=1を指定することで、エンジンの設定や辞書などを変更する API を無効にできます。
リクエスト・レスポンスの文字コードはすべて UTF-8 です。
エンジン起動時に引数を指定できます。詳しいことは-h引数でヘルプを確認してください。
$ python run.py -h
usage: run.py [-h] [--host HOST] [--port PORT] [--use_gpu] [--voicevox_dir VOICEVOX_DIR] [--voicelib_dir VOICELIB_DIR] [--runtime_dir RUNTIME_DIR] [--enable_mock] [--enable_cancellable_synthesis]
[--init_processes INIT_PROCESSES] [--load_all_models] [--cpu_num_threads CPU_NUM_THREADS] [--output_log_utf8] [--cors_policy_mode {CorsPolicyMode.all,CorsPolicyMode.localapps}]
[--allow_origin [ALLOW_ORIGIN ...]] [--setting_file SETTING_FILE] [--preset_file PRESET_FILE] [--disable_mutable_api]
VOICEVOX のエンジンです。
options:
-h , --help show this help message and exit
--host HOST 接続を受け付けるホストアドレスです。
--port PORT 接続を受け付けるポート番号です。
--use_gpu GPUを使って音声合成するようになります。
--voicevox_dir VOICEVOX_DIR
VOICEVOXのディレクトリパスです。
--voicelib_dir VOICELIB_DIR
VOICEVOX COREのディレクトリパスです。
--runtime_dir RUNTIME_DIR
VOICEVOX COREで使用するライブラリのディレクトリパスです。
--enable_mock VOICEVOX COREを使わずモックで音声合成を行います。
--enable_cancellable_synthesis
音声合成を途中でキャンセルできるようになります。
--init_processes INIT_PROCESSES
cancellable_synthesis機能の初期化時に生成するプロセス数です。
--load_all_models 起動時に全ての音声合成モデルを読み込みます。
--cpu_num_threads CPU_NUM_THREADS
音声合成を行うスレッド数です。指定しない場合、代わりに環境変数 VV_CPU_NUM_THREADS の値が使われます。VV_CPU_NUM_THREADS が空文字列でなく数値でもない場合はエラー終了します。
--output_log_utf8 ログ出力をUTF-8でおこないます。指定しない場合、代わりに環境変数 VV_OUTPUT_LOG_UTF8 の値が使われます。VV_OUTPUT_LOG_UTF8 の値が1の場合はUTF-8で、0または空文字、値がない場合は環境によって自動的に決定されます。
--cors_policy_mode {CorsPolicyMode.all,CorsPolicyMode.localapps}
CORSの許可モード。allまたはlocalappsが指定できます。allはすべてを許可します。localappsはオリジン間リソース共有ポリシーを、app://.とlocalhost関連に限定します。その他のオリジンはallow_originオプションで追加できます。デフォルトはlocalapps。このオプションは--
setting_fileで指定される設定ファイルよりも優先されます。
--allow_origin [ALLOW_ORIGIN ...]
許可するオリジンを指定します。スペースで区切ることで複数指定できます。このオプションは--setting_fileで指定される設定ファイルよりも優先されます。
--setting_file SETTING_FILE
設定ファイルを指定できます。
--preset_file PRESET_FILE
プリセットファイルを指定できます。指定がない場合、環境変数 VV_PRESET_FILE、ユーザーディレクトリのpresets.yamlを順に探します。
--disable_mutable_api
辞書登録や設定変更など、エンジンの静的なデータを変更するAPIを無効化します。指定しない場合、代わりに環境変数 VV_DISABLE_MUTABLE_API の値が使われます。VV_DISABLE_MUTABLE_API の値が1の場合は無効化で、0または空文字、値がない場合は無視されます。エンジンディレクトリ内にあるファイルを全て消去し、新しいものに置き換えてください。
VOICEVOX ENGINE は皆さんのコントリビューションをお待ちしています!
詳細は CONTRIBUTING.md をご覧ください。
また VOICEVOX 非公式 Discord サーバーにて、開発の議論や雑談を行っています。気軽にご参加ください。
なお、Issue を解決するプルリクエストを作成される際は、別の方と同じ Issue に取り組むことを避けるため、Issue 側で取り組み始めたことを伝えるか、最初に Draft プルリクエストを作成することを推奨しています。
Python 3.11.9を用いて開発されています。 インストールするには、各 OS ごとの C/C++ コンパイラ、CMake が必要になります。
# 実行環境のインストール
python -m pip install -r requirements.txt
# 開発環境・テスト環境・ビルド環境のインストール
python -m pip install -r requirements-dev.txt -r requirements-build.txtコマンドライン引数の詳細は以下のコマンドで確認してください。
python run.py --help # 製品版 VOICEVOX でサーバーを起動
VOICEVOX_DIR= " C:/path/to/voicevox " # 製品版 VOICEVOX ディレクトリのパス
python run.py --voicevox_dir= $VOICEVOX_DIR # モックでサーバー起動
python run.py --enable_mock # ログをUTF8に変更
python run.py --output_log_utf8
# もしくは VV_OUTPUT_LOG_UTF8=1 python run.py CPU スレッド数が未指定の場合は、論理コア数の半分が使われます。(殆どの CPU で、これは全体の処理能力の半分です)
もし IaaS 上で実行していたり、専用サーバーで実行している場合など、
エンジンが使う処理能力を調節したい場合は、CPU スレッド数を指定することで実現できます。
python run.py --voicevox_dir= $VOICEVOX_DIR --cpu_num_threads=4 export VV_CPU_NUM_THREADS=4
python run.py --voicevox_dir= $VOICEVOX_DIR VOICEVOX Core 0.5.4 以降のコアを使用する事が可能です。
Mac での libtorch 版コアのサポートはしていません。
製品版 VOICEVOX もしくはコンパイル済みエンジンのディレクトリを--voicevox_dir引数で指定すると、そのバージョンのコアが使用されます。
python run.py --voicevox_dir= " /path/to/voicevox " Mac では、 DYLD_LIBRARY_PATHの指定が必要です。
DYLD_LIBRARY_PATH= " /path/to/voicevox " python run.py --voicevox_dir= " /path/to/voicevox " VOICEVOX Core の zip ファイルを解凍したディレクトリを--voicelib_dir引数で指定します。
また、コアのバージョンに合わせて、libtorchやonnxruntime (共有ライブラリ) のディレクトリを--runtime_dir引数で指定します。
ただし、システムの探索パス上に libtorch、onnxruntime がある場合、 --runtime_dir引数の指定は不要です。
--voicelib_dir引数、 --runtime_dir引数は複数回使用可能です。
API エンドポイントでコアのバージョンを指定する場合はcore_version引数を指定してください。(未指定の場合は最新のコアが使用されます)
python run.py --voicelib_dir= " /path/to/voicevox_core " --runtime_dir= " /path/to/libtorch_or_onnx " Mac では、 --runtime_dir引数の代わりにDYLD_LIBRARY_PATHの指定が必要です。
DYLD_LIBRARY_PATH= " /path/to/onnx " python run.py --voicelib_dir= " /path/to/voicevox_core " 以下のディレクトリにある音声ライブラリは自動で読み込まれます。
<user_data_dir>/voicevox-engine/core_libraries/<user_data_dir>/voicevox-engine-dev/core_libraries/ <user_data_dir>は OS によって異なります。
C:Users<username>AppDataLocal/Users/<username>/Library/Application Support//home/<username>/.local/share/ pyinstallerを用いたパッケージ化と Dockerfile を用いたコンテナ化によりローカルでビルドが可能です。
手順の詳細は 貢献者ガイド#ビルド を御覧ください。
GitHub を用いる場合、fork したリポジトリで GitHub Actions によるビルドが可能です。
Actions を ON にし、workflow_dispatch でbuild-engine-package.ymlを起動すればビルドできます。 成果物は Release にアップロードされます。 ビルドに必要な GitHub Actions の設定は 貢献者ガイド#GitHub Actions を御覧ください。
pytestを用いたテストと各種リンターを用いた静的解析が可能です。
手順の詳細は 貢献者ガイド#テスト, 貢献者ガイド#静的解析 を御覧ください。
依存関係はpoetryで管理されています。また、導入可能な依存ライブラリにはライセンス上の制約があります。
詳細は 貢献者ガイド#パッケージ を御覧ください。
VOICEVOX エディターでは、複数のエンジンを同時に起動することができます。 この機能を利用することで、自作の音声合成エンジンや既存の音声合成エンジンを VOICEVOX エディター上で動かすことが可能です。
VOICEVOX API に準拠した複数のエンジンの Web API をポートを分けて起動し、統一的に扱うことでマルチエンジン機能を実現しています。 エディターがそれぞれのエンジンを実行バイナリ経由で起動し、EngineID と結びつけて設定や状態を個別管理します。
VOICEVOX API 準拠エンジンを起動する実行バイナリを作ることで対応が可能です。 VOICEVOX ENGINE リポジトリを fork し、一部の機能を改造するのが簡単です。
改造すべき点はエンジン情報・キャラクター情報・音声合成の3点です。
エンジンの情報はルート直下のマニフェストファイル( engine_manifest.json )で管理されています。 この形式のマニフェストファイルは VOICEVOX API 準拠エンジンに必須です。 マニフェストファイル内の情報を見て適宜変更してください。 音声合成手法によっては、例えばモーフィング機能など、VOICEVOX と同じ機能を持つことができない場合があります。 その場合はマニフェストファイル内のsupported_features内の情報を適宜変更してください。
キャラクター情報はresources/character_infoディレクトリ内のファイルで管理されています。 ダミーのアイコンなどが用意されているので適宜変更してください。
音声合成はvoicevox_engine/tts_pipeline/tts_engine.pyで行われています。 VOICEVOX API での音声合成は、エンジン側で音声合成用のクエリAudioQueryの初期値を作成してユーザーに返し、ユーザーが必要に応じてクエリを編集したあと、エンジンがクエリに従って音声合成することで実現しています。 クエリ作成は/audio_queryエンドポイントで、音声合成は/synthesisエンドポイントで行っており、最低この2つに対応すれば VOICEVOX API に準拠したことになります。
VVPP ファイルとして配布するのがおすすめです。 VVPP は「VOICEVOX プラグインパッケージ」の略で、中身はビルドしたエンジンなどを含んだディレクトリの Zip ファイルです。 拡張子を.vvppにすると、ダブルクリックで VOICEVOX エディターにインストールできます。
エディター側は受け取った VVPP ファイルをローカルディスク上に Zip 展開したあと、ルートの直下にあるengine_manifest.jsonに従ってファイルを探査します。 VOICEVOX エディターにうまく読み込ませられないときは、エディターのエラーログを参照してください。
また、 xxx.vvppは分割して連番を付けたxxx.0.vvpppファイルとして配布することも可能です。 これはファイル容量が大きくて配布が困難な場合に有用です。 インストールに必要なvvppおよびvvpppファイルはvvpp.txtファイルにリストアップしています。
voicevox-client @voicevox-client ・・・ VOICEVOX ENGINE の各言語向け API ラッパー
LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。 別ライセンスを取得したい場合は、ヒホに求めてください。
X アカウント: @hiho_karuta