? Aivispeech: Ai v oice i Mitation S ytestem - Texte au logiciel de discours
AivispeEch est un logiciel de synthèse de la parole japonaise basé sur l'interface utilisateur de la rédaction de VoiceVox.
Il intègre le moteur de synthèse de la parole japonais Aivispeech moteur, qui vous permet de générer facilement des voix émotionnelles.
Si vous cherchez à utiliser Aivispeech, veuillez visiter le site officiel d'Aivispeech.
Cette page contient des informations principalement pour les développeurs.
Vous trouverez ci-dessous un document pour les utilisateurs:
Compatible avec les PC avec Windows et MacOS.
Pour démarrer AivisPpeech, votre PC a besoin d'au moins 3 Go de mémoire libre (RAM).
Note
Nous n'avons pas vérifié activement l'opération sur Mac avec des processeurs Intel.
Les Mac avec des processeurs Intel sont déjà hors de production, et il devient de plus en plus difficile de préparer un environnement de vérification et de construction. Nous vous recommandons d'utiliser ce produit sur un Mac avec du silicium Apple autant que possible.
Avertissement
Sur Windows 10, nous vérifions uniquement le fonctionnement de la version 22h2.
Il y a eu des rapports de cas où le moteur Aivispeech se bloque et ne commence pas sur les anciennes versions de Windows 10 qui n'ont aucun support.
Du point de vue de la sécurité, nous vous recommandons fortement d'utiliser les environnements Windows 10 uniquement à la mise à jour de la version minimale 22H2 avant d'utiliser le service.
Le moteur Aivispeech, intégré à AivispeEch, prend en charge les fichiers de modèle de synthèse de la parole dans le format AIVMX ( AI Vis v oice m odel pour onn x ) ( .aivmx ).
AIVM ( AI vis v oice m odel) / aivmx ( ai vis v oice m odel pour onn x ) est un format de fichier ouvert pour les modèles de synthèse de la parole AI qui combine des modèles pré-formés, des hyperparamètres, des vecteurs de style, des métadonnées de haut-parleurs (noms, des vue où l'on
Pour plus d'informations sur les spécifications AIVM et les fichiers AIVM / AIVMX, veuillez vous référer aux spécifications AIVM développées dans le projet AIVIS.
Note
"AIVM" est également un terme général pour les spécifications du format AIVM / AIVMX et les spécifications de métadonnées.
Plus précisément, le fichier AIVM est un fichier de modèle au format de sécurité avec les métadonnées AIVM ajoutés ", et le fichier AIVMX est un fichier de modèle au format" ONNX avec les métadonnées AIVM ajoutées ".
"AIVM Metadata" fait référence à diverses métadonnées liées à un modèle formé tel que défini dans la spécification AIVM.
Important
Le moteur AivispeEch est également une implémentation de référence de la spécification AIVM, mais il est délibérément conçu pour prendre en charge uniquement les fichiers AIVMX.
Cela élimine la dépendance à Pytorch, réduit la taille de l'installation et fournit une inférence CPU rapide avec l'exécution d'ONNX.
Conseil
Le générateur AIVM vous permet de générer des fichiers AIVM / AIVMX à partir des modèles de synthèse de la parole existants et de modifier les métadonnées des fichiers AIVM / AIVMX existants!
Les fichiers AIVMX pour les architectures de modèle suivants sont disponibles:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Note
La spécification des métadonnées AIVM vous permet de définir des haut-parleurs multilingues, mais le moteur Aivispeech, comme le moteur VoiceVox, ne prend en charge que la synthèse de la parole japonaise.
Par conséquent, même si vous utilisez un modèle de synthèse de la parole qui soutient l'anglais ou le chinois, une synthèse de la parole autre que le japonais ne peut pas être effectuée.
Placez les fichiers AIVMX dans les dossiers suivants pour chaque système d'exploitation:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models Le chemin du dossier réel sera affiché en tant que Models directory: dans les journaux immédiatement après le démarrage du moteur Aivispeech.
Conseil
Lorsque vous utilisez AivisPpeech, vous pouvez facilement ajouter des modèles de synthèse de la parole à partir de l'écran de l'interface utilisateur Aivispeech!
Pour les utilisateurs finaux, nous vous recommandons d'ajouter un modèle de synthèse de la parole en utilisant cette méthode.
Important
Le dossier de déploiement de la version de développement (si vous exécutez un moteur Aivispeech, tout en étant construit avec Pyinstaller) n'est pas AivisSpeech-Engine ou en dessous AivisSpeech-Engine-Dev .
VoiceVox est un énorme logiciel qui est encore activement développé aujourd'hui.
Par conséquent, Aivispeech développe la dernière version de VoiceVox sous la politique suivante:
Les étapes diffèrent de l'original VoiceVox.
Node.js 20.12.2 doit être installé à l'avance.
# 依存関係をすべてインストール
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 serveLes étapes diffèrent de l'original 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:generateParmi les licences doubles du moteur de base VoiceVox / VoiceVox, seul LGPL-3.0 sera hérité de manière indépendante.
Les documents suivants et documentaires / les documents suivants permettent le document VoiceVox original sans modification. Il n'est pas garanti que le contenu de ces documents s'appliquera également à Aivispeech.
Ceci est l'éditeur de VoiceVox.
(Le moteur est le moteur VoiceVox, le noyau est le noyau de voixvox et la structure globale peut être trouvée ici.)
Ceci est une page de développement. Pour plus d'informations sur la façon de l'utiliser, veuillez visiter le site officiel de VoiceVox.
Le projet VoiceVox accueille les participants intéressés. Nous avons un guide expliquant la procédure de contribution.
Lorsque vous pensez aux contributions, vous pourriez penser à créer un programme, mais il existe différentes façons de participer, comme la rédaction d'un document, la génération de tests et la participation à des discussions dans les propositions d'amélioration. Nous offrons également des tâches qui accueillent les débutants, nous attendons donc avec impatience votre participation.
Les éditeurs de VoiceVox utilisent Electron, TypeScript, Vue, Vuex, etc., ce qui rend la structure globale difficile à comprendre.
Nous présenterons la structure dans la façon de parcourir le code, nous espérons donc qu'il vous aidera à le développer.
Lors de la création d'une demande de traction pour résoudre un problème, veuillez indiquer le problème que vous avez commencé à y travailler ou créer une demande de traction de projet d'abord pour éviter de travailler sur le même problème que quelqu'un d'autre.
Les discussions de développement et les chats ont lieu sur le serveur de discorde non officiel de VoiceVox. N'hésitez pas à nous rejoindre.
Veuillez vous référer à la politique de conception UX / UI.
Veuillez installer la version de Node.js répertoriée dans .Node-Version.
Les outils de gestion Node.js (tels que NVS et Volta) facilitent l'installation et changent automatiquement Node.js.
Après avoir installé Node.js, fourchez ce référentiel et git clone .
Exécutez la commande suivante pour installer et mettre à jour les bibliothèques dépendantes:
npm ci Copiez .env.production pour créer .env , et spécifiez VV-Engine / Run.exe dans la version du produit de VoiceVox dans executionFilePath dans VITE_DEFAULT_ENGINE_INFOS à vv-engine/run.exe dans la version produit de VoiceVox pour exécuter.
Si vous n'avez pas modifié l'emplacement d'installation sur Windows, spécifiez C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe .
Veuillez noter que le délimiteur de chemin n'est pas /
Si vous utilisez VOICEVOX.app pour macOS, veuillez spécifier /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run .
Pour Linux, spécifiez vv-engine/run incluse dans la version Tar.gz disponible à partir des versions. Pour la version AppImage, vous pouvez monter le système de fichiers à l'aide de $ /path/to/VOICEVOX.AppImage --appimage-mount .
Si vous exécutez séparément un serveur API de moteur de l'exécution de l'éditeur VoiceVox, vous n'avez pas besoin de spécifier executionFilePath , mais à la place, définissez executionEnabled sur false . Cela s'applique même si vous exécutez la version produit de VoiceVox.
Si vous souhaitez modifier le point de terminaison de destination de l'API du moteur, modifiez host dans VITE_DEFAULT_ENGINE_INFOS .
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode productionLe référentiel de moteur de synthèse vocale est ici: https://github.com/voicevox/voicevox_engine
Vous pouvez développer des composants à l'aide de livres d'histoires.
npm run storybook Vous pouvez consulter le livre de contes pour la branche principale de VoiceVox / Aperçu.
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
Démarrez le moteur de synthèse de la parole séparé et exécutez ce qui suit pour accéder au localhost affiché:
npm run browser:serve De plus, les résultats de build pour la branche principale ont été déployés dans les pages VoiceVox / Aperçu.
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
Vous devez maintenant démarrer le moteur de synthèse de la parole sur votre PC local.
npm run electron:build Vous pouvez construire en activant des actions dans le référentiel que vous avez fourré et en lançant build.yml avec workflow_dispatch. Les livrables seront téléchargés pour libérer.
Exécutez les tests sous ./tests/unit/ et les tests de livre de contes.
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test-ui:unit # VitestのUIを表示
npm run test:unit -- --update # スナップショットの更新Note
Les tests sous ./tests/unit modifient l'environnement dans lequel le test est exécuté en fonction du nom du fichier.
.node.spec.ts : environnement node.js.browser.spec.ts : environnement de navigateur (chrome).spec.ts : environnement de navigateur (émulatoire à l'aide de domes happy)Exécutez des tests de bout en bout tels que l'interface utilisateur et la synthèse de la parole qui ne nécessitent pas de fonctionnalité électronique.
Note
Les tests qui réécrivent les paramètres de certains moteurs ne sont désormais effectués que sur CI (actions GitHub).
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 を表示Vous pouvez également générer des modèles de test car vous utilisez le dramaturge. Exécutez la commande suivante pendant l'exécution de la version du navigateur :
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630Pour plus d'informations, voir le générateur de test dans la documentation du dramaturge.
Comparez les captures d'écran des composants du livre de contes et montrez des différences si des modifications sont apportées.
Note
Ce test ne peut être exécuté que sous Windows.
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示Le navigateur de bout en bout des tests et des livres d'histoires fournit des tests de régression visuelle. Actuellement, les tests VRT sont effectués uniquement sur Windows. Vous pouvez mettre à jour votre capture d'écran en suivant les étapes ci-dessous:
Activez les actions GitHub dans les paramètres du référentiel fourchu.
Sous Actions> General> Autorisations de workflow dans les paramètres du référentiel, sélectionnez les autorisations de lecture et d'écriture.
Commissez la chaîne [update snapshots] dans le message de validation.
git commit -m " UIを変更 [update snapshots] "Une fois le flux de travail GitHub terminé, la capture d'écran mise à jour sera engagée.
Après avoir tiré, poussez un engagement vide et exécutez à nouveau le test.
git commit --allow-empty -m " (テストを再実行) "
git pushNote
Vous pouvez réaffecter automatiquement le test en créant un jeton et en l'ajoutant à des secrets.
ユーザー名/voicevox et sous les autorisations du référentiel, sélectionnez lire et écrire sous le contenu.
ユーザー名/voicevox .PUSH_TOKEN dans le nom, collez la chaîne ci-dessus et ajoutez des secrets. Seuls ceux qui prennent en charge le système d'exploitation du PC local seront mis à jour.
npm run test:browser-e2e -- --update-snapshotsExécutez des tests de bout en bout qui nécessitent une fonctionnalité électronique, y compris le démarrage et la terminaison du moteur.
npm run test:electron-e2e
npm run test-watch:electron-e2e # 監視モードLes informations sur les licences pour les bibliothèques dépendantes sont automatiquement générées lors de la construction avec GitHub Workflow. Vous pouvez le générer avec la commande suivante:
# 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.jsonFormate le code. Veuillez l'exécuter avant d'envoyer une demande de traction.
npm run fmtAnalyse statique de votre code pour éviter les bogues. Veuillez l'exécuter avant d'envoyer une demande de traction.
npm run lintJ'utilise des fautes de frappe pour vérifier mes fautes de frappe.
npm run typos Vous pouvez vérifier le type. S'il y a des fichiers qui doivent être exclus des faux jugements ou des chèques, veuillez suivre les instructions du fichier de configuration pour modifier _typos.toml .
Contrôle de type dactylographié.
npm run typecheckEffectue un contrôle de grammaire Markdown.
npm run markdownlintFaites une vérification de grammaire Shellscript. Pour les instructions d'installation, veuillez consulter ici.
shellcheck ./build/ * .shExécutez la commande suivante pendant l'exécution du moteur de synthèse de la parole.
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 fmtVous pouvez vérifier et installer une nouvelle version en utilisant la commande suivante:
npx openapi-generator-cli version-manager list Sous les versions de développement telles que les scripts NPM serve et electron:serve , SourceMap est sorti dans le VITE utilisé pour la construction, de sorte que le code source et le code de sortie sont mappés.
Copie .vscode/launch.template.json pour créer .vscode/launch.json et .vscode/tasks.template.json .vscode/tasks.json activer des tâches qui permettent le débogage en exécutant des builds de développement à partir de codes vs.
Il s'agit d'une double licence avec LGPL V3 et de licences séparées qui ne nécessitent pas la publication du code source. Si vous souhaitez obtenir une licence séparée, veuillez demander à Heho.
Compte x: @hiho_karuta