هذا المشروع مستوحى من Silero-api-Server ويستخدم XTTSV2.
تم إنشاء هذا الخادم لـ SillyTavern ولكن يمكنك استخدامه لاحتياجاتك
لا تتردد في إنشاء PRS أو استخدام الرمز لتلبية احتياجاتك الخاصة
هناك إصدار Google Collab يمكنك استخدامه إذا كان جهاز الكمبيوتر الخاص بك ضعيفًا.
إذا كنت تبحث عن خيار لـ XTTs العادية ، فاستخدم انظر هنا https://github.com/daswer123/xtts-webui
في الآونة الأخيرة ، ليس لدي سوى القليل من الوقت للقيام بهذا المشروع ، لذلك أنصحك بالتعرف على مشروع مماثل
يمكنك تتبع جميع التغييرات في صفحة الإصدار
تثبيت بسيط:
pip install xtts-api-serverسيؤدي ذلك إلى تثبيت جميع التبعيات اللازمة ، بما في ذلك إصدار دعم وحدة المعالجة المركزية فقط من Pytorch
أوصي بتثبيت إصدار GPU لتحسين سرعة المعالجة (ما يصل إلى 3 مرات أسرع)
python -m venv venv
venv S cripts a ctivate
pip install xtts-api-server
pip install torch==2.1.1+cu118 torchaudio==2.1.1+cu118 --index-url https://download.pytorch.org/whl/cu118sudo apt install -y python3-dev python3-venv portaudio19-dev
python -m venv venv
source venv b in a ctivate
pip install xtts-api-server
pip install torch==2.1.1+cu118 torchaudio==2.1.1+cu118 --index-url https://download.pytorch.org/whl/cu118 # Clone REPO
git clone https://github.com/daswer123/xtts-api-server
cd xtts-api-server
# Create virtual env
python -m venv venv
venv/scripts/activate or source venv/bin/activate
# Install deps
pip install -r requirements.txt
pip install torch==2.1.1+cu118 torchaudio==2.1.1+cu118 --index-url https://download.pytorch.org/whl/cu118
# Launch server
python -m xtts_api_server
يتم توفير Dockerfile لإنشاء صورة Docker ، ويتم توفير ملف docker.yml لتشغيل الخادم مع Docker تأليف كخدمة.
يمكنك بناء الصورة مع الأمر التالي:
mkdir xtts-api-server
cd xtts-api-server
docker run -d daswer123/xtts-api-server
أو
cd docker
docker compose buildثم يمكنك تشغيل الخادم مع الأمر التالي:
docker compose up # or with -d to run in background سيتم تشغيل python -m xtts_api_server على IP الافتراضي والمنفذ (LocalHost: 8020)
استخدم علامة --deepspeed للعلم لمعالجة النتيجة بسرعة (تسارع 2-3x)
usage: xtts_api_server [-h] [-hs HOST] [-p PORT] [-sf SPEAKER_FOLDER] [-o OUTPUT] [-t TUNNEL_URL] [-ms MODEL_SOURCE] [--listen] [--use-cache] [--lowvram] [--deepspeed] [--streaming-mode] [--stream-play-sync]
Run XTTSv2 within a FastAPI application
options:
-h, --help show this help message and exit
-hs HOST, --host HOST
-p PORT, --port PORT
-d DEVICE, --device DEVICE `cpu` or `cuda`, you can specify which video card to use, for example, `cuda:0`
-sf SPEAKER_FOLDER, --speaker-folder The folder where you get the samples for tts
-o OUTPUT, --output Output folder
-mf MODELS_FOLDERS, --model-folder Folder where models for XTTS will be stored, finetuned models should be stored in this folder
-t TUNNEL_URL, --tunnel URL of tunnel used (e.g: ngrok, localtunnel)
-ms MODEL_SOURCE, --model-source ["api","apiManual","local"]
-v MODEL_VERSION, --version You can download the official model or your own model, official version you can find [here](https://huggingface.co/coqui/XTTS-v2/tree/main) the model version name is the same as the branch name [v2.0.2,v2.0.3, main] etc. Or you can load your model, just put model in models folder
--listen Allows the server to be used outside the local computer, similar to -hs 0.0.0.0
--use-cache Enables caching of results, your results will be saved and if there will be a repeated request, you will get a file instead of generation
--lowvram The mode in which the model will be stored in RAM and when the processing will move to VRAM, the difference in speed is small
--deepspeed allows you to speed up processing by several times, automatically downloads the necessary libraries
--streaming-mode Enables streaming mode, currently has certain limitations, as described below.
--streaming-mode-improve Enables streaming mode, includes an improved streaming mode that consumes 2gb more VRAM and uses a better tokenizer and more context.
--stream-play-sync Additional flag for streaming mod that allows you to play all audio one at a time without interruption
يمكنك تحديد المسار إلى الملف كنص ، ثم يتم التعبير عن عدد المسار والملف
يمكنك تحميل النموذج الخاص بك ، لذلك تحتاج إلى إنشاء مجلد في النماذج وتحميل النموذج مع التكوينات ، يجب أن تكون الملاحظة في المجلد 3 ملفات config.json vocab.json model.pth
إذا كنت تريد أن يستمع مضيفك ، فاستخدم -HS 0.0.0.0
هناك حاجة إلى علامة -T أو -Tunnel بحيث عندما تحصل على مكبرات صوت عبر الحصول على الرابط الصحيح لسماع المعاينة. مزيد من المعلومات هنا
يحدد المصور النموذجي التنسيق الذي تريد استخدامه XTTS:
local - تحميل الإصدار 2.0.2 افتراضيًا ، ولكن يمكنك تحديد الإصدار عبر علامة -V ، يحفظ النموذج في مجلد النماذج ويستخدم XttsConfig inference .apiManual - تحميل الإصدار 2.0.2 افتراضيًا ، ولكن يمكنك تحديد الإصدار عبر علامة -V ، يحفظ النموذج في مجلد النماذج ويستخدم وظيفة tts_to_file من TTS APIapi - سيتم تحميل أحدث إصدار من النموذج. العلم -v لن يعمل.يمكن العثور على جميع إصدارات طراز XTTSV2 هنا ، اسم إصدار النموذج هو نفس اسم الفرع [v2.0.2 ، v2.0.3 ، main] إلخ.
في المرة الأولى التي تقوم فيها بتشغيل أو إنشاء ، قد تحتاج إلى تأكيد أنك توافق على استخدام XTTS.
يتيح لك وضع الدفق الحصول على الصوت وتشغيله على الفور تقريبًا. ومع ذلك ، لديها عدد من القيود.
يمكنك أن ترى كيف يعمل هذا الوضع هنا وهنا
الآن ، حول القيود
tts_to_file فقط tts_to_audio ويعود ثانية واحدة من الصمت. يمكنك تحديد إصدار نموذج XTTS باستخدام علامة -v .
يعد تحسين وضع البث المحسن للغات المعقدة مثل الصينية أو اليابانية أو الهندية أو إذا كنت تريد أن يأخذ محرك اللغة المزيد من المعلومات عند معالجة الكلام.
-يتيح لك علامة --stream-play-sync تشغيل جميع الرسائل بترتيب قائمة الانتظار ، مفيدًا إذا كنت تستخدم دردشات المجموعة. في SillyTavern ، تحتاج إلى إيقاف تشغيل البث بشكل صحيح
يمكن الوصول إلى مستندات API من http: // localhost: 8020/docs
بشكل افتراضي ، يجب أن يظهر مجلد speakers في المجلد ، فأنت بحاجة إلى وضع ملف WAV هناك مع عينة الصوت ، يمكنك أيضًا إنشاء مجلد ووضع العديد من العينات الصوتية ، وهذا سيعطي نتائج أكثر دقة
يمكنك تغيير المجلدات لمكبرات الصوت والمجلد للإخراج عبر API.
المنشور التالي هو اقتباس من قبل المستخدم 1276 من Reddit
بعض الاقتراحات حول تقديم عينات جيدة
احتفظ بهم حوالي 7-9 ثوان. أطول ليس بالضرورة أفضل.
تأكد من أن الصوت قد تم أخذ عينات منه إلى ملف WAV أحادي ، 22050 هرتز 16 بت. سوف تبطئ المعالجة بمقدار ٪ كبيرة ويبدو أنه يسبب نتائج رديئة الجودة خلاف ذلك (بناءً على بعض الاختبارات). 24000Hz هو الجودة التي يخرجها على أي حال!
باستخدام أحدث إصدار من Audacity ، حدد مقطعك ومساراتك> Resample إلى 22050 هرتز ، ثم المسارات> Mix> Stereo إلى Mono. ثم ملف> تصدير الصوت ، وحفظه على أنه WAV 22050Hz
إذا كنت بحاجة إلى القيام بأي تنظيف صوتي ، فقم بذلك قبل ضغطه على الإعدادات أعلاه (Mono ، 22050Hz ، 16 بت).
تأكد من أن المقطع الذي تستخدمه لا يحتوي على أصوات خلفية أو موسيقى على مثل الكثير من الأفلام التي تحتوي على موسيقى هادئة عندما يتحدث العديد من الممثلين. سيكون للصوت الجودة السيئ Hiss الذي يحتاج إلى إزالة. سوف تلتقط الذكاء الاصطناعى هذا ، حتى لو لم نفعل ذلك ، وإلى حد ما ، نستخدمه في الصوت المحاكاة إلى حد ما ، لذلك فإن الصوت النظيف هو المفتاح!
حاول اجعل مقطعك واحدًا من الكلام المتدفق اللطيف ، مثل ملفات المثال المضمنة. لا تتوقف مؤقتًا أو فجوات أو أصوات أخرى. ويفضل أن الشخص الذي تحاول نسخه سيظهر نطاقًا صوتيًا صغيرًا. مثال على الملفات هنا
تأكد من أن المقطع لا يبدأ أو ينتهي بأصوات التنفس (التنفس/الخارج وما إلى ذلك).
قد يؤدي استخدام مقاطع الصوت التي تم إنشاؤها من الذكاء الاصطناعي إلى تقديم أصوات غير مرغوب فيها لأنها بالفعل نسخة/محاكاة للصوت ، على الرغم من ذلك ، فإن هذا سيحتاج إلى اختبار.