نظرًا لأن نموذج vocoder قد تغير، تحتاج إلى VRAM أكثر من ذي قبل، يُنصح بـ 12GB للاستنتاج السلس.
ندعم سطر الأوامر و HTTP API و WebUI للاستنتاج، يمكنك اختيار أي طريقة تفضلها.
أولاً تحتاج إلى تحميل أوزان النموذج:
hf download fishaudio/openaudio-s1-mini --local-dir checkpoints/openaudio-s1-mini
!!! note
إذا كنت تخطط لترك النموذج يختار نبرة صوت عشوائياً، يمكنك تخطي هذه الخطوة.
python fish_speech/models/dac/inference.py \
-i "ref_audio_name.wav" \
--checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth"
يجب أن تحصل على fake.npy و fake.wav.
python fish_speech/models/text2semantic/inference.py \
--text "النص الذي تريد تحويله" \
--prompt-text "النص المرجعي الخاص بك" \
--prompt-tokens "fake.npy" \
--compile
هذا الأمر سينشئ ملف codes_N في دليل العمل، حيث N هو عدد صحيح يبدأ من 0.
!!! note
قد ترغب في استخدام `--compile` لدمج نوى CUDA للاستنتاج الأسرع (~15 رمز/ثانية -> ~150 رمز/ثانية، على GPU RTX 4090).
وفقاً لذلك، إذا كنت لا تخطط لاستخدام التسريع، يمكنك التعليق على معامل `--compile`.
!!! info
بالنسبة لوحدات GPU التي لا تدعم bf16، قد تحتاج إلى استخدام معامل `--half`.
!!! warning "تحذير مستقبلي"
لقد احتفظنا بإمكانية الوصول إلى الواجهة من المسار الأصلي (tools/vqgan/inference.py)، لكن هذه الواجهة قد تُزال في الإصدارات اللاحقة، لذا يرجى تغيير الكود الخاص بك في أقرب وقت ممكن.
python fish_speech/models/dac/inference.py \
-i "codes_0.npy"
نوفر HTTP API للاستنتاج. يمكنك استخدام الأمر التالي لبدء الخادم:
python -m tools.api_server \
--listen 0.0.0.0:8080 \
--llama-checkpoint-path "checkpoints/openaudio-s1-mini" \
--decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" \
--decoder-config-name modded_dac_vq
إذا كنت تريد تسريع الاستنتاج، يمكنك إضافة معامل
--compile.
بعد ذلك، يمكنك عرض واختبار API على http://127.0.0.1:8080/.
يمكنك بدء WebUI باستخدام الأمر التالي:
python -m tools.run_webui \
--llama-checkpoint-path "checkpoints/openaudio-s1-mini" \
--decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" \
--decoder-config-name modded_dac_vq
أو ببساطة
python -m tools.run_webui
إذا كنت تريد تسريع الاستنتاج، يمكنك إضافة معامل
--compile.
!!! note
يمكنك حفظ ملف التسمية وملف الصوت المرجعي مسبقاً في مجلد `references` في الدليل الرئيسي (الذي تحتاج إلى إنشاؤه بنفسك)، بحيث يمكنك استدعاؤها مباشرة في WebUI.
!!! note
يمكنك استخدام متغيرات بيئة Gradio، مثل `GRADIO_SHARE`، `GRADIO_SERVER_PORT`، `GRADIO_SERVER_NAME` لتكوين WebUI.
استمتع!
يوفر OpenAudio حاويات Docker للاستدلال لكل من واجهة المستخدم الرسومية (WebUI) وخادم API. يمكنك استخدام أمر docker run مباشرة لبدء تشغيل الحاوية.
تحتاج إلى تحضير ما يلي:
# إنشاء مجلدات لأوزان النموذج والصوت المرجعي
mkdir -p checkpoints references
# تنزيل أوزان النموذج (إذا لم يتم ذلك بعد)
# hf download fishaudio/openaudio-s1-mini --local-dir checkpoints/openaudio-s1-mini
# بدء واجهة المستخدم الرسومية (WebUI) مع دعم CUDA (موصى به للحصول على أفضل أداء)
docker run -d \
--name fish-speech-webui \
--gpus all \
-p 7860:7860 \
-v ./checkpoints:/app/checkpoints \
-v ./references:/app/references \
-e COMPILE=1 \
fishaudio/fish-speech:latest-webui-cuda
# الاستدلال باستخدام CPU فقط (أبطأ، ولكنه يعمل بدون GPU)
docker run -d \
--name fish-speech-webui-cpu \
-p 7860:7860 \
-v ./checkpoints:/app/checkpoints \
-v ./references:/app/references \
fishaudio/fish-speech:latest-webui-cpu
# بدء خادم API مع دعم CUDA
docker run -d \
--name fish-speech-server \
--gpus all \
-p 8080:8080 \
-v ./checkpoints:/app/checkpoints \
-v ./references:/app/references \
-e COMPILE=1 \
fishaudio/fish-speech:latest-server-cuda
# الاستدلال باستخدام CPU فقط
docker run -d \
--name fish-speech-server-cpu \
-p 8080:8080 \
-v ./checkpoints:/app/checkpoints \
-v ./references:/app/references \
fishaudio/fish-speech:latest-server-cpu
يمكنك تخصيص حاويات Docker باستخدام متغيرات البيئة هذه:
COMPILE=1 - تمكين torch.compile لتسريع الاستدلال (حوالي 10 أضعاف، CUDA فقط)GRADIO_SERVER_NAME=0.0.0.0 - مضيف خادم واجهة المستخدم الرسومية (WebUI) (الافتراضي: 0.0.0.0)GRADIO_SERVER_PORT=7860 - منفذ خادم واجهة المستخدم الرسومية (WebUI) (الافتراضي: 7860)API_SERVER_NAME=0.0.0.0 - مضيف خادم API (الافتراضي: 0.0.0.0)API_SERVER_PORT=8080 - منفذ خادم API (الافتراضي: 8080)LLAMA_CHECKPOINT_PATH=checkpoints/openaudio-s1-mini - مسار أوزان النموذجDECODER_CHECKPOINT_PATH=checkpoints/openaudio-s1-mini/codec.pth - مسار أوزان وحدة فك التشفيرDECODER_CONFIG_NAME=modded_dac_vq - اسم تكوين وحدة فك التشفير
```
استخدام واجهة المستخدم الرسومية (WebUI) وخادم API هو نفسه الموضح في الدليل أعلاه.
استمتع!