- aivisspeech: ai v oice i mitation s ystem - text to Software Software
Aivisspeech เป็นซอฟต์แวร์การสังเคราะห์คำพูดของญี่ปุ่นตาม UI ของ Editor ของ Voicevox
มันรวมเอาเครื่องยนต์ AIVISSPEECH ANGEN AINGE ของญี่ปุ่นซึ่งช่วยให้คุณสามารถสร้างเสียงทางอารมณ์ได้อย่างง่ายดาย
หากคุณต้องการใช้ Aivisspeech กรุณาเยี่ยมชมเว็บไซต์ทางการของ Aivisspeech
หน้านี้มีข้อมูลส่วนใหญ่สำหรับนักพัฒนา
ด้านล่างเป็นเอกสารสำหรับผู้ใช้:
เข้ากันได้กับพีซีกับ Windows และ MacOS
ในการเริ่มต้น aivisspeech พีซีของคุณต้องการหน่วยความจำฟรีอย่างน้อย 3GB (RAM)
บันทึก
เรายังไม่ได้ตรวจสอบการดำเนินการบน MACs ด้วย Intel CPU
Macs ที่มีซีพียู Intel ไม่ได้ผลิตอยู่แล้วและมันก็ยากที่จะเตรียมการตรวจสอบและสร้างสภาพแวดล้อม เราขอแนะนำให้ใช้ผลิตภัณฑ์นี้บน Mac กับ Apple Silicon ให้มากที่สุด
คำเตือน
บน Windows 10 เราจะตรวจสอบการทำงานของเวอร์ชัน 22H2 เท่านั้น
มีรายงานกรณีที่เครื่องยนต์ Aivisspeech ขัดข้องและไม่สามารถเริ่มต้นใน Windows 10 รุ่นเก่าที่ไม่มีการสนับสนุน
จากมุมมองด้านความปลอดภัยเราขอแนะนำอย่างยิ่งให้คุณใช้สภาพแวดล้อมของ Windows 10 จะอัปเดตเฉพาะรุ่นขั้นต่ำ 22H2 ก่อนที่จะใช้บริการ
เอ็นจิน AIVISSPEEK ที่สร้างขึ้นใน AIVISSPEECH รองรับไฟล์โมเดลการสังเคราะห์คำพูดในรูปแบบ AIVMX ( AI VIS V OICE M ODEL สำหรับ ONN X ) ( .aivmx ) รูปแบบ
aivm ( ai vis v oice m odel) / aivmx ( ai vis v oice m odel สำหรับ onn x ) เป็นรูปแบบไฟล์เปิดสำหรับโมเดลการสังเคราะห์คำพูด AI ที่รวมโมเดลที่ผ่านการฝึกอบรมมาก่อน hyperparameters สไตล์เวกเตอร์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดของ AIVM และไฟล์ AIVM/AIVMX โปรดดู ข้อมูลจำเพาะ AIVM ที่พัฒนาขึ้นในโครงการ AIVIS
บันทึก
"AIVM" ยังเป็นคำทั่วไปสำหรับข้อกำหนดรูปแบบ AIVM/AIVMX และข้อกำหนดข้อมูลเมตา
โดยเฉพาะไฟล์ AIVM เป็นไฟล์โมเดลใน "Safetensors Format with AIVM Metadata ที่เพิ่มเข้ามา" และไฟล์ AIVMX เป็นไฟล์รุ่นใน "รูปแบบ ONNX พร้อม AIVM Metadata ที่เพิ่มเข้ามา"
"AIVM Metadata" หมายถึงข้อมูลเมตาต่าง ๆ ที่เชื่อมโยงกับแบบจำลองที่ผ่านการฝึกอบรมตามที่กำหนดไว้ในข้อกำหนด AIVM
สำคัญ
เอ็นจิน AIVISSPEECH ยังเป็นการใช้ข้อมูลอ้างอิงของข้อกำหนด AIVM แต่ได้รับการออกแบบมาโดยเจตนาเพื่อรองรับไฟล์ AIVMX เท่านั้น
สิ่งนี้จะช่วยลดการพึ่งพา pytorch ลดขนาดการติดตั้งและให้การอนุมาน CPU อย่างรวดเร็วด้วยรันไทม์ ONNX
เคล็ดลับ
เครื่องกำเนิด AIVM ช่วยให้คุณสามารถสร้างไฟล์ AIVM/AIVMX จากโมเดลการสังเคราะห์คำพูดที่มีอยู่และแก้ไขข้อมูลเมตาของไฟล์ AIVM/AIVMX ที่มีอยู่!
ไฟล์ AIVMX สำหรับสถาปัตยกรรมรุ่นต่อไปนี้มีอยู่:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) บันทึก
ข้อกำหนดข้อมูลเมตาของ AIVM ช่วยให้คุณสามารถกำหนดลำโพงหลายภาษาได้ แต่เครื่องยนต์ AIVISSPEEK เช่นเครื่องยนต์ VOICEVOX รองรับการสังเคราะห์คำพูดของญี่ปุ่นเท่านั้น
ดังนั้นแม้ว่าคุณจะใช้รูปแบบการสังเคราะห์คำพูดที่สนับสนุนภาษาอังกฤษหรือภาษาจีนการสังเคราะห์คำพูดนอกเหนือจากภาษาญี่ปุ่นไม่สามารถทำได้
วางไฟล์ AIVMX ในโฟลเดอร์ต่อไปนี้สำหรับแต่ละระบบปฏิบัติการ:
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 ใช้อิเล็กตรอน, typenscript, vue, vuex และอื่น ๆ ทำให้โครงสร้างโดยรวมเข้าใจยาก
เราจะแนะนำโครงสร้างในวิธีการเดินรหัสดังนั้นเราหวังว่ามันจะช่วยให้คุณพัฒนาได้
เมื่อสร้างคำขอดึงเพื่อแก้ไขปัญหาโปรดบอกปัญหาที่คุณได้เริ่มทำงานหรือสร้างคำขอดึงแบบร่างก่อนเพื่อหลีกเลี่ยงการทำงานกับปัญหาเดียวกันกับคนอื่น
การอภิปรายการพัฒนาและการแชทจะจัดขึ้นบนเซิร์ฟเวอร์ Discord ที่ไม่เป็นทางการของ Voicevox โปรดอย่าลังเลที่จะเข้าร่วมกับเรา
โปรดดูนโยบายการออกแบบ UX/UI
โปรดติดตั้งเวอร์ชันของ node.js ที่แสดงใน. node-version
เครื่องมือการจัดการ node.js (เช่น NVS และ Volta) ทำให้ง่ายต่อการติดตั้งและสลับ Node.js โดยอัตโนมัติโดยอัตโนมัติ
หลังจากติดตั้ง node.js ให้ส้อมที่เก็บนี้และ git clone มัน
เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งและอัปเดตไลบรารีที่ขึ้นอยู่กับ:
npm ci คัดลอก .env.production เพื่อสร้าง .env และระบุ VV-engine/run.exe ในเวอร์ชันผลิตภัณฑ์ของ Voicevox ใน executionFilePath ใน VITE_DEFAULT_ENGINE_INFOS ไปยัง vv-engine/run.exe ในเวอร์ชันผลิตภัณฑ์ของ VoICEVOX
หากคุณยังไม่ได้เปลี่ยนตำแหน่งการติดตั้งบน Windows ให้ระบุ C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe
โปรดทราบว่าตัวคั่นพา ธ /
หากคุณใช้ VOICEVOX.app สำหรับ macOS โปรดระบุ /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run
สำหรับ Linux ให้ระบุคำสั่ง vv-engine/run ที่รวมอยู่ในเวอร์ชัน TAR.GZ ที่มีให้จากรุ่น สำหรับเวอร์ชัน AppImage คุณสามารถติดตั้งระบบไฟล์โดยใช้ $ /path/to/VOICEVOX.AppImage --appimage-mount
หากคุณใช้งานเซิร์ฟเวอร์เอ็นจิ้น API แยกต่างหากจากการเรียกใช้โปรแกรมแก้ไข VOICEVOX คุณไม่จำเป็นต้องระบุ executionFilePath แต่ให้ตั้งค่า executionEnabled เป็น false สิ่งนี้ใช้ได้แม้ว่าคุณจะเรียกใช้เวอร์ชันผลิตภัณฑ์ของ VoiceVox
หากคุณต้องการเปลี่ยนจุดสิ้นสุดปลายทางของ API เครื่องยนต์ให้เปลี่ยน host ใน VITE_DEFAULT_ENGINE_INFOS
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode productionที่เก็บเครื่องยนต์สังเคราะห์เสียงอยู่ที่นี่: https://github.com/voicevox/voicevox_engine
คุณสามารถพัฒนาส่วนประกอบโดยใช้หนังสือนิทาน
npm run storybook คุณสามารถดูหนังสือนิทานสำหรับสาขาหลักได้จาก VoiceVox/Preview-Page
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
เริ่มเครื่องยนต์การสังเคราะห์คำพูดแยกต่างหากและเรียกใช้สิ่งต่อไปนี้เพื่อเข้าถึง LocalHost ที่แสดง:
npm run browser:serve นอกจากนี้ผลการสร้างสำหรับสาขาหลักได้รับการปรับใช้ในหน้า VoiceVox/Preview Page
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
ตอนนี้คุณต้องเริ่มต้นเครื่องมือการสังเคราะห์คำพูดบนพีซีในพื้นที่ของคุณ
npm run electron:build คุณสามารถสร้างโดยเปิดการกระทำในที่เก็บข้อมูลที่คุณแยกและเปิด build.yml ด้วยเวิร์กโฟลว์ _dispatch การส่งมอบจะถูกอัปโหลดไปยังรีลีส
เรียกใช้การทดสอบภายใต้ ./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 environment.browser.spec.ts : สภาพแวดล้อมของเบราว์เซอร์ (โครเมียม).spec.ts : สภาพแวดล้อมของเบราว์เซอร์ (emulatory โดยใช้ 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สำหรับข้อมูลเพิ่มเติมดูที่เครื่องกำเนิดการทดสอบในเอกสารเขียนบทละคร
เปรียบเทียบภาพหน้าจอของส่วนประกอบนิทานและแสดงความแตกต่างหากมีการเปลี่ยนแปลงใด ๆ
บันทึก
การทดสอบนี้สามารถทำงานบน 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] ในข้อความ commit
git commit -m " UIを変更 [update snapshots] "เมื่อเวิร์กโฟลว์ GitHub เสร็จสมบูรณ์ภาพหน้าจอที่อัปเดตจะได้รับการปรับปรุง
หลังจากดึงแล้วให้ผลักดันการกระทำที่ว่างเปล่าและทำการทดสอบอีกครั้ง
git commit --allow-empty -m " (テストを再実行) "
git pushบันทึก
คุณสามารถรันการทดสอบอีกครั้งโดยการสร้างโทเค็นและเพิ่มเป็นความลับ
ユーザー名/voicevox และภายใต้สิทธิ์ที่เก็บเลือกอ่านและเขียนภายใต้เนื้อหา
ユーザー名/voicevoxPUSH_TOKEN ในชื่อวางสตริงด้านบนและเพิ่มความลับ เฉพาะผู้ที่รองรับระบบปฏิบัติการของพีซีในเครื่องจะได้รับการอัปเดต
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ฉันใช้ TYPOS เพื่อตรวจสอบความผิดพลาดของฉัน
npm run typos คุณสามารถตรวจสอบประเภท หากมีไฟล์ใด ๆ ที่ควรแยกออกจากการตัดสินหรือการตรวจสอบที่ผิดพลาดโปรดทำตามคำแนะนำในไฟล์การกำหนดค่าเพื่อแก้ไข _typos.toml
การตรวจสอบประเภท TypeScript
npm run typecheckทำการตรวจสอบไวยากรณ์ Markdown
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 เพื่อสร้าง .vscode/launch.json และ .vscode/tasks.template.json .vscode/tasks.json เปิดใช้งานงานที่อนุญาตให้ทำการดีบักโดยการเรียกใช้การพัฒนาสร้างจากรหัส VS
มันเป็นใบอนุญาตคู่ที่มี LGPL V3 และใบอนุญาตแยกต่างหากที่ไม่ต้องการการตีพิมพ์ซอร์สโค้ด หากคุณต้องการรับใบอนุญาตแยกต่างหากโปรดถาม heho
บัญชี x: @hiho_karuta