سبيكس (برنامج)

سبيكس (برنامج)
سبيكس هو برنامج ضغط صوتي يتم ضبطه خصيصا لاستنساخ الكلام البشري، وأيضا هو برنامج خطاب برمجي حر يمكن استخدامه في تطبيقات الصوت عبر الإنترنت وتدوين صوتي.
نبذة
سبيكس مبني على خوارزمية ترميز على الكلامCELP. ويزعم سبيكس أنه خال من أي قيود على براءات الاختراع وهو مرخص بموجب رخصة BSD المنقحة (3 شروط). ويمكن استخدامه مع نموذج حاوية Ogg أو نقله مباشرة فوق UDP/RTP. ويمكن استخدامه أيضا مع شكل حاوية FLV. يرى مصممو سبيكس أن مشروعهم مكمل لمشروع فوربس لضغط الصوت للأغراض العامة. سبيكس هو تنسيق ضائع، أي الجودة تتدهور بشكل دائم لتقليل حجم الملف.
الإنشاء
تم إنشاء مشروع سبيكس في 13 فبراير 2002. تم إصدار إصدارات التطوير الأولى من سبيكس بموجب ترخيص LGPL ، ولكن اعتبارًا من الإصدار 1.0 beta 1، تم إصدار سبيكس بموجب إصدارXiph's ؤمن ترخيص BSD (المنقح). تم الإعلان عن سبيكس 1.0 في 24 مارس 2003، بعد عام من التطوير. آخر إصدار مستقر من جهاز التشفير وفك التشفير سبيكس هو 1.2.0. ويعتبر Xiph.Org الآن أن سبيكس عفا عليها الزمن؛ وخلفه هو برنامج ترميز اوبوس الأكثر حداثة، والذي يفوق أدائه في معظم المجالات باستثناء أدنى معدلات العينة.
الوصف
وتستهدف سبيكس الصوت عبر بروتوكول الإنترنت (فولب) والضغط المستند إلى الملفات وكانت أهداف التصميم هي إنشاء برنامج ترميز يمكن تحسينه للحصول على كلام عالي الجودة ومعدل بت منخفض. لتحقيق ذلك، يستخدم برنامج الترميز معدلات بت متعددة، ويدعم النطاق العريض للغاية (32 معدل أخذ العينات كيلو هرتز)، النطاق الواسع (١٦ معدل أخذ العينات كيلو هرتز) والنطاق الضيق (جودة الهاتف، 8 معدل أخذ العينات كيلو هرتز). نظرًا لأن سبيكس تم تصميمه من أجل فولب بدلاً من استخدام الهاتف الخلوي، يجب أن يكون برنامج الترميز قويًا للحزم المفقودة، ولكن ليس للحزم التالفة. كل هذا أدى إلى اختيار التنبؤ الخطي المتحمس للشفرة (سيلب) كأسلوب تشفير لاستخدامه في سبيكس. يمكن تلخيص الخصائص الرئيسية على النحو التالي:
البرمجيات الحرة / مفتوحة المصدر وبراءات الاختراع وخالية من حقوق الملكية.
تكامل النطاق الضيق والنطاق العريض في نفس تدفق البتات.
مجموعة واسعة من معدلات البت المتاحة (من 2 كيلوبت / ثانية إلى 44 كيلوبت / ثانية).
تبديل معدل البت الديناميكي ومعدل البت المتغير (VBR).
كشف النشاط الصوتي (VAD ، متكامل مع VBR) (لا يعمل من الإصدار 1.2).
تعقيد متغير.
وضع النطاق العريض للغاية عند 32 كيلوهرتز (حتى 48 كيلو هرتز).
خيار ترميز الاستريو الشدة.
السمات
معدل أخذ العينات
تم تصميم Speex بشكل أساسي لثلاثة معدلات مختلفة لأخذ العينات: 8 كيلو هرتز (نفس معدل أخذ العينات لإرسال المكالمات الهاتفية)، 16 كيلوهرتز و 32 كيلو هرتز. ويشار إلى هذه على التوالي بالنطاق الضيق والنطاق العريض والنطاق العريض للغاية.
الجودة
يتم التحكم في ترميز Speex في اغلب الأوقات بواسطة مقياس للجودة تتراوح من 0 إلى 10. في عملية معدل البت الثابت (CBR)، تكون معلمة الجودة عددًا صحيحًا، بينما بالنسبة لمعدل البت المتغير (VBR)، تكون المعلمة رقمًا صحيا (نقطة عائمة).
التعقيد (متغير)
باستخدام Speex ، من الممكن تغيير درجة التعقيد المسموح بها لجهاز التشفير. يتم ذلك من خلال التحكم في كيفية إجراء البحث بعدد صحيح يتراوح من 1 إلى 10 بطريقة مشابهة لخيارات -1 إلى -9 لأدوات ضغط gzip. للاستخدام العادي، يتراوح مستوى الضوضاء عند التعقيد 1 بين 1 و 2 ديسيبل أعلى من مستوى التعقيد 10، لكن متطلبات وحدة المعالجة المركزية الخاصة بالتعقيد 10 تزيد بحوالي خمس مرات عن متطلبات التعقيد 1. من الناحية العملية، تكون أفضل المقايضة بين التعقيد 2 و 4، الرغم من أن الإعدادات الأعلى غالبًا ما تكون مفيدة عند ترميز الأصوات غير الكلامية مثل نغمات DTMF ، أو إذا لم يكن التشفير في الوقت الفعلي.
معدل بت متغير (VBR)
يسمح معدل البت المتغير (VBR) لبرنامج الترميز بتغيير معدل بتاته ديناميكيًا للتكيف مع «صعوبة» الصوت الذي يتم ترميزه. في المثال من Speex، والأصوات مثل حروف العلة والطاقة العالية العابرين تتطلب نسبة أعلى قليلا لتحقيق نوعية جيدة، في حين الإحتكاكيون (مثل الصورة وو الأصوات) يمكن أن تكون مشفرة على نحو كاف مع عدد أقل من البتات. لهذا السبب، يمكن أن تحقق VBR معدل بت أقل لنفس الجودة، أو جودة أفضل لمعدل بت معين. على الرغم من مزاياها، فإن VBR لها ثلاثة عيوب رئيسية: أولاً، من خلال تحديد الجودة فقط، لا يوجد ضمان حول متوسط معدل البت النهائي. ثانيًا، بالنسبة لبعض تطبيقات الوقت الفعلي مثل نقل الصوت عبر IP (VoIP)، ما يهم هو الحد الأقصى لمعدل البت، والذي يجب أن يكون منخفضًا بدرجة كافية لقناة الاتصال. ثالثًا، قد لا يضمن تشفير الكلام المشفر بواسطة VBR الخصوصية الكاملة، حيث لا يزال من الممكن تحديد العبارات، على الأقل في إعداد محكم باستخدام قاموس صغير من العبارات، خلال تحليل نمط التباين في معدل البت.
متوسط معدل البت (ABR)
يحل متوسط معدل البت إحدى مشكلات VBR ، حيث يقوم بضبط جودة VBR ديناميكيًا من أجل تلبية معدل البت المستهدف المحدد. نظرًا لأنه يتم ضبط الجودة / معدل البت في الوقت الفعلي (حلقة مفتوحة)، ستكون الجودة العالمية أقل قليلاً من تلك التي يتم الحصول عليها عن طريق الترميز في VBR مع إعداد الجودة الصحيح تمامًا لتلبية متوسط معدل البت المستهدف.
كشف النشاط الصوتي (VAD)
عند التمكين، يكتشف اكتشاف النشاط الصوتي ما إذا كان الصوت الذي يتم ترميزه هو كلام أم صمت / ضوضاء في الخلفية. يتم دائمًا تنشيط VAD ضمنيًا عند الترميز في VBR ، لذلك يكون الخيار مفيدًا فقط في العمليات غير VBR. في هذه الحالة، يكتشف Speex فترات عدم الكلام ويقوم بترميزها بتات كافية فقط لإعادة إنتاج ضوضاء الخلفية. وهذا ما يسمى «توليد ضوضاء الراحة» (CNG). كان الإصدار الأخير من VAD يعمل بشكل جيد هو 1.1.12، منذ الإصدار 1.2 تم استبداله بـ Any Activity Detection البسيط.
انتقال متقطع (DTX)
يعد الإرسال غير المستمر إضافة إلى تشغيل VAD / VBR الذي يسمح بوقف الإرسال تمامًا عندما تكون ضوضاء الخلفية ثابتة. في ملف ما، تُستخدم 5 بتات لكل إطار مفقود (المقابلة لـ 250 بت / ثانية).
تعزيز الإدراك
التحسين الإدراكي هو جزء من مفكك الشفرة الذي، عند تشغيله، يحاول تقليل (إدراك) الضوضاء الناتجة عن عملية التشفير / فك التشفير. في معظم الحالات، يجعل التحسين الإدراكي الصوت بعيدًا عن الصوت الأصلي بشكل موضوعي (نسبة الإشارة إلى الضوضاء)، لكنه في النهاية لا يزال يبدو أفضل (التحسين الذاتي).
التأخير الحسابي
ويقدم كل برنامج ترميز تأخيرًا في الإرسال. بالنسبة إلى Speex ، يكون هذا التأخير مساويًا لحجم الإطار، بالإضافة إلى قدر من «النظر إلى الأمام» المطلوب لمعالجة كل إطار. في عملية النطاق الضيق (8 كيلو هرتز)، التأخير 30 مللي، بينما للنطاق العريض (16 كيلو هرتز)، التأخير هو 34 آنسة. لا تأخذ هذه القيم في الاعتبار الوقت الذي تستغرقه وحدة المعالجة المركزية في تشفير الإطارات أو فك تشفيرها.
التطبيقات
هناك قاعدة كبيرة من التطبيقات تدعم ترميز Speex . وتشمل الأمثلة على ذلك ما يلي:
تطبيقات البث مثل المؤتمرات عن بعد (على سبيل المثال TeamSpeak ، Mumble)
أنظمة VoIP (على سبيل المثال النجمة)
ألعاب الفيديو (على سبيل المثال إكس بوكس لايف، Civilization 4 ، مسارات صوتية DropMix . . .)
تطبيقات معالجة الصوت.
يعتمد معظمها على مرشح عرض مباشر أو برنامج ترميز OpenACM (على سبيل المثال مايكروسوفت نت ميتنق) على مايكروسوفت ويندوز، أو تطبيق مرجعي ليبفوربسXiph.org ، على لينوكس (مثل ايكغا). هناك أيضًا مكونات إضافية للعديد من مشغلات الصوت. راجع صفحة البرنامج المساعد والبرامج على موقع سبيكس.org للحصول على مزيد من التفاصيل.
ونوع الوسائط لـ سبيكس هو صوتي/ ogg أثناء احتوائه بواسطة Ogg ، وصوتي / سبيكس (الصوت سابقًا / x-سبيكس) عند نقله عبر RTP أو بدون حاوية.
ويستخدم نظام لاند وورير التابع للجيش الأمريكي، الذي صممه ديناميات عامة، أيضًا سبيكس لـ فولب على راديو EPLRS من تصميم ريثون.
سماعة الاذن هي سماعة رأس أحادية الأذن مزودة بمشغل سبيكس مدمج به ذاكرة فلاش بسعة 1 جيجابايت، محملة مسبقًا بتسجيل السماعة الأمريكية الجديدة.
ASL السلامة والامن برنامج فيبا اوس قائم على لينوكس والذي يستخدم في أنظمة الخطاب العام الطويلة وأنظمة الإنذار الصوتي في مراكز النقل الجوي الدولية الرئيسية وشبكات السكك الحديدية.
ويستخدم مشروع سبيكس روكبوكس لواجهته الصوتية. يمكنه أيضًا تشغيل ملفات سبيكس على مشغلات مدعومة، مثل ابل ايبود أو أي ريفر H10.
ويستخدم جهاز فيرنير لابكويست للحصول على البيانات المحمولة لتعليم العلوم سبيكس للتعليقات التوضيحية الصوتية التي أنشأها الطلاب والمعلمون باستخدام ميكروفون مدمج أو خارجي.
يتضمن تطبيق قوقل موبايل آب لأجهزة ايفون حاليًا سبيكس. كما تم اقتراح أن تطبيق البحث الصوتي الجديد من قوقل على ايفون يستخدم سبيكس لنقل الصوت إلى خوادم قوقل للترجمة الفورية.
يدعم سبيكس أدوبي فلاش بلاير بدءًا من Flash Player 10.0.12.36، والذي تم إصداره في أكتوبر 2008. وبسبب بعض الأخطاء في Flash Player ، فإن أول إصدار موصى به لدعم سبيكس هو 10.0.22.87 وما بعده. يمكن استخدام سبيكس في فلاش بلاير لكلا نوع الاتصال، من خلال خادم وسائط فلاش أو P2P. يمكن فك تشفير سبيكس أو تحويله إلى أي تنسيق بخلاف صوت نيلموسر، والذي كان تنسيق الكلام الوحيد في الإصدارات السابقة من فلاش بلاير. يمكن أيضًا استخدام سبيكس في تنسيق حاوية فلاش فديو، بدءًا من الإصدار 10 من مواصفات تنسيق ملف الفيديو (تم نشره في نوفمبر 2008).
ويستخدم مسجل الصوت جافاسونكس ليسن اب سبيكس لضغط الرسائل الصوتية التي يتم تسجيلها في متصفح ثم تحميلها إلى خادم ويب. التطبيقات الأساسية هي التدريب على اللغة والنسخ والشبكات الاجتماعية.
ويتم استخدام سبيكس كخوارزمية لضغط الصوت في مساعدة سيري الصوتية على أي فون 4S
. نظرًا لحدوث تحويل النص إلى كلام على خوادم ابل، ويتم استخدام برنامج ترميز سبيكس لتقليل من عرض النطاق الترددي للشبكة.
انظر أيضًا
ترميز الصوت
أوبوس
المصادر
تستخدم هذه المقالة مادة من سبيكس دليل الترميز المحمية بحقوق النشر © Jean-Marc Valin ومرخصة بموجب شروط GFDL
المراجع
روابط خارجية
RFC 5574 - تنسيق حمولة RTP لبرنامج Speex Codec
الصفحة الرئيسية الرسمية لـ Speex
صفحة البرنامج المساعد والبرامج
JSpeex هو منفذ Speex لمنصة Java
NSpeex هو منفذ Speex إلى. منصة NET و Silverlight على أساس JSpeex
CSpeex هو منفذ Speex إلى ملف. منصة NET على أساس JSpeex
RFC 5334 - أنواع وسائط Ogg
http://dirac.epucfe.eu/projets/wakka.php؟wiki=P12AB10 - Speex Encoder Player (César MBUMBA)
برمجيات مشروع جنو
تنسيقات مفتوحة