? aivisspeech : ai v oice i mitation s ystem- 텍스트 to speech 소프트웨어
AivissPeech는 VoiceVox의 편집자 UI를 기반으로 한 일본어 음성 합성 소프트웨어입니다.
일본어 음성 합성 엔진 aivisspeech 엔진을 통합하여 감정적 목소리를 쉽게 생성 할 수 있습니다.
aivisspeech를 사용하려면 aivisspeech 공식 웹 사이트를 방문하십시오.
이 페이지에는 주로 개발자를위한 정보가 포함되어 있습니다.
아래는 사용자를위한 문서입니다.
Windows 및 MacOS가있는 PC와 호환됩니다.
aivisspeech를 시작하려면 PC에는 3GB 이상의 자유 메모리 (RAM)가 필요합니다.
메모
Intel CPU를 사용하여 Mac에서의 작업을 적극적으로 확인하지 않았습니다.
Intel CPU가있는 Mac은 이미 생산이 중단되었으며 검증 및 구축 환경을 준비하는 것이 점점 어려워지고 있습니다. Apple Silicon이있는 Mac 에서이 제품을 최대한 많이 사용하는 것이 좋습니다.
경고
Windows 10에서는 버전 22H2의 작동 만 확인합니다.
AivissPeech 엔진이 충돌하고 지원되지 않는 이전 버전의 Windows 10에서 시작되지 않는 경우에 대한보고가 있습니다.
보안 관점에서 서비스를 사용하기 전에 Windows 10 환경을 최소 버전 22H2로 만 업데이트하는 것이 좋습니다.
aivisspeech에 내장 된 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 엔진을 실행중인 경우)는 AivisSpeech-Engine 아니거나 AivisSpeech-Engine-Dev 이하입니다.
VoiceVox는 오늘날에도 여전히 활발하게 개발 된 거대한 소프트웨어입니다.
따라서 AivissPeech는 다음 정책에 따라 최신 버전의 VoiceVox를 개발하고 있습니다.
단계는 원래 VoiceVox와 다릅니다.
node.js 20.12.2는 미리 설치해야합니다.
# 依存関係をすべてインストール
npm ci
# .env.development を .env にコピー
# # コピーした .env を編集する必要はない
cp .env.development .env
# macOS のみ、.env.production を編集
nano .env.production
--------------------
# executionFilePath を "AivisSpeech-Engine/run.exe" から "../Resources/AivisSpeech-Engine/run" に書き換える
# # executionFilePath は、npm run electron:build でビルドした製品ビルドの AivisSpeech の起動時に使用される
...
VITE_DEFAULT_ENGINE_INFOS= ` [
{
" uuid " : " 1b4a5014-d9fd-11ee-b97d-83c170a68ed3 " ,
" name " : " AivisSpeech Engine " ,
" executionEnabled " : true,
" executionFilePath " : " ../Resources/AivisSpeech-Engine/run " ,
" executionArgs " : [],
" host " : " http://127.0.0.1:10101 "
}
] `
...
--------------------
# 事前に別のターミナルで AivisSpeech Engine を起動しておく
# # AivisSpeech Engine の開発環境は別途構築する必要がある
cd ../AivisSpeech-Engine
poetry run task serve단계는 원래 VoiceVox와 다릅니다.
# 開発環境で Electron 版 AivisSpeech を起動
npm run electron:serve
# 開発環境でブラウザ版 AivisSpeech を起動
npm run browser:serve
# Electron 版 AivisSpeech をビルド
npm run electron:build
# ブラウザ版 AivisSpeech (WIP) をビルド
npm run browser:build
# コードフォーマットを自動修正
npm run format
# コードフォーマットをチェック
npm run lint
# OpenAPI Generator による自動生成コードを更新
npm run openapi:generate
# 依存ライブラリのライセンス情報を生成
# # VOICEVOX と異なり、音声合成エンジンとのライセンス情報との統合は行わない
# # エディタ側で別途エンジンマニフェストから取得したライセンス情報を表示できるようにしているため不要
npm run license:generateBase VoiceVox/VoiceVox 엔진의 듀얼 라이센스 중 LGPL-3.0 만 독립적으로 상속됩니다.
다음과 문서/ 다음 문서는 수정없이 원래 VoiceVox 문서를 수행합니다. 이 문서의 내용이 aivisspeech에도 적용되는 것은 보장되지 않습니다.
이것은 VoiceVox의 편집자입니다.
(엔진은 VoiceVox 엔진이고, 코어는 VoiceVox 코어이며, 전체 구조는 여기에서 찾을 수 있습니다.)
이것은 개발 페이지입니다. 사용 방법에 대한 자세한 내용은 VoiceVox 공식 웹 사이트를 방문하십시오.
VoiceVox 프로젝트는 관심있는 참가자를 환영합니다. 기여 절차를 설명하는 가이드가 있습니다.
기여를 생각할 때 프로그램 작성을 생각할 수도 있지만 문서 작성, 테스트 생성 및 개선 제안에 대한 토론에 참여하는 등 다양한 참여 방법이 있습니다. 우리는 또한 초보자를 환영하는 과제를 제공하므로 귀하의 참여를 기대합니다.
VoiceVox의 편집자는 전자, 타입 스크립트, vue, vuex 등을 사용하여 전체 구조를 이해하기 어렵게 만듭니다.
우리는 코드를 걷는 방법에 구조를 소개 할 것이므로 코드를 개발하는 데 도움이되기를 바랍니다.
문제를 해결하기위한 풀 요청을 만들 때 문제를 해결하기 시작한 문제를 알리거나 다른 사람과 동일한 문제에 대한 작업을 피하기 위해 먼저 초안 풀 요청을 작성하십시오.
개발 토론 및 채팅은 VoiceVox 비공식 불화 서버에서 개최됩니다. 언제든지 우리와 함께하십시오.
UX/UI 설계 정책을 참조하십시오.
.Node-Version에 나열된 Node.js 버전을 설치하십시오.
Node.js 관리 도구 (예 : NVS 및 Volta)는 Node.js를 쉽게 설치하고 자동으로 전환 할 수 있도록합니다.
Node.js를 설치 한 후이 저장소를 포크하고 git clone .
종속 라이브러리를 설치하고 업데이트하려면 다음 명령을 실행하십시오.
npm ci .env.production 복사하고 .env를 생성하려면 .env 생성하고 VITE_DEFAULT_ENGINE_INFOS 의 executionFilePath 에서 voInvox의 VoyVox 제품 버전에서 vv-engine/run.exe VoiceVox의 제품 버전에서 실행할 수 있습니다.
Windows에서 설치 위치를 변경하지 않은 경우 C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe 지정하십시오.
경로 구분 기호는 아닙니다 /
MacOS에 VOICEVOX.app 사용하는 경우 /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run 지정하십시오.
Linux의 경우 릴리스에서 사용할 수있는 TAR.GZ 버전에 포함 된 vv-engine/run 명령을 지정하십시오. AppImage 버전의 경우 $ /path/to/VOICEVOX.AppImage --appimage-mount 사용하여 파일 시스템을 마운트 할 수 있습니다.
VoiceVox 편집기 실행과 별도로 엔진 API 서버를 실행하는 경우 executionFilePath 지정할 필요가 없지만 executionEnabled false 로 설정하십시오. VoiceVox 제품 버전을 실행중인 경우에도 적용됩니다.
엔진 API의 대상 끝점을 변경하려면 VITE_DEFAULT_ENGINE_INFOS 에서 host 변경하십시오.
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode production음성 합성 엔진 저장소는 여기에 있습니다 : https://github.com/voicevox/voicevox_engine
스토리 북을 사용하여 구성 요소를 개발할 수 있습니다.
npm run storybook VoiceVox/Preview-Pages에서 메인 브랜치의 스토리 북을 볼 수 있습니다.
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
별도의 음성 합성 엔진을 시작하고 다음을 실행하여 표시된 로컬 호스트에 액세스하십시오.
npm run browser:serve 또한 메인 브랜치의 빌드 결과가 VoiceVox/Preview-Pages에 배포되었습니다.
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
이제 로컬 PC에서 음성 합성 엔진을 시작해야합니다.
npm run electron:build Workflow_dispatch를 사용하여 build.yml 을지게하고 시작하는 저장소에서 작업을 켜면 빌드 할 수 있습니다. 결과물은 릴리스에 업로드됩니다.
./tests/unit/ 와 스토리 북 테스트에서 테스트를 실행하십시오.
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test-ui:unit # VitestのUIを表示
npm run test:unit -- --update # スナップショットの更新메모
./tests/unit 아래 테스트는 파일 이름에 따라 테스트가 실행되는 환경을 변경합니다.
.node.spec.ts : node.js 환경.browser.spec.ts : 브라우저 환경 (Chromium).spec.ts : 브라우저 환경 (행복한 공동체를 사용한 에뮬레이터)전자 기능이 필요하지 않은 UI 및 음성 합성과 같은 엔드 투 엔드 테스트를 실행하십시오.
메모
일부 엔진의 설정을 다시 작성하는 테스트는 이제 CI (GitHub Actions)에서만 수행됩니다.
npm run test:browser-e2e
npm run test-watch:browser-e2e # 監視モード
npm run test-watch:browser-e2e -- --headed # テスト中の UI を表示
npm run test-ui:browser-e2e # Playwright の UI を表示극작가를 사용하기 때문에 테스트 패턴을 생성 할 수도 있습니다. 브라우저 버전이 실행되는 동안 다음 명령을 실행하십시오.
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630자세한 내용은 극작가 문서의 테스트 생성기를 참조하십시오.
스토리 북 구성 요소의 스크린 샷을 비교하고 변경이 이루어지면 차이점을 표시하십시오.
메모
이 테스트는 Windows에서만 실행할 수 있습니다.
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示브라우저 엔드 - 엔드 - 엔드 테스트 및 스토리 북은 시각적 회귀 테스트를 제공합니다. 현재 VRT 테스트는 Windows에서만 수행됩니다. 아래 단계를 따라 스크린 샷을 업데이트 할 수 있습니다.
포크 리포지토리 설정에서 GitHub 작업을 활성화하십시오.
Repository 설정에서 작업> 일반> 워크 플로우 권한에 따라 읽기 및 쓰기 권한을 선택하십시오.
커밋 메시지에 문자열 [update snapshots] 커밋하십시오.
git commit -m " UIを変更 [update snapshots] "GitHub 워크 플로가 완료되면 업데이트 된 스크린 샷이 커밋됩니다.
당기면 빈 커밋을 밀고 테스트를 다시 실행하십시오.
git commit --allow-empty -m " (テストを再実行) "
git push메모
토큰을 만들고 비밀에 추가하여 테스트를 자동으로 다시 실행할 수 있습니다.
ユーザー名/voicevox 에 대한 액세스 권한을 부여하고 리포지토리 권한에 따라 컨텐츠에서 읽기 및 쓰기를 선택하십시오.
ユーザー名/voicevox 저장소의 새로운 저장소 비밀.PUSH_TOKEN 입력하고 위의 문자열을 붙여 넣고 비밀을 추가하십시오. 로컬 PC의 OS를 지원하는 사람들 만 업데이트됩니다.
npm run test:browser-e2e -- --update-snapshots엔진 시작 및 종료를 포함하여 전자 기능이 필요한 엔드 ~ 종료 테스트를 실행하십시오.
npm run test:electron-e2e
npm run test-watch:electron-e2e # 監視モード종속 라이브러리의 라이센스 정보는 GitHub 워크 플로로 구축 할 때 자동으로 생성됩니다. 다음 명령으로 생성 할 수 있습니다.
# get licenses.json from voicevox_engine as engine_licenses.json
npm run license:generate -- -o voicevox_licenses.json
npm run license:merge -- -o public/licenses.json -i engine_licenses.json -i voicevox_licenses.json코드를 형식화하십시오. 풀 요청을 보내기 전에 실행하십시오.
npm run fmt버그를 방지하기위한 코드의 정적 분석. 풀 요청을 보내기 전에 실행하십시오.
npm run lint오타를 사용하여 오타를 확인합니다.
npm run typos 유형을 확인할 수 있습니다. 잘못된 판단 또는 수표에서 제외해야 할 파일이있는 경우 구성 파일의 지침을 따라 _typos.toml 편집하십시오.
TypeScript 유형 확인.
npm run typecheck마크 다운 문법 점검을 수행합니다.
npm run markdownlint쉘 스크립트 문법 점검을하십시오. 설치 지침은 여기를 참조하십시오.
shellcheck ./build/ * .sh음성 합성 엔진이 실행되는 동안 다음 명령을 실행하십시오.
curl http://127.0.0.1:50021/openapi.json > openapi.json
npx openapi-generator-cli generate
-i openapi.json
-g typescript-fetch
-o src/openapi/
--additional-properties " modelPropertyNaming=camelCase,supportsES6=true,withInterfaces=true,typescriptThreePlus=true "
npm run fmt다음 명령을 사용하여 새 버전을 확인하고 설치할 수 있습니다.
npx openapi-generator-cli version-manager list NPM 스크립트 serve 및 electron:serve 와 같은 개발 빌드에서 Sourcemap은 빌드에 사용되는 Vite에서 출력되므로 소스 코드 및 출력 코드가 매핑됩니다.
.vscode/launch.template.json 복사하여 .vscode/launch.json 및 .vscode/tasks.template.json 만들려면 VS 코드에서 개발 빌드를 실행하여 디버깅을 허용하는 작업을 활성화 .vscode/tasks.json .
LGPL V3의 듀얼 라이센스와 소스 코드의 출판이 필요하지 않은 별도의 라이센스입니다. 별도의 라이센스를 얻으려면 Heho에게 문의하십시오.
X 계정 : @hiho_karuta