
شنو كيدير Earshot
Earshot هو toolkit محلي لتحليل الصوت وتركيبو، ومصمّم لوكلاء البرمجة بالذكاء الاصطناعي. كيحوّل الصوت لمعطيات منظّمة: أوصاف بلغة بسيطة، نقط معايرة للمطابقة، أحداث مؤقّتة، قياسات موضوعية، أوراق بصرية للصوت، وانتقادات لأفلام الإطلاق.
يقدر يجاوب على أسئلة بحال واش شي مؤثّر صوتي كيشبه لضغطة عميقة وميكانيكية على زر، وفين كاين حدث معيّن ف تسجيل طويل، وشنو الفرق بين جوج أصوات مرشّحة، ولا واش الموسيقى التصويرية متزامنة مع تقطيعات الصورة. ويقدر حتى يركّب مؤثّرات بالكود باستعمال earshot forge.
Earshot كيخدم محلياً على CPU، ومتاح عبر واجهة سطر الأوامر، وواجهة Python API، وسيرفر MCP لأدوات بحال Claude Code. من بعد ما كيتحمّل الموديل أول مرة، الميزات الأساسية ديال التحليل تقدر تخدم بلا إنترنت.
القدرات الرئيسية
- وصف الأصوات:
describeكيرجّع وسوم معايرة، وتفسيرات بديلة، وتسميات AudioSet، وقياسات. - مطابقة وترتيب المرشحين:
matchكيقيّم شحال ملف واحد مناسب لوصف معيّن، بينماrankكيرتّب ملفات متعددة حسب استعلام. - العثور على الأحداث:
findكيحدّد اللحظات الأكثر مطابقة ف تسجيل طويل، وكيعطي أوقات البداية والنهاية الجاهزة للقص. - مقارنة الصوت:
compareكيقلب ف تسجيلات مرجعية، بينماabكيشرح الفرق بين جوج أصوات ولا جوج مقاطع. - تقييم الواقعية:
realnessكيقدّر واش الصوت كيشبه لتسجيل حقيقي ولا مُنتَج باحتراف، بدل صوت مركّب بالكود. - تحليل الموسيقى التصويرية:
timelineكيحدّد الأحداث، والأقسام، والمستويات، والإيقاعات، والتزامن مع تقطيعات الفيديو ولا إطارات الإشارة. - إنشاء تقارير بصرية:
sheetكينتج PNG مشروح فيه إطارات الفيديو، والأحداث، والأقسام، وشكل الموجة، والطيف الصوتي، والجهارة، وعلامات التزامن. - انتقاد أفلام الإطلاق:
critiqueكيقارن فيلم مع بروفايل مبني من سبعة أفلام إطلاق احترافية، وكيقترح إصلاحات مرتبطة بالطوابع الزمنية. - القياس بشكل موضوعي:
measureكيعطي خصائص بحال LUFS، والذروة الحقيقية، ونطاق الجهارة، والغلاف، والطيف، والسرعة، والمقام، بلا استعمال الموديلات. - تركيب المؤثّرات:
forgeكيرندر أصوات من الكود، وكيقلب فمعاملات الوصفات باستعمال أدوات Earshot الناقدة والقياسات اللي ما كتستعملش الموديلات.
تثبيت Earshot
المتطلبات المسبقة
خاصك Python 3.10 ولا أحدث، وخص كل من ffmpeg وffprobe يكونو متاحين فمسار النظام. Earshot كيخدم غير على CPU وما كيستعملش GPU.
إنشاء البيئة
git clone https://github.com/Leonxlnx/earshot
cd earshot
python -m venv .venv
.venv/bin/python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
.venv/bin/python -m pip install -e ".[mcp,llm,dev]"
.venv/bin/python -m earshot doctor --load
فـ Windows، بدّل .venv/bin/python بـ .venv/Scripts/python.
أول عملية كتستعمل موديل كتهبط تقريباً 1.4 GB داخل .cache/hf فالمستودع، إلا إلا ضبطتي EARSHOT_HOME. Earshot كيستعمل موديل CLAP laion/larger_clap_general لتمثيلات النص والصوت، وMIT/ast-finetuned-audioset-10-10-0.4593 لوَسم AudioSet.
شغّل أمر التشخيص فكل مرة بغيتي تتأكد من الاعتماديات، وملفات البيانات، والموديلات، والدقّة، وإعدادات CPU:
.venv/bin/python -m earshot doctor --load
ضبط إعدادات CPU والذاكرة المؤقتة
EARSHOT_THREADSكيتحكّم فعدد خيوط CPU ديال Torch.EARSHOT_HOMEكيبدّل جذر الذاكرة المؤقتة.EARSHOT_PRECISION=fp32كيفرض FP32. الإعداد الافتراضي هو BF16 غير فـ CPUs اللي كيدعموه أصلياً، وFP32 فالباقي.EARSHOT_OFFLINE=1كيفعّل الخدمة بلا إنترنت من بعد ما تهبط الموديلات.
الاستعمال الأساسي من سطر الأوامر
وصف صوت
بدا بـ describe ملي بغيتي شرح مختصر لملف ما مألوفش:
earshot describe enter.ogg
الملخّص يقدر يتضمّن المدة، وشكل البداية الحادّة، وفئات الصوت المحتملة، ونقط z المعايرة، ومستوى الذروة، والسطوع، وقراءات بديلة. زِد --json باش تحصل على النتيجة الكاملة والمنظّمة، ولا --out result.json باش تحفظها.
اختبار وصف معيّن
استعمل match ملي كتكون عارف الصوت اللي بغيتي من قبل. الأوصاف البديلة كتعاون تفرّق بين الهدف والالتباسات المحتملة:
earshot match key.ogg "a deep thocky mechanical keyboard press" --alts "a clicky blue switch keyboard" "a mouse click"
النتيجة كتتضمّن تشابه cosine، ونقطة z معايرة حسب المفردات، وحكم بحال قوي، أو محتمل، أو ضعيف، أو ما كايناش مطابقة.
ترتيب ملفات مرشّحة متعددة
باش تختار أحسن مرشّح من مجموعة، دوز الوصف ومن بعد المسارات:
earshot rank "a fast crisp air whoosh" sounds/one.wav sounds/two.wav sounds/three.wav
هاد الشي مفيد ملي كيكون الوكيل هبط ولا رندر بزاف ديال المؤثّرات المحتملة وكيحتاج ترتيب مبني على الأدلة.
العثور على حدث داخل تسجيل طويل
الأمر find كيقلب داخل تسجيل وكيعطي أوقات القص حسب العينات:
earshot find keys.ogg "a single mechanical key press" --top 4
كل نتيجة فيها وقت البداية، وقت النهاية، المدة، النقطة، والحكم. ومن بعد تقدر تستعمل هاد الطوابع الزمنية باش تستخرج حدث نقي من مصدر أكبر.
قِس بلا تفسير ديال النموذج
استعمل measure ملي كتحتاج خصائص صوتية قابلة لإعادة الإنتاج بلا أحكام دلالية:
earshot measure soundtrack.wav --json
هاد الأمر كيعطي معلومات موضوعية منها علوّ الصوت، القمة الحقيقية، نطاق علوّ الصوت، الغلاف، الطيف، الإيقاع، والمقام.
حلّل الموسيقى التصويرية ديال فيلم
بني خط زمني للاستماع
استعمل timeline باش تنشئ تفريغ للاستماع ثانية بثانية. إلا عطيتو فيديو، Earshot يقدر يقيّم التزامن مع تقطاعات الصورة وإطارات الإشارات:
earshot timeline soundtrack.wav --video film.mp4 --json
النتيجة تقدر تتضمن الأحداث المكتاشفة، الأقسام، المستويات، علوّ الصوت، شبكة النبضات، وأدلة التزامن السمعي البصري.
أنشئ ورقة صوت مشروحة
ورقة الصوت كتحط طبقات التحليل الرئيسية فصورة وحدة يقدر وكيل بصري يفحصها:
earshot sheet soundtrack.wav --video film.mp4 -o out.png
ملف PNG المتولّد يقدر يجمع إطارات تمثيلية، أحداث معنونة، أقسام، موجة صوتية، طيف صوتي، علوّ الصوت، النبضات، وعلامات التزامن.
ولّد نقد لفيلم إطلاق
شغّل critique باش تقارن فيلم مع البروفايل المرفق مع Earshot ديال سبعة أفلام إطلاق احترافية:
earshot critique film.mp4
التقرير كيعطي حكم، وكيحدد المقاييس اللي داخلة ولا خارجة على نطاق البروفايل، وكيعطي الأولوية للإصلاحات المرتبطة بالطوابع الزمنية. اعتابر هاد الشي مقارنة مع أسلوب معيّن ديال أفلام الإطلاق، ماشي مقياس عالمي للجودة.
وتقدر حتى تبني بروفايل من أفلام كتعجبك:
earshot profile reference-one.mp4 reference-two.mp4 reference-three.mp4 -o custom-profile.json
استعمل Earshot من Python
الواجهة ديال Python كتفادي تشغيل عملية جديدة مع كل عملية. هاد الشي مفيد حيث استدعاءات CLI الفردية كتحمّل النماذج وقد كتحتاج تقريباً من 20 حتى لـ40 ثانية قبل ما ترجع.
import earshot
earshot.describe("whoosh.wav")
earshot.find("typing.ogg", "a single isolated key press")
earshot.timeline("soundtrack.wav", video="film.mp4")
from earshot import api
api.rank("a crisp UI click", ["click-a.wav", "click-b.wav"])
api.critique("film.mp4")
النطاق earshot.api كيوفّر عمليات منها الترتيب، النقد، وتحليل الواقعية لعدة ملفات. ملي كتخلي هاد الاستدعاءات فعملية Python وحدة، تقدر تعاود تستعمل النماذج اللي تحمّلات.
شغّل Earshot كخادم MCP
إلى كان الوكيل غادي يدير طلبات متكررة، خادم MCP أحسن من استدعاءات CLI منفصلة حيث النماذج كتبقى سخونة من بعد أول طلب.
claude mcp add earshot --scope user -e EARSHOT_THREADS=3 -- /path/to/earshot/.venv/bin/python -m earshot mcp
مع عميل آخر متوافق مع MCP، زِد إعدادات مكافئة فـ .mcp.json ديالو:
{"mcpServers":{"earshot":{"command":"/path/to/earshot/.venv/bin/python","args":["-m","earshot","mcp"],"env":{"EARSHOT_THREADS":"3"}}}}
فآلة بطيئة، شغّل Claude Code بـ MCP_TIMEOUT=60000. الأداة الاختيارية llm_critique كتقرا GEMINI_API_KEY من البيئة. ما تحطّش مفتاح API حرفي فملف إعدادات.
ولّد أصوات باستعمال Earshot Forge
Forge كينشئ أصوات بلا ما يضمّن تسجيلات صوتية. الوصفات ديالو كتستعمل مكوّنات ديال التركيب الفيزيائي بحال الرنانات النمطية، الإثارات بالتلامس، الضجيج المصفّى، غرفة محسوبة، ونموذج ديال الميكروفون.
عرض الوصفات المرفقة أولاً:
earshot forge
المستودع فيه وصفات للنقرات، الصدمات، ضغطات المفاتيح، الفرقعات، وأصوات مرور الهواء. باش تقلب على صوت ضغطة مفتاح باستعمال تسجيلات حقيقية كمراجع، شغّل:
earshot forge keypress --refs path/to/real/keypresses/ --budget 144 --reps 2 --tone 1.5 --keep 4 --robust 8 --dir made/keypress
باش تستهدف وصفاً محدداً وتسمّي الالتباسات المحتملة:
earshot forge whoosh --target "a fast crisp air whoosh" --alts "a wind gust" "a sword swing" --refs path/to/real/whooshes/ --tone 1.5 --dir made/whoosh
Forge كيرندر مرشحين بمعاملات مختلفة، كينقّطهم ناقد، كيحتافظ بالنتائج القوية، وكيبدّلها عبر بحث تطوري. التنقيط كياخذ بعين الاعتبار مطابقة الوصف، البدائل المسماة، الواقعية المقدّرة، القرب من المراجع، الشكل المقاس، التوازن النغمي، سلوك الذيل، والطول.
المخرجات فيها ملفات WAV متنوعة وreport.json فيه معاملات المرشحين والنقط ديالهم. مع --robust N، كيتعاود رندر المرشحين المختارين ببذور عشوائية جديدة، باش تتأكد واش الوصفة باقية موثوقة وماشي غير نجحات مرة وحدة.
حكّم على نتائج Forge بحذر
Forge كيتحسّن حسب نماذج Earshot الخاصة به، لذلك النقطة العالية ديال النموذج ما كتضمنش أن الصوت أحسن إدراكياً.
قارن توازن الثلث-أوكتاف، الذيل، والطول ديال الصوت المولّد مع التسجيلات المرجعية. فحص الطيف الصوتي ديالو حدّ المراجع، جرّب إعادة الرندر المتينة، ودير اختباراً بشرياً أعمى ملي تكون الجودة مهمة. ملف README كينبّه بالخصوص أن نموذج الواقعية يقدر يتخدع بتقنيات بحال الجمع بين رنان نمطي، استجابة الغرفة، وأرضية الضجيج.
نصائح متقدمة لسير العمل
- ستعمل الواجهة المناسبة حسب نوع الخدمة. الواجهة ديال سطر الأوامر مريحة فشي تحقيقات قليلة. استعمل عملية وحدة ديال Python ولا خادم MCP فالتحليل المتكرر باش تبقى النماذج محمّلة.
- بدا بنظرة عامة، ومن بعد اختبر الفرضيات. شغّل
describe، كوّن وصف للهدف، ومن بعد استعملmatchمع بدائل واضحة. - فرّق بين الأدلة الدلالية والموضوعية. جمع بين الأحكام المبنية على النماذج و
measure، وفحوصات التوازن النغمي، وفحص الموجة الصوتية، والمخططات الطيفية. - حفظ المخرجات بشكل منظّم. استعمل
--jsonولا--outملي كيحتاج برنامج آخر ولا وكيل يفحص جميع الحقول، ماشي غير الخلاصة باللغة العادية. - استعمل تسجيلات مرجعية حقيقية. المجلدات المرجعية كتحسّن المقارنة والتقييم ديال Forge، ولكن المسؤولية ديال مصدر هاد التسجيلات والتراخيص ديالها كتبقى عليك.
- ثبّت مهارات الوكلاء المضمّنة. نسخ ولا دير رابط رمزي لـ
skills/earshotوskills/real-soundداخل~/.claude/skills/ولا داخل.claude/skills/ديال المشروع. هادو كيوثّقو اختيار الأوامر، وتفسير النتائج، وإنتاج الموسيقى التصويرية، والمكساج، وفحوصات ضمان الجودة، والتحقق من التراخيص.
فهم الحدود
Earshot قوي خصوصاً فقياس علوّ الصوت، والتوقيت، ومزامنة الصورة، ومطابقة الأصوات المفردة الواضحة، وترتيب المرشحين، والتعرّف على المصادر اللي تصايبات بشكل واضح بالكود. الوسوم المستخرجة من المكساجات العامرة، وزيد عليها الأحكام المتعلقة بنوع الموسيقى والمزاج، خاصها تتعتبر غير إشارات.
ما كيقدرش يحدّد الذوق، ولا العاطفة، ولا المصدر، ولا التراخيص، ولا محتوى الكلام. النماذج ديالو ما كتقيّمش الترددات اللي فوق 14 kHz. حكم الواقعية دليل وماشي برهان، وملف الإطلاق المدمج كيمثّل غير الأفلام السبعة اللي تستعملات فصناعتو.
راجع وثائق التحقق ديال المستودع باش تشوف النتائج المقاسة، وراجع وثائق الحدود قبل ما تعتمد على النقط فمسار عمل ديال الإنتاج.
الخلاصة
Earshot كيعطي لوكلاء البرمجة طريقة عملية باش يفحصو الصوت ويصاوبوه باستعمال أدوات محلية خدامة بالمعالج. بدا بـ describe وmatch وfind؛ ومن بعد دوز لـ timeline وsheet وcritique ملي بغيتي تخدم على أفلام كاملة؛ واستعمل Forge ملي كتحتاج مؤثرات مبرمَجة بمعاملات ومصنوعة كاملة بالكود. باش تاخذ قرارات موثوقة، جمع بين نتائج النماذج والقياسات، والمقارنات مع المراجع، والفحص البصري، والاستماع البشري.
