? Aivisspeech: ai v oice i mitation system - Texto al software del habla
Aivisspeech es el software de síntesis de habla japonés basado en la interfaz de usuario del editor de VoiceVox.
Incorpora el motor Aivisspeech del motor de síntesis de habla japonés, que le permite generar fácilmente voces emocionales.
Si está buscando usar AivissPeech, visite el sitio web oficial de AivissPeech.
Esta página contiene información principalmente para desarrolladores.
A continuación se muestra un documento para los usuarios:
Compatible con PC con Windows y MacOS.
Para iniciar AivissPeech, su PC necesita al menos 3 GB de memoria libre (RAM).
Nota
No hemos verificado activamente la operación en MAC con CPU de Intel.
Las MAC con CPU Intel ya están fuera de producción, y es cada vez más difícil preparar un entorno de verificación y construcción. Recomendamos usar este producto en una Mac con Apple Silicon tanto como sea posible.
Advertencia
En Windows 10, solo verificamos la operación de la versión 22H2.
Ha habido informes de casos en los que el motor Aivisspeech se bloquea y no se inicia en versiones anteriores de Windows 10 que no tienen soporte.
Desde una perspectiva de seguridad, recomendamos encarecidamente que use entornos de Windows 10 solo se actualiza a la versión mínima 22H2 antes de usar el servicio.
El motor AIVISSPeech, integrado en AIVISSPeech, admite archivos del modelo de síntesis de voz en el formato AIVMX ( AI Vis Vice Model para ONN X ) ( .aivmx ).
AIVM ( Ai Vis V oice M Odel) / AIVMX ( Ai Vis V oice M Odel para Onn X ) es un formato de archivo abierto para modelos de síntesis de voz de IA que combina modelos previamente capacitados, hiperparámetros, vectores de estilo, metadatos de altavoces (nombres, vistas sobre sobrecargadores, licencias, iconos, muestras de voz, etc.) en un archivo .
Para obtener más información sobre las especificaciones AIVM y los archivos AIVM/AIVMX, consulte las especificaciones AIVM desarrolladas en el proyecto AIVIS.
Nota
"AIVM" también es un término general para las especificaciones de formato AIVM/AIVMX y las especificaciones de metadatos.
Específicamente, el archivo AIVM es un archivo modelo en "formato Safetensors con metadatos AIVM agregados", y el archivo AIVMX es un archivo de modelo en "formato ONNX con metadatos AIVM agregados".
"Metadatos AIVM" se refiere a varios metadatos que están vinculados a un modelo entrenado como se define en la especificación AIVM.
Importante
El motor AIVISSPeech también es una implementación de referencia de la especificación AIVM, pero está diseñada deliberadamente para admitir solo archivos AIVMX.
Esto elimina la dependencia de Pytorch, reduce el tamaño de la instalación y proporciona una inferencia rápida de CPU con el tiempo de ejecución de ONNX.
Consejo
¡AIVM Generator le permite generar archivos AIVM/AIVMX a partir de modelos de síntesis de voz existentes y editar los metadatos de los archivos AIVM/AIVMX existentes!
Los archivos AIVMX para las siguientes arquitecturas del modelo están disponibles:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Nota
La especificación de metadatos AIVM le permite definir altavoces multilingües, pero el motor Aivisspeech, como el motor VoiceVox, solo admite la síntesis de habla japonesa.
Por lo tanto, incluso si usa un modelo de síntesis de voz que apoya inglés o chino, no se puede realizar una síntesis de habla que no sea japonesa.
Coloque los archivos AIVMX en las siguientes carpetas para cada sistema operativo:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models La ruta de carpeta real se mostrará como Models directory: en los registros inmediatamente después de iniciar el motor AivissPeech.
Consejo
¡Cuando use AivissPeech, puede agregar fácilmente modelos de síntesis de voz desde la pantalla de UI de AivissPeech!
Para los usuarios finales, le recomendamos que agregue un modelo de síntesis de voz utilizando este método.
Importante
La carpeta de implementación para la versión de desarrollo (si está ejecutando el motor AivissPeech mientras no está construida con Pyinstaller) no es AivisSpeech-Engine o debajo de AivisSpeech-Engine-Dev .
Voicevox es un gran software que todavía se desarrolla activamente hoy.
Por lo tanto, AivissPeech está desarrollando la última versión de VoiceVox en la siguiente política:
Los pasos difieren de la voz original.
Node.js 20.12.2 debe instalarse de antemano.
# 依存関係をすべてインストール
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 serveLos pasos difieren de la voz original.
# 開発環境で 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:generateDe las licencias duales del motor Base VoiceVox/VoiceVox, solo LGPL-3.0 se heredará de forma independiente.
Los siguientes y documentos/ los siguientes documentos continúan en el documento original de VoiceVox sin modificación. No se garantiza que el contenido de estos documentos también se aplicará a AivissPeech.
Este es el editor de VoiceVox.
(El motor es el motor VoiceVox, el núcleo es el núcleo de VoiceVox y la estructura general se puede encontrar aquí).
Esta es una página de desarrollo. Para obtener información sobre cómo usarlo, visite el sitio web oficial de VoiceVox.
El proyecto VoiceVox da la bienvenida a los participantes interesados. Tenemos una guía que explica el procedimiento de contribución.
Cuando piensa en contribuciones, podría pensar en crear un programa, pero hay varias formas de participar, como escribir un documento, generar pruebas y participar en discusiones en propuestas de mejoras. También ofrecemos tareas que dan la bienvenida a principiantes, por lo que esperamos su participación.
Los editores de VoiceVox usan Electron, TypeScript, Vue, Vuex y más, lo que hace que la estructura general sea difícil de entender.
Presentaremos la estructura en cómo caminar por el código, por lo que esperamos que lo ayude a desarrollarlo.
Al crear una solicitud de extracción para resolver un problema, le digas al problema que ha comenzado a trabajar en ella o crea un borrador de solicitud de extracción primero para evitar trabajar en el mismo problema que otra persona.
Las discusiones y chats de desarrollo se mantienen en el servidor de discordia no oficial de VoiceVox. No dude en unirse a nosotros.
Consulte la Política de diseño de UX/UI.
Instale la versión de Node.js enumerada en .node-Version.
Las herramientas de administración node.js (como NVS y Volta) hacen que sea fácil instalar y cambiar automáticamente Node.js.
Después de instalar Node.js, bifurca este repositorio y git clone .
Ejecute el siguiente comando para instalar y actualizar las bibliotecas dependientes:
npm ci Copie .env.production para crear .env , y especifique vv-ingenio/run.exe en la versión del producto de VoiceVox en executionFilePath en VITE_DEFAULT_ENGINE_INFOS a vv-engine/run.exe en la versión del producto de VoiceVox para ejecutar.
Si no ha cambiado la ubicación de instalación en Windows, especifique C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe .
Tenga en cuenta que el delimitador de ruta no es /
Si está utilizando VOICEVOX.app para macOS, especifique /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run .
Para Linux, especifique vv-engine/run incluido en la versión Tar.gz disponible de los lanzamientos. Para la versión de AppImage, puede montar el sistema de archivos usando $ /path/to/VOICEVOX.AppImage --appimage-mount .
Si está ejecutando un servidor de API de motor por separado de ejecutar el editor VoiceVox, no necesita especificar executionFilePath , sino que establezca executionEnabled en false . Esto se aplica incluso si está ejecutando la versión del producto de VoiceVox.
Si desea cambiar el punto final de destino de la API del motor, cambie host en VITE_DEFAULT_ENGINE_INFOS .
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode productionEl repositorio del motor de síntesis de voz está aquí: https://github.com/voicvox/voicevox_engine
Puede desarrollar componentes utilizando libros de cuentos.
npm run storybook Puede ver el libro de cuentos para la rama principal de VoiceVox/Preview-Pages.
https://voicvox.github.io/preview-pages/preview/branchmain/storybook/index.html
Inicie el motor de síntesis de voz separado y ejecute lo siguiente para acceder al localhost mostrado:
npm run browser:serve Además, los resultados de compilación para la rama principal se han implementado en VoiceVox/Preview-Pages.
https://voicvox.github.io/preview-pages/preview/branchmain/editor/index.html
Ahora necesita comenzar el motor de síntesis de voz en su PC local.
npm run electron:build Puede construir activando las acciones en el repositorio que bifurcó y lanzó build.yml con Workflow_Dispatch. Los entregables se cargarán para su lanzamiento.
Ejecute las pruebas en ./tests/unit/ y las pruebas de los libros de cuentos.
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test-ui:unit # VitestのUIを表示
npm run test:unit -- --update # スナップショットの更新Nota
Las pruebas en ./tests/unit cambian el entorno en el que se ejecuta la prueba dependiendo del nombre del archivo.
.node.spec.ts : entorno node.js.browser.spec.ts : entorno del navegador (cromo).spec.ts : entorno del navegador (emulatorio usando happy-dom)Ejecute pruebas de extremo a extremo como la interfaz de usuario y la síntesis del habla que no requieren funcionalidad de electrones.
Nota
Las pruebas que reescriben la configuración para algunos motores ahora solo se realizan en CI (acciones de 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 を表示También puede generar patrones de prueba porque usa dramaturgo. Ejecute el siguiente comando mientras la versión del navegador se ejecuta :
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630Para obtener más información, consulte Generador de pruebas en la documentación del dramaturgo.
Compare las capturas de pantalla de los componentes del libro de cuentos y muestre diferencias si se realizan cambios.
Nota
Esta prueba solo se puede ejecutar en Windows.
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示Las pruebas de extremo a extremo del navegador y libros de cuentos proporcionan pruebas de regresión visual. Actualmente, las pruebas VRT se realizan solo en Windows. Puede actualizar su captura de pantalla siguiendo los pasos a continuación:
Habilite las acciones de GitHub en la configuración del repositorio bifurcado.
En Acciones> General> Permisos de flujo de trabajo en la configuración del repositorio, seleccione permisos de lectura y escritura.
Confirme la cadena [update snapshots] en el mensaje de confirmación.
git commit -m " UIを変更 [update snapshots] "Una vez que se complete el flujo de trabajo de GitHub, se comprometerá la captura de pantalla actualizada.
Después de tirar, empuje una confirmación vacía y vuelva a ejecutar la prueba.
git commit --allow-empty -m " (テストを再実行) "
git pushNota
Puede volver a ejecutar la prueba automáticamente creando un token y agregándolo a los secretos.
ユーザー名/voicevox , y bajo permisos de repositorio, seleccione leer y escribir con contenido.
ユーザー名/voicevox .PUSH_TOKEN en el nombre, pegue la cadena arriba y agregue secretos. Solo se actualizarán aquellos que admiten el sistema operativo de la PC local.
npm run test:browser-e2e -- --update-snapshotsEjecute pruebas de extremo a extremo que requieren funcionalidad de electrones, incluido el inicio del motor y la terminación.
npm run test:electron-e2e
npm run test-watch:electron-e2e # 監視モードLa información de licencia para bibliotecas dependientes se genera automáticamente cuando se construye con flujo de trabajo GitHub. Puede generarlo con el siguiente comando:
# 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.jsonFormatear el código. Ejecutarlo antes de enviar una solicitud de extracción.
npm run fmtAnálisis estático de su código para evitar errores. Ejecutarlo antes de enviar una solicitud de extracción.
npm run lintUso errores tipográficos para verificar mis errores tipográficos.
npm run typos Puede verificar el tipo. Si hay algún archivo que debe excluirse de los juicios o verificaciones falsas, siga las instrucciones en el archivo de configuración para editar _typos.toml .
Verificación de tipo TypeScript.
npm run typecheckRealiza una verificación de gramática de Markdown.
npm run markdownlintHacer una verificación de gramática de shellscript. Para obtener instrucciones de instalación, consulte aquí.
shellcheck ./build/ * .shEjecute el siguiente comando mientras se ejecuta el motor de síntesis de discurso.
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 fmtPuede verificar e instalar una nueva versión utilizando el siguiente comando:
npx openapi-generator-cli version-manager list En desarrollo de construcciones, como los scripts de NPM, serve y electron:serve , SourCeMap se emite en el VITE utilizado para la compilación, por lo que se asigna el código fuente y el código de salida.
Copiar .vscode/launch.template.json para crear .vscode/launch.json y .vscode/tasks.template.json .vscode/tasks.json habilitar tareas que permitan la depuración ejecutando las compilaciones de desarrollo desde el código VS.
Es una licencia dual con LGPL V3 y licencias separadas que no requieren la publicación del código fuente. Si desea obtener una licencia separada, pregunte a jeho.
X Cuenta: @hiho_karuta