عن المشروع

Symphonia هي مكتبة Rust خالصة لفك ترميز الصوت وفك ترميز الوسائط المتعددة. صُممت للتطبيقات التي تحتاج إلى قراءة صيغ حاويات الوسائط الشائعة، واستخراج البيانات الوصفية والعلامات، وفك ترميز تدفقات الصوت دون الاعتماد على مكتبات C. تشمل صيغ الحاويات المدعومة AIFF وCAF وISO/MP4 وMKV/WebM وOGG وWave. تشمل برامج ترميز الصوت المدعومة AAC-LC وADPCM وALAC وFLAC وMP1 وMP2 وMP3 وPCM وVorbis. بعض برامج الترميز والصيغ لا تزال قيد التطوير، مثل Opus وWavPack ونسخ HE-AAC. يستخدم المشروع حزمًا منفصلة لكل صيغة وبرنامج ترميز، وتتحكم خيارات الميزات في المكونات التي يتم تجميعها. افتراضيًا، يتم تمكين برامج الترميز والصيغ المفتوحة القياسية الخالية من حقوق الملكية فقط، ولكن خيار الميزة `all` يمكنه تمكين كل شيء. يدعم دعم البيانات الوصفية والعلامات APEv1 وAPEv2 وID3v1 وID3v2 وISO/MP4 وRIFF وتعليقات Vorbis في FLAC وOGG. توفر المكتبة أيضًا أساسيات صوتية أساسية لمعالجة البيانات الصوتية بكفاءة. تؤكد Symphonia على السلامة والصحة. مكتوبة بنسبة 100% من Rust الآمن، وتهدف إلى منع هجمات رفض الخدمة، وتخضع لاختبارات التشويش. يوفر المشروع أيضًا أدوات للتصحيح: `symphonia-play` لفحص وفك ترميز والتحقق من صحة وتشغيل تدفقات الوسائط، و`symphonia-check` للتحقق من المخرجات المفكوكة مقابل أجهزة فك ترميز أخرى. المكتبة معيارية وتسمح بتسجيل أجهزة فك ترميز وفك ترميز من جهات خارجية. تشمل المحولات الخارجية الحالية `symphonia-adapter-fdk-aac` لنسخ AAC عبر libfdk-aac و`symphonia-adapter-libopus` لـ Opus عبر libopus. Symphonia مرخصة بموجب MPL v2.0. الحد الأدنى لإصدار Rust المدعوم لإصدارات 0.6.x هو 1.85. المؤلف الرئيسي هو Philip Deljanov، ويرحب المشروع بالمساهمات.