TGViewer
AI Engineers AI Engineers @llmengineers · 2.62K subscribers
Post #183 1.23K
AI Engineers Photo
این روزها ساخت یه دستیار صوتی محاوره‌ای که کاملاً روی دستگاه خودتون و حتی روی CPU اجرا بشه، شدنیه. یه ریپازیتوری جالب دیدم که دقیقاً همین کار رو با کنار هم گذاشتن چندتا مدل اپن‌سورس و چندتا تکنیک هوشمندانه انجام داده.

اصل داستان، ساخت یک پایپ‌لاین Speech-to-Speech با کمترین Latency ممکن روی سخت‌افزار معمولیه. معماری کلی سیستم به این شکله که صدا به صورت استریم پردازش می‌شه و از یک چرخه چندمرحله‌ای عبور می‌کنه:
۱. تشخیص فعالیت صوتی (VAD) با pyannote/segmentation-3.0
۲. تبدیل گفتار به متن (STT) با whisper-tiny.en
۳. پردازش توسط مدل زبان (LLM) از طریق Ollama با مدلی مثل qwen2.5:0.5b
۴. تبدیل متن به گفتار (TTS) با Kokoro-82M

اما بخش مهم ماجرا، تکنیک‌هایی هست که برای کاهش Latency استفاده شده، خصوصاً Perceived Latency یا تأخیری که کاربر حس می‌کنه.

اولین تکنیک، Priority-based Text Chunking هست. به جای اینکه منتظر بمونیم تا کل جواب LLM آماده بشه، خروجی مدل به صورت استریم گرفته می‌شه و به محض رسیدن اولین کلمات، پردازش شروع می‌شه. یک TextChunker سفارشی، این متن رو بر اساس اولویت‌بندی هوشمندانه‌ای به قطعات کوچیک‌تر تقسیم می‌کنه. اولویت با علائم نگارشی مثل نقطه و علامت سواله، بعدش نوبت کلمات ربطی مثل "however" یا "and" و در نهایت کاما و خط تیره می‌رسه. اینطوری TTS می‌تونه اولین تیکه از جواب رو خیلی سریع‌تر به صوت تبدیل کنه، در حالی که بقیه جواب هنوز داره تولید می‌شه.

دومین تکنیک، یه حقه جالب توی پرامپت‌نویسیه. از LLM خواسته می‌شه که جوابش رو با کلمات پُرکننده (Filler Words) مثل "umm" یا "so" شروع کنه. این کلمات تک‌هجایی هستن و TTS در چند میلی‌ثانیه اون‌ها رو به صوت تبدیل می‌کنه. این باعث می‌شه کاربر تقریباً بلافاصله یه صدایی از سیستم بشنوه و حس کنه که سیستم داره فکر می‌کنه تا جواب بده. این مکث کوتاه و طبیعی، زمان لازم برای تولید بقیه جواب رو می‌خره و تأخیر واقعی سیستم رو از دید کاربر پنهان می‌کنه.

نتیجه‌ی این رویکرد روی یک سیستم بدون GPU با پردازنده AMD Ryzen 5600G، رسیدن به Latency حدود ۲ ثانیه بوده. اما با این تکنیک‌ها، زمان شنیدن اولین صوت از سیستم به ۰.۵ تا ۰.۷ ثانیه کاهش پیدا کرده که تجربه مکالمه رو خیلی طبیعی‌تر می‌کنه.

به نظر من، این پروژه یک مثال عالی از مهندسی سیستمه. به جای تمرکز روی ساخت مدل‌های بزرگ‌تر، با ترکیب هوشمندانه چند مدل سبک و بهینه‌سازی پایپ‌لاین برای بهبود تجربه کاربری، به یک نتیجه خیلی کاربردی رسیده. این نشون می‌ده که چطور می‌شه با منابع محدود، محصولات قابل استفاده ساخت.

📃 مشاهده پروژه در گیت‌هاب:
https://github.com/asiff00/On-Device-Speech-to-Speech-Conversational-AI

🛠 Join @LLMEngineers Community
GitHub GitHub - asiff00/On-Device-Speech-to-Speech-Conversational-AI: This is an on-CPU real-time conversational system for two-way speech… This is an on-CPU real-time conversational system for two-way speech communication with AI models, utilizing a continuous streaming architecture for fluid conversations with immediate responses and...
  • 👍 16
  • 👌 3
  • ❤ 2
More from @llmengineers
  1. Oct 13, 2026AI Engineers pinned «انتشار Tasmim-Bench؛ مقایسه ۲۹ مدل Decision روی زبان فارسی ما برای ای…
  2. Oct 13, 2026انتشار Tasmim-Bench؛ مقایسه ۲۹ مدل Decision روی زبان فارسی ما برای اینکه ببینیم مدل‌های تخ…
  3. Oct 13, 2026photo post
  4. Oct 12, 2026کاربرد مدل‌های تصمیم‌گیری هوش مصنوعی در کاهش هزینه‌های عملیاتی کسب‌وکارها
  5. Oct 11, 2026توی یکی از پروژه‌هام با یه مشکل نسبتاً جدی روبه‌رو شدم: استخراج دقیق متن از PDFهای فارسی ب…
  6. Oct 8, 2026از نظر کاربرد Decision Modelها , قضیه دیگه فقط چند Demo نیست و چند الگوی مشخص واقعاً وارد…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →