استنساخ صوت بدقة 48 كيلوهرتز
مع VoxCPM2.
وصل نموذج TTS جديد للتو إلى Soniqo. يعمل على حاسوبك المحمول، ويُخرج صوتًا بجودة الاستوديو عند 48 كيلوهرتز، ويستنسخ صوتًا من مقطع قصير واحد. يمرّ هذا المنشور على ما يمكنك بناؤه به، والطرق الثلاث التي يتيح لك بها استنساخ صوت، ونظرة ودّية على كيفية عمل النموذج من الداخل.
أربعة أشياء تتغيّر عندما يعمل الاستنساخ محليًا.
تشغيل الاستنساخ على الجهاز يفتح أربع خصائص دفعة واحدة — الخصوصية، والاستخدام دون اتصال، ولا تكلفة لكل نداء، والملكية الكاملة للصوت. كلٌّ منها يفتح صنفًا من المنتجات يصعب بناؤه بأي طريقة أخرى.
سجّل 30 ثانية من أحد الوالدين وهو يقرأ. عندئذٍ يروي تطبيق الكتب الصوتية أي فصل بصوته — الدفء نفسه، واللكنة نفسها، مُولَّدًا محليًا في كل جلسة.
يحافظ اليوتيوبرز وصنّاع البودكاست على صوت متسق عبر 30 لغة. سجّل مرة بالإنجليزية، وانشر الحلقة نفسها باليابانية والإسبانية والهندية دون طاقم أصوات.
يمكن لمن يواجهون فقدان الصوت حفظ صوتهم في مقطع قصير ومواصلة الكلام عبر تقنية مساعِدة تبدو مثلهم — لا مثل محرك TTS عام.
صِف الصوت الذي تريد — "امرأة شابة، صوت لطيف ودافئ" — ويصممه النموذج دون تسجيل مرجعي. مفيد لشخصيات الألعاب غير القابلة للعب، ومطالبات الأكشاك، أو اختبار A/B لأصوات العلامة.
كيف يُقارَن VoxCPM2 بـ ElevenLabs.
ElevenLabs هو البديل الواضح بواجهة سحابية. المقايضة هي ما الذي يعمل أين — ولمن يعود الصوت بعد ذلك.
للمنتجات التي تحتاج إلى ضمانات خصوصية، أو تشغيل دون اتصال، أو صفر تكلفة لكل نداء، يكون الاستنساخ على الجهاز الخيار الوحيد — كل نداء إلى ElevenLabs يرفع الصوت إلى خوادمهم.
| VoxCPM2 (Soniqo) | ElevenLabs | |
|---|---|---|
| أين يعمل | على جهاز المستخدم | واجهة مستضافة |
| هل يغادر الصوت الجهاز | لا | نعم (يُرفَع إلى ElevenLabs) |
| الاستخدام دون اتصال | نعم | لا (يتطلب إنترنت) |
| التكلفة لكل نداء | لا شيء | فوترة لكل حرف |
| رخصة النموذج | Apache 2.0، أوزان مفتوحة | مملوكة، SaaS فقط |
| أقصى معدل إخراج | 48 كيلوهرتز أصلي | 48 كيلوهرتز (مستوى Pro وأعلى) |
| اللغات | 30 | 29 (Multilingual v2) · 70+ (Eleven v3) |
| مقطع مرجعي مطلوب | 5–30 ث | 1 دقيقة (Instant) · 30 دقيقة (Professional) |
| تصميم صوت من نص | نعم | نعم |
يبلغ المحركان 48 كيلوهرتز؛ ويدعم كلاهما نطاق لغات متقاربًا للاستنساخ اليومي؛ ويتيح كلاهما تصميم الصوت من وصف نصي. الفرق الحقيقي هو ما إذا كان الصوت يغادر الجهاز أصلًا.
نموذج واحد، ثلاثة مداخل.
النموذج نفسه في كل نداء. ما يتغيّر هو الوسائط التي تمررها — وهي تقرر إن كنت تصمم صوتًا من وصف، أو تنسخ صوتًا مسجّلًا، أو تحفظ لكنة.
صِف الصوت بلغة طبيعية. يختار النموذج صوتًا مطابقًا ويبقى متسقًا عبر النداءات.
let audio = try await tts.generateVoxCPM2(
text: "Welcome to the show.",
instruct: "A young woman, gentle and warm voice."
)مرّر أي 5–30 ثانية من كلام نظيف. ينسخ النموذج الطابع والإيقاع ويُخلّق نصًّا جديدًا بذلك الصوت.
let ref = try AudioFileLoader.load(
url: URL(fileURLWithPath: "speaker.wav"),
targetSampleRate: 16000
)
let audio = try await tts.generateVoxCPM2(
text: "This is a cloned voice.",
refAudio: ref
)مرّر المقطع ونصه معًا. يمكن للنموذج الآن محاذاة السمات الصوتية مع الفونيمات — فتنتقل اللكنة وخيارات الحركات.
let audio = try await tts.generateVoxCPM2(
text: "Hello from the cloned voice.",
refAudio: ref,
promptText: "this is what the reference clip actually said",
promptAudio: ref
)الفتحة الإدخالية نفسها، مملوءة بقطع مختلفة. لا يرى النموذج علامة قط — إنه يقرأ التسلسل.
كيف يُنتج VoxCPM2 الصوت.
أربع وحدات متعاونة. لا تحتاج إلى معرفة أي من هذا لاستخدام النموذج، لكن إن كنت فضوليًّا من أين تأتي الـ 48 كيلوهرتز — ها هي.
يبدأ خط الأنابيب بـ مُرمِّز محلي (LocEnc) يدمج رموز النص و(اختياريًّا) الصوت المرجعي في تيار واحد من المتجهات. يغذّي ذلك التيار TSLM — نموذج لغة MiniCPM-4 من 28 طبقة يقرر أي "رقعة" صوتية تأتي تاليًا، تمامًا كما يختار نموذج لغة نصي الرمز التالي. تمريرة ثانية عبر RALM تصقل كل رقعة.
حتى هذه النقطة كل شيء محوّل. اللمسة المثيرة هي LocDiT: بدل الاختيار من مفردات ثابتة من رموز صوتية منفصلة، يشغّل عملية انتشار صغيرة ليرسم الكمون الصوتي في كل فتحة. غياب المرمّز المنفصل يعني غياب عنق زجاجة التكميم — وهذا ما يتيح للمرحلة الأخيرة، AudioVAE V2، فكّ الترميز مباشرة إلى 48 كيلوهرتز. كل محرك آخر على الجهاز في هذه الحزمة يتوقف عند 24 كيلوهرتز.
يستحق هذا الفصل الملاحظة: نموذج اللغة الانحداري الذاتي بارع في تقرير ما ينبغي أن يأتي تاليًا (المحتوى، الإيقاع، الطول)؛ ورأس الانتشار بارع في رسم التفصيل الصوتي (الطور، الطيف). يدع VoxCPM2 كلًّا يفعل ما يجيده. لهذا يصمد النموذج بـ 2B معاملة فقط — العمارة هي التي تكسب الجودة المدرَكة، لا الحجم.
اقرأ البحث الأصلي.
ثلاثة أحجام. اختر حسب ميزانية قرصك.
تشغّل الحزم الثلاث العمارة نفسها؛ ولا تختلف إلا في مدى شراسة تكميم نموذج اللغة. حزمة int8 هي الافتراضي الموصى به — تضاهي خط أنابيب Python الأصلي في اختبار الذهاب والإياب لثماني جمل، وهي في الوقت نفسه أسرع وأصغر بنسبة 40% من bf16.
| الحزمة | الحجم | الأنسب لـ |
|---|---|---|
| bf16 | ~5.0 GB | المرجع / التنقيح. |
| int8 افتراضي | ~3.0 GB | الاستنساخ اليومي، الكتب الصوتية، البودكاست. |
| int4 | ~1.9 GB | عمليات النشر المقيّدة بالقرص. |
من الـ CLI.
# Voice design — no reference clip
speech speak "Welcome to the show." \
--engine voxcpm2 \
--voxcpm2-instruct "A young woman, gentle and warm voice." \
--output design.wav
# Reference cloning — 5–30 s clean clip
speech speak "This is a cloned voice." \
--engine voxcpm2 \
--voxcpm2-variant int8 \
--voice-sample speaker.wav \
--output clone.wav