? 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