? aivisspeech: ai v oice i的系统- 文本到语音软件
AivissPeech是基于VoiceVox的编辑UI的日本语音合成软件。
它结合了日本语音合成引擎Aivisspeech引擎,该引擎使您可以轻松地产生情感声音。
如果您想使用AivissPeech,请访问Aivisspeech官方网站。
此页面包含主要针对开发人员的信息。
以下是用户的文档:
与Windows和MacOS兼容的PC。
要启动AivissPeech,您的PC至少需要3GB的免费内存(RAM)。
笔记
我们尚未通过Intel CPU积极验证Mac上的操作。
具有Intel CPU的Mac已经停产,准备验证和建立环境变得越来越困难。我们建议尽可能多地在带有苹果硅的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语音合成模型的开放文件格式,该模型结合了预训练的模型,超参数,样式矢量,样式矢量,扬声器,扬声器,扬声器元数据(名称,概述,概述,概述,许可,ICONS,ICONS,ICONS,ICONS,ICONS,ICONS,语音样本等) 。
有关AIVM规格和AIVM/AIVMX文件的更多信息,请参阅AIVIS项目中开发的AIVM规格。
笔记
“ AIVM”也是AIVM/AIVMX格式规格和元数据规范的一般术语。
具体来说,AIVM文件是“添加了具有AIVM元数据的SafetEnsors格式”中的模型文件,并且AIVMX文件是“添加了AIVM Metadata”的“ ONNX格式”中的模型文件。
“ AIVM元数据”是指与AIVM规范中定义的训练模型相关的各种元数据。
重要的
Aivisspeech引擎也是AIVM规范的参考实现,但故意设计仅用于支持AIVMX文件。
这消除了对Pytorch的依赖,减少了安装大小,并提供了使用ONNX运行时快速推断。
提示
AIVM Generator允许您从现有语音合成模型中生成AIVM/AIVMX文件,并编辑现有AIVM/AIVMX文件的元数据!
可用于以下模型体系结构的AIVMX文件:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) 笔记
AIVM元数据规范使您可以定义多语言扬声器,但是Aivisspeech引擎(如VoiceVox引擎)仅支持日本语音综合。
因此,即使您使用支持英语或中文的语音综合模型,也无法执行日语以外的语音综合。
将AIVMX文件放在每个OS的以下文件夹中:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models实际的文件夹路径将显示为Models directory:启动Aivisspeech引擎后立即在日志中显示。
提示
使用AivissPeech时,您可以轻松地从AivissPeech UI屏幕上添加语音合成模型!
对于最终用户,我们建议您使用此方法添加语音综合模型。
重要的
开发版本的部署文件夹(如果您正在运行Aivisspeech引擎,而不是使用Pyinstaller构建的引擎)不是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:generate在基本VoiceVox/VoiceVox引擎的双重许可中,只能独立继承LGPL-3.0。
以下和文档/以下文档随附了原始的VoiceVox文档,而无需修改。不能保证这些文档的内容也适用于Aivisspeech。
这是VoiceVox的编辑。
(引擎是VoiceVox发动机,核心是VoiceVox Core,可以在此处找到整体结构。)
这是一个开发页面。有关如何使用它的信息,请访问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 ,并在VITE_DEFAULT_ENGINE_INFOS中的executionFilePath中的fodicVox的vv-engine/run.exe中指定vv-engine/run.exe在Voice版本的Voice版本的VICE VILEPATH中。
如果您尚未更改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命令。对于附属版本,您可以使用$ /path/to/VOICEVOX.AppImage --appimage-mount安装文件系统。
如果您不运行EnoveVox编辑器分开运行引擎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
启动单独的语音合成引擎并运行以下内容以访问显示的Localhost:
npm run browser:serve此外,主分支的构建结果已在VoiceVox/Preview页面中部署。
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
现在,您需要在本地PC上启动语音合成引擎。
npm run electron:build您可以通过打开workflow_dispatch的构造和启动build.yml的存储库中的操作来构建。可交付成果将上传到发布。
在./tests/unit/和Storybook测试下运行测试。
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 :浏览器环境(铬).spec.ts :浏览器环境(使用Happy-Dom仿真)运行端到端测试,例如UI和语音合成,不需要电子功能。
笔记
现在仅在CI(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 を表示您还可以生成测试模式,因为您使用剧作家。在浏览器版本运行时运行以下命令:
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630有关更多信息,请参见《剧作》文档中的测试生成器。
比较Storybook组件的屏幕截图,并在进行任何更改时显示差异。
笔记
该测试只能在Windows上运行。
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示浏览器端到端测试和故事书提供视觉回归测试。当前,VRT测试仅在Windows上执行。您可以通过遵循以下步骤来更新屏幕截图:
在分叉的存储库设置中启用github操作。
在“操作”>“常规”>“通用”>“工作流”权限中,在存储库设置中,选择“读取”权限。
在提交消息中提交字符串[update snapshots] 。
git commit -m " UIを変更 [update snapshots] "GitHub工作流完成后,将投入更新的屏幕截图。
拉动后,推动空提交并再次进行测试。
git commit --allow-empty -m " (テストを再実行) "
git push笔记
您可以通过创建令牌并将其添加到秘密来自动重新运行测试。
ユーザー名/voicevox访问权限,然后在存储库权限下,在内容下选择“读写”。
ユーザー名/voicevox存储库中的新存储库秘密。PUSH_TOKEN ,粘贴上面的字符串并添加秘密。 只有支持本地PC的操作系统的人才会进行更新。
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 。
打字稿类型检查。
npm run typecheck执行降级语法检查。
npm run markdownlint进行ShellScript语法检查。有关安装说明,请参阅此处。
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 tor创建.vscode/launch.json and .vscode/tasks.template.json .vscode/tasks.json任务允许通过从VS代码运行开发构建来调试的任务。
它是具有LGPL V3的双重许可,并且不需要出版源代码的单独许可证。如果您想获得单独的许可证,请询问Heho。
X帐户:@hiho_karuta