Phase 06: Speech & Audio

التدفقات التدريبية من الكلام إلى الكلام موشي، هيبيكي، وحوار مزدوج كامل

2024-2026 تعيد تعريف الذكاء الاصطناعي الصوتي. موشي يرسل نموذج واحد يستمع ويكلّم في وقت واحد عند تأخر 200 م. تقوم هيبيكي بترجمة الخطاب إلى الخطاب قطعة بعد قطعة. كلاً يتخلّى عن خط الأنابيب ASR → LLM → TTS من أجل بنية متوحدة كاملة مزدوجة على رموز ميمي. هذا هو التصميم المرجعي الجديد.

Type: Learn

Languages: Python

Prerequisites: Phase 6 · 13 (Neural Audio Codecs), Phase 6 · 11 (Real-Time Audio), Phase 7 · 05 (Full Transformer)

Time: ~75 minutes

المشكلة

كل وكيل صوتي بني من الدروس 11 + 12 لديه أساسي سطح تأخر حوالي 300-500 ms: إطلاق VAD، عمليات STT، LLM أسباب، TTS تولد. كل مرحلة لديها حد أدنى تأخر خاص بها. يمكنك ضبط وتوازي، ولكن شكل خط الأنابيب يغطيك.

يسأل موشي (كيوتاي، 2024-2026) سؤالًا مختلفًا: ماذا لو لم يكن هناك خط أنابيب؟ ماذا لو كان نموذجًا واحدًا يأخذ الصوت ويصدر الصوت مباشرةً، بشكل مستمر، مع النص كـ "مونوغور داخلي" متوسط بدلاً من مرحلة مطلوبة؟

الإجابة هيfull-duplex speech-to-speech. التأخير النظري 160 ms (80 ms Mimi frame + 80 ms تأخير صوتي) التأخير العملي 200 ms على GPU واحد L4 . هذا هو نصف ما يحقق أفضل في الفئة وكيل الصوت المباشر.

المفهوم

!Moshi architecture: two parallel Mimi streams + inner-monologue text

معمارة موشي

Inputs.اثنين من ميكي ميكي، كلاهما عند 12.5 هرتز × 8 كودكوب:

  • التيار 1: صوت المستخدم (ممشفّر من الـ "ميمي"، يصل باستمرار)
  • التيار 2: صوت موشي الخاص (مولد من موشي)

The transformer.معدل 7B-المتحول الزمني يعالج كل من التدفقات وتدفق نص "المونوغ الداخلي". في كل خطوة 80 ms، فإنه:

  1. يستهلك أحدث رموز Mimi للمستخدم (8 كتب رمزية).
  2. يستهلك أحدث رموز موشي ميمي (8 كتب رمزية، كما تم إنتاجها).
  3. يخلق رمز النص الموسي التالي (الوحيد الداخلي).
  4. يولد رموز موشي ميمي التالية (8 كتب رمزية عبر محول عمق صغير).

جميع التيارات الثلاثة صوت المستخدم، صوت موشي، نص موشي تعمل بالتوازي. يمكن لموسي سماع المستخدم أثناء التحدث؛ يمكن للمستخدم أن يقطع نفسه عندما يقاطع؛ يمكن للقناة الخلفية ("mhm") دون كسر التعبير الرئيسي.

The depth transformer.في إطار ، لا يتم التنبؤ بأكواد الكود الثمانية بالتوازي لديهم اعتمادات بين الكود الكود. "تحول عمق" صغير ذو 2 طبقات يتنبأ بهم تسلسليًا في غضون 80 ms. هذا هو التصوير القياسي لـ LMs كوديك AR (يستخدم أيضًا من قبل VALL-E ، VibeVoice).

لماذا نص من المونولوج الداخلي يساعد

بدون نص صريح، يجب على النموذج أن يضع نموذج لغة ضمنياً في تيارها الصوتي. نظرة موشي: إجبارها على إصدار رموز نصية جنباً إلى جنب مع الصوت. يعد تيار النص في الأساس نسخة لما يقوله موشي. وهذا يحسن التماسك التمويلي، ويسهل استبدال رأس نموذج لغة، ويقدم لك نسخة مجاناً.

Hibiki: ترجمة حديثة إلى حديثة

نفس الهندسة المعمارية ، تدرب على أزواج الترجمة. الصوت المصدر داخل ، الصوت خارج اللغة المستهدفة ، باستمرار. يزيل Hibiki-Zero (فبراير 2026) الحاجة إلى بيانات التدريب المتماشىة على مستوى الكلمة يستخدم بيانات على مستوى الجمل + تعلم تعزيز GRPO لتحسين التخفيف.

أربعة أزواج اللغات مدعومة في البداية؛ يمكن تكييفها إلى لغة جديدة مع ≈1000 ساعة.

كومة كيوتاي الأوسع (2026)

  • Moshi حوار كامل مزدوج (الفرنسية أولاً، الإنجليزية مدعومة جيداً)
  • Hibiki / Hibiki-Zero ترجمة متزامنة للخطاب
  • Kyutai STT التدفق ASR (500 ms أو 2.5 ثانية في النظر إلى الأمام)
  • Kyutai Pocket TTS 100M-param TTS يعمل على CPU (كانون الثاني 2026)
  • Unmute خط أنابيب كامل يجمع بين هذه على الخوادم العامة

التشغيل على GPU L40S: 64 جلسة متزايدة في 3× في الوقت الحقيقي.

السيسام CSM ابن عم

تستخدم Sesame CSM (2025) فكرة مماثلة العمود الفقري Llama-3 مع رأس ميمي. ولكن CSM هو واحد الاتجاه (يتخذ السياق + النص ، تنتج الكلام) بدلاً من الكامل. إنها أفضل "حضور الصوت" TTS في السوق ؛ ليس تماماً كما قدرة Moshi الكاملة.

أرقام الأداء 2026

ModelLatencyUse caseLicense
Moshi200 ms (L4)full-duplex English / French dialogueCC-BY 4.0
Hibiki12.5 Hz framerateFrench ↔ English streaming translationCC-BY 4.0
Hibiki-Zerosame5 language-pairs, no aligned dataCC-BY 4.0
Sesame CSM-1B200 ms TTFAcontext-conditioned TTSApache-2.0
GPT-4o Realtime~300 msclosed, OpenAI APIcommercial
Gemini 2.5 Live~350 msclosed, Google APIcommercial

بناءها

الخطوة الأولى: الواجهة

موشي يكتشف خادم ويب سوكت الذي يأخذ 80 ميس من الصوت المشفر من ميمي ويعيد 80 ميس من الصوت المشفر من ميمي

pythonimport asyncio
import websockets
from moshi.client_utils import encode_audio_mimi, decode_audio_mimi

async def moshi_chat():
    async with websockets.connect("ws://localhost:8998/api/chat") as ws:
        mic_task = asyncio.create_task(stream_mic_to(ws))
        spk_task = asyncio.create_task(stream_from_to_speaker(ws))
        await asyncio.gather(mic_task, spk_task)

الخطوة الثانية: حلقة كاملة

pythonasync def stream_mic_to(ws):
    async for chunk_80ms in mic_stream_at_12_5_hz():
        mimi_tokens = encode_audio_mimi(chunk_80ms)
        await ws.send(serialize(mimi_tokens))

async def stream_from_to_speaker(ws):
    async for msg in ws:
        mimi_tokens, text_token = deserialize(msg)
        audio = decode_audio_mimi(mimi_tokens)
        await play(audio)

كلا الاتجاهين يعملان في وقت واحد. Python asyncio أو Rust futures هي النقل القياسي.

الخطوة الثالثة: هدف التدريب (المفهوم)

لكل إطار 80 ميسt:

  • المدخل: user_mimi[0..t]،moshi_mimi[0..t-1]،moshi_text[0..t-1]
  • التنبؤ:moshi_text[t]، ثمmoshi_mimi[t, codebook_0..7]

يتم التنبؤ بالنص قبل الصوت (الموتي الداخلي) ؛ يتم التنبؤ بالصوت في تسلسل كتاب التعليمات داخل محول العمق.

الخطوة الرابعة: أين يفوز موشي وأين لا

موسشي) يفوز)

  • تحت 250 ميس من نهاية إلى نهاية على الأجهزة الرخيصة.
  • قنوات عادية و انقطاعات طبيعية
  • لا يوجد رمز لصق الأنابيب

موشي لا يفوز:

  • دعوة الأدوات (ليس مدربًا لذلك ، تحتاج إلى مسار LLM منفصل).
  • التفكير الطويل (موشي هو نموذج حوار 8B ، وليس كلود / GPT-4).
  • دقة حقيقية في مواضيع خاصة
  • معظم حالات الاستخدام في المؤسسات الإنتاجية (ما زالت تستخدم خطوط الأنابيب في عام 2026).

استخدمها

SituationPick
Lowest-latency voice companionMoshi
Live translation callHibiki
Voice demo / researchMoshi, CSM
Enterprise agent with toolsPipeline (Lesson 12), not Moshi
Custom-voice TTS in contextSesame CSM
Speech-to-speech, any languagesGPT-4o Realtime or Gemini 2.5 Live (commercial)

الفخاخ

  • Limited tool calling.موشي هو نموذج حوار، وليس إطار عميل.
  • Specific-voice conditioning.المشي يستخدم شخصية واحدة مدربة؛ التنسيق هو تدريب منفصل.
  • Language coverage.الفرنسية + الإنجليزية ممتازة، والبعض الآخر محدود. يُساعدك Hibiki-Zero، ولكنك لا تزال بحاجة إلى بيانات التدريب.
  • Resource cost.جلسة موشي كاملة تحتوي على فتحة GPU؛ وليس نمط تنفيذ مشارك شائع رخيص.

أرسله

إبقواoutputs/skill-duplex-pipeline.mdاختر خط الأنابيب مقابل بنية كاملة للعملية وكيل الصوت، مع سبب.

التمارين

  1. Easy.أركضcode/main.pyإنه يحاكي بنية التيارين + الهندسة الداخلية بشكل رمزي
  2. Medium.سحب موشي من HuggingFace، تشغيل الخادم، اختبار محادثة واحدة، قياس تأخير الساعة الحائطية من نهاية المستخدم إلى بداية موشي-رد
  3. Hard.خذ وكيل خط الأنابيب الخاص بك درسا 12 ومقارنة تأخر P50 مقابل موشي على 20 بيانات اختبار متطابقة. اكتب عندما نيل خط الأنابيب معماريا على أي حال.

الشروط الرئيسية

TermWhat people sayWhat it actually means
Full-duplexHear-and-speak at onceTwo audio streams active simultaneously on the same model.
Inner monologueModel's text streamMoshi emits text tokens alongside its audio output.
Depth transformerInter-codebook predictorSmall transformer that predicts 8 codebooks within one 80 ms frame.
MimiKyutai's codec12.5 Hz × 8 codebooks; semantic+acoustic; powers Moshi.
Streaming S2SAudio → audio liveChunk-by-chunk translation/dialogue, no pipeline stages.
Back-channeling"Mhm" reactionsMoshi can emit small acknowledgments without breaking its turn.

المزيد من القراءة

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.