؟ Aivisspeech: ai v oice i mitation s ystem - نص إلى برنامج الكلام
Aivisspeech هو برنامج تخليق الكلام الياباني يعتمد على واجهة المستخدم المحرر في Voicevox.
إنه يشتمل على محرك تخليق الكلام الياباني Aivisspeech Engine ، والذي يسمح لك بتوليد أصوات عاطفية بسهولة.
إذا كنت تتطلع إلى استخدام Aivisspeech ، فيرجى زيارة موقع Aivisspeech الرسمي.
تحتوي هذه الصفحة على معلومات للمطورين بشكل أساسي.
فيما يلي وثيقة للمستخدمين:
متوافق مع أجهزة الكمبيوتر مع Windows و MacOS.
لبدء Aivisspeech ، يحتاج جهاز الكمبيوتر الخاص بك إلى 3 جيجابايت على الأقل من الذاكرة المجانية (RAM).
ملحوظة
لم نتحقق بنشاط من العملية على أجهزة Mac مع وحدة المعالجة المركزية Intel.
إن Macs مع وحدة المعالجة المركزية Intel خارج الإنتاج بالفعل ، وأصبح من الصعب إعداد بيئة التحقق والبناء. نوصي باستخدام هذا المنتج على جهاز Mac باستخدام Silicon Apple قدر الإمكان.
تحذير
على نظام التشغيل Windows 10 ، نتحقق فقط من تشغيل الإصدار 22H2.
كانت هناك تقارير عن الحالات التي يتعطل فيها محرك Aivisspeech ويفشل في البدء في الإصدارات القديمة من Windows 10 التي ليس لها دعم.
من منظور الأمان ، نوصي بشدة باستخدام بيئات Windows 10 فقط إلى الحد الأدنى من الإصدار 22H2 قبل استخدام الخدمة.
يدعم محرك Aivisspeech ، المدمج في 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 for onn x ) هو تنسيق ملف مفتوح لنماذج توليف الكلام AI التي تجمع بين النماذج التي تم تدريبها مسبقًا ، ومقاييس النمط ، ومواقف النمط ، وبيانات مكبر الصوت (الأسماء ، والمشاهدات العامة ، والرسم ، أو العينات الصوتية ، إلخ.) في ملف واحد .
لمزيد من المعلومات حول مواصفات AIVM وملفات AIVM/AIVMX ، يرجى الرجوع إلى مواصفات AIVM التي تم تطويرها في مشروع AIVIS.
ملحوظة
"AIVM" هو أيضًا مصطلح عام لكل من مواصفات تنسيق AIVM/AIVMX ومواصفات البيانات الوصفية.
على وجه التحديد ، ملف AIVM هو ملف نموذج بتنسيق "Safetensors مع Metadata AIVM" ، وملف AIVMX هو ملف نموذج في "تنسيق ONNX مع Metadata AIVM".
يشير "بيانات التعريف AIVM" إلى العديد من البيانات الوصفية المرتبطة بنموذج مدرب كما هو محدد في مواصفات AIVM.
مهم
يعد محرك Aivisspeech أيضًا تنفيذًا مرجعيًا لمواصفات AIVM ، ولكنه مصمم عمداً لدعم ملفات AIVMX فقط.
هذا يزيل الاعتماد على Pytorch ، ويقلل من حجم التثبيت ويوفر استنتاجًا سريعًا لمجتمع وحدة المعالجة المركزية مع وقت تشغيل ONNX.
نصيحة
يتيح لك AIVM Generator إنشاء ملفات AIVM/AIVMX من نماذج توليف الكلام الحالية وتحرير بيانات بيانات AIVM/AIVMX الحالية!
تتوفر ملفات AIVMX للبنية النموذجية التالية:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) ملحوظة
تتيح لك مواصفات بيانات التعريف AIVM تحديد مكبرات الصوت متعددة اللغات ، ولكن محرك Aivisspeech ، مثل Voicevox Engine ، يدعم فقط تخليق الكلام الياباني.
لذلك ، حتى لو كنت تستخدم نموذج تخليق الكلام الذي يدعم اللغة الإنجليزية أو الصينية ، فلا يمكن تنفيذ تخليق الكلام بخلاف اليابانيين.
ضع ملفات AIVMX في المجلدات التالية لكل نظام تشغيل:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models سيتم عرض مسار المجلد الفعلي Models directory: في السجلات مباشرة بعد بدء محرك Aivisspeech.
نصيحة
عند استخدام Aivisspeech ، يمكنك بسهولة إضافة نماذج تخليق الكلام من شاشة واجهة المستخدم Aivisspeech!
بالنسبة للمستخدمين النهائيين ، نوصيك بإضافة نموذج تخليق الكلام باستخدام هذه الطريقة.
مهم
مجلد النشر لإصدار التطوير (إذا كنت تقوم بتشغيل محرك 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من التراخيص المزدوجة لمحرك Base Voicevox/Voicevox ، سيتم ورث LGPL-3.0 فقط بشكل مستقل.
ما يلي والمستندات/ المستندات التالية تحمل مستند Voicevox الأصلي دون تعديل. ليس من الممكن أن تنطبق محتويات هذه المستندات أيضًا على Aivisspeech.
هذا هو المحرر لـ Voicevox.
(المحرك هو محرك Voicevox ، والرمي هو Voicevox Core ، ويمكن العثور على الهيكل الكلي هنا.)
هذه صفحة تطوير. للحصول على معلومات حول كيفية استخدامه ، يرجى زيارة موقع Voicevox الرسمي.
يرحب مشروع Voicevox بالمشاركين المهتمين. لدينا دليل يشرح إجراء المساهمة.
عندما تفكر في المساهمات ، قد تفكر في إنشاء برنامج ، ولكن هناك طرق مختلفة للمشاركة ، مثل كتابة وثيقة ، وإنشاء اختبارات ، والمشاركة في المناقشات في مقترحات التحسينات. كما نقدم المهام التي ترحب بالمبتدئين ، لذلك نتطلع إلى مشاركتك.
يستخدم محرري Voicevox الإلكترون ، TypeScript ، Vue ، Vuex ، وأكثر من ذلك ، مما يجعل من الصعب فهم الهيكل الكلي.
سنقدم الهيكل في كيفية السير في الرمز ، لذلك نأمل أن يساعدك في تطويره.
عند إنشاء طلب سحب لحل مشكلة ، يرجى إما إخبار المشكلة بأنك بدأت العمل عليها أو إنشاء طلب سحب مسودة أولاً لتجنب العمل على نفس المشكلة مثل شخص آخر.
يتم إجراء مناقشات التنمية والدردشات على خادم Discord غير الرسمي Voicevox. لا تتردد في الانضمام إلينا.
يرجى الرجوع إلى سياسة تصميم UX/UI.
يرجى تثبيت إصدار Node.js المدرجة في .Node-version.
تجعل أدوات إدارة Node.js (مثل NVS و Volta) من السهل تثبيت Node.js.
بعد تثبيت node.js ، شوك هذا المستودع و git clone .
قم بتشغيل الأمر التالي لتثبيت وتحديث المكتبات التابعة:
npm ci copy .env.production لإنشاء .env ، وتحديد محرك VV/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 /resources/macos/vv-engine/run.
بالنسبة إلى Linux ، حدد الأمر vv-engine/run المدرج في إصدار TAR.GZ المتاح من الإصدارات. بالنسبة لإصدار appimage ، يمكنك تركيب نظام الملفات باستخدام $ /path/to/VOICEVOX.AppImage --appimage-mount .
إذا كنت تقوم بتشغيل خادم API للمحرك بشكل منفصل عن تشغيل محرر VoiceVox ، فلن تحتاج إلى تحديد executionFilePath ، ولكن بدلاً من ذلك ، قم بتعيين executionEnabled على false . ينطبق هذا حتى لو كنت تقوم بتشغيل إصدار المنتج من Voicevox.
إذا كنت ترغب في تغيير نقطة نهاية الوجهة من واجهة برمجة تطبيقات المحرك ، فقم بتغيير 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.
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
ابدأ محرك تخليق الكلام المنفصل وقم بتشغيل ما يلي للوصول إلى المضيف المحلي المعروض:
npm run browser:serve بالإضافة إلى ذلك ، تم نشر نتائج الإنشاء للفرع الرئيسي في صفحات Voicevox/Preview.
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
تحتاج الآن إلى بدء محرك تخليق الكلام على جهاز الكمبيوتر المحلي.
npm run electron:build يمكنك البناء عن طريق تشغيل الإجراءات في المستودع الذي تربطه وإطلاقه build.yml سيتم تحميل النوبات لإصدارها.
قم بتشغيل الاختبارات تحت ./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.browser.spec.ts : بيئة المتصفح (الكروم).spec.ts : بيئة المتصفح (محاكاة باستخدام السعادة السعيدة)قم بتشغيل اختبارات النهاية إلى النهاية مثل واجهة المستخدم وتوليف الكلام الذي لا يتطلب وظائف الإلكترون.
ملحوظة
يتم الآن إجراء الاختبارات التي تعيد كتابة الإعدادات لبعض المحركات فقط على 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] في رسالة الالتزام.
git commit -m " UIを変更 [update snapshots] "بمجرد اكتمال سير عمل GitHub ، سيتم ارتكاب لقطة الشاشة المحدثة.
بعد السحب ، اضغط على التزام فارغ وقم بإجراء الاختبار مرة أخرى.
git commit --allow-empty -m " (テストを再実行) "
git pushملحوظة
يمكنك إعادة تشغيل الاختبار تلقائيًا عن طريق إنشاء رمز وإضافته إلى أسرار.
ユーザー名/voicevox ، وتحت أذونات المستودع ، حدد القراءة والكتابة تحت المحتويات.
ユーザー名/voicevox .PUSH_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يمكنني استخدام الأخطاء المطبعية للتحقق من الأخطاء المطبعية.
npm run typos يمكنك التحقق من النوع. إذا كان هناك أي ملفات يجب استبعادها من أحكام أو شيكات خاطئة ، فيرجى اتباع الإرشادات الواردة في ملف التكوين إلى تحرير _typos.toml .
فحص نوع TypeScript.
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 لإنشاء .vscode/launch.json و .vscode/tasks.template.json .vscode/tasks.json المهام التي تسمح بالتصحيح عن طريق تشغيل عمليات تطوير VS.
إنه ترخيص مزدوج مع LGPL V3 وتراخيص منفصلة لا تتطلب نشر رمز المصدر. إذا كنت ترغب في الحصول على رخصة منفصلة ، فيرجى سؤال Heho.
حساب x: hiho_karuta