Timeside: إطار معالجة الصوت القابل للتطوير والخادم المكتوب في Python
TimeSide هو إطار Python يتيح تحليل الصوت المنخفض والعالي المستوى ، التصوير ، ترميز الترميز ، البث والتسمية. تم تصميم واجهة برمجة التطبيقات عالية المستوى الخاصة بها لتمكين المعالجة المعقدة على مجموعات بيانات كبيرة جدًا من أي أصول صوتية أو فيديو مع بنية مكونة من الإضافات والوجود الخلفي القابل للتطوير.
مقدمة
مع زيادة عدد تطبيقات الصوت ومجموعات البيانات عبر الإنترنت ، يصبح من الأهمية بمكان أن يكون الباحثون والمهندسون قادرين على النموذج الأولي واختبار خوارزمياتهم الخاصة بأسرع ما يمكن على المنصات المختلفة والاستقبال مثل علم الموسيقى الحاسوبية وخدمات البث. على الجانب الآخر ، يحتاج مقدمو المحتوى والمنتجون إلى تحسين تجارب المستخدم على منصاتهم مع المزيد من البيانات الوصفية بناءً على التاريخ الثقافي ولكن أيضًا تحليلات ميزة الصوت. إن زراعة هذه البيانات الوصفية بشكل متزامن مع الموسيقى المنشورة على الإنترنت تعني أن أنظمة التحليل والتخزين يمكن تحديثها بسهولة وتوسعها ونشرها.
تم تطوير TimeSide بهذا المعنى لاقتراح خدمة معالجة الصوت عبر الإنترنت. يوفر:
- وحدة أساسية للبيثون للعمل من قذيفة أو أي برنامج آخر يعتمد على بيثون
- خادم ويب للويب مع واجهة برمجة تطبيقات مريحة مدمجة فوق الوحدة الأساسية بحيث يمكن لمطوري الويب بعد ذلك تضمين خدمة المعالجة عن بُعد بسهولة في تطبيقاتهم الخاصة.
- SDK لـ JavaScript واستنادًا إلى OpenAPI لتطوير تطبيق طرف ثالث بسهولة يستهلك واجهة برمجة تطبيقات الخادم.
استخدام الحالات
- معالجة الصوت غير المتزامنة (التصفية ، تحليل الميزات ، التعلم الآلي ، إلخ)
- تحجيم وتأمين توفير البيانات ومعالجتها والوصول إليها
- النماذج الإضافية الصوتية
- التصور الصوتي
- عند الطلب على الترميز والبث على الويب
- مشغل الصوت المشترك المحسن
- تجزئة تلقائية ووضع العلامات اليدوية متزامنة مع أحداث صوتية
سمات
- قم بمعالجة الصوت غير المتزامنة والسريعة مع Python ،
- فك تشفير إطارات الصوت من أي تنسيق صوتي أو فيديو إلى صفائف numpy ،
- قم بتحليل محتوى الصوت مع بعض مكتبات استخراج ميزات الصوت الحديثة مثل Aubio و Yaafe و Vamp وكذلك بعض معالجات Python النقية
- تصور الأصوات مع مختلف أشكال الموجات الفاخرة ، الطيف وغيرها من الرسم البياني الرائع ،
- Transcode Audio Data في تنسيقات الوسائط المختلفة ودفقها من خلال تطبيقات الويب ،
- بيانات تحليل الميزة التسلسلية من خلال مختلف التنسيقات المحمولة ،
- قدم مصادر صوتية من Plateform مثل YouTube أو Deezer
- قم بتسليم التحليل و transcode على المسارات المقدمة أو التحميل عبر الويب من خلال API REST
- التشغيل والتفاعل عند الطلب من خلال لاعب ذكي HTML5 القابل للتمديد ،
- فهرسة وعلامة وشرح أرشيف الصوت مع البيانات الوصفية الدلالية (انظر Telemeta التي تضمنت Timeside).
- نشر وتوسيع محرك معالجة الصوت الخاص بك من خلال أي بنية تحتية
التمويل والدعم
لتمويل المشروع ومواصلة عملية التطوير السريع لدينا ، نحتاج إلى دعمك الصريح. لذلك إذا كنت تستخدم Timeside في الإنتاج أو حتى في التطوير أو الإعداد التجريبي ، فيرجى إخبارنا بحلول:
شكرا لمساعدتك ودعمك!
أخبار
1.1
- جوهر:
- استخدم وحدة فك ترميز Aubio مقرها Libav افتراضيًا (أسرع صوت لمحول صفيف Numpy على هذا الكوكب!)
- أضف محللًا قائمًا على Vamp وبعض الإضافات مثل Vampflatness و Vampcrest و Vamptempo و Vamptuning و VampspriptralCrowins و VampSpectralkurtosis و VampspectralsLope
- الخادم:
- إصلاح الكثير من مشكلات المعالجة غير المتزامنة: الآن قم بكل مهام المعالجة المسبقة والمعالجة وما بعد المعالجة من خلال العامل بما في ذلك دفق المصدر من YouTube
- أضف مراقبة العملية بناءً على WebSocket
- تمت معالجة الموجة تلقائيًا على item.save ()
- اجعل Uuid فريدًا حقًا
- إعادة ترتيب النماذج
- تحسين اختبارات الوحدة
1.0
- إعادة إنشاء خادم:
- تشغيل عملية الصوت على العناصر (نموذج REST API Track)
- العديد من الأدوات والآراء والموديلات ومسلسلات
- مخطط REST API على مواصفات OpenAPI 3 وتوليد REDOC التلقائي
- انقل Core والخادم من Python 2.7 إلى 3.7
- ترقية Django إلى 2.2 ، إطار REST Django إلى 3.11 ، الكرفس إلى 4.4
- أضف وحدة فك ترميز مقرها Aubio
- أضف وقت تشغيل المعالجات الأساسية والخادم وعملية الخادم "
- إعادة تجميع جميع التبعيات على متطلبات PIP لإزالة استخدام الكوندا
- إضافة فئة مزود كمكون API الأساسي وكطراز API REST
- إضافة مكونات موفرات موفر Deezer-Preview و Deezer-Complete و YouTube
- تحسين اختبار وحدة الخادم
- أضف مصادقة JWT على API REST
- إصلاحات الأخطاء المختلفة
- أضف تسجيل الأساس والخادم والعمال
0.9
- ترقية جميع تبعيات بيثون
- أضف Vamp و Essentia و Yaafe و Librosa و Pytorch و TensorFlow Libs و Wlders
- أضف عدد قليل من الإضافات المحلية (تنافر Essentia ، ثابت VAMP Q ، Tempo Vamp ، Vamp General Wrapper ، Yaafe General Wrapper)
- إضافة معالج إدارة معلمات
- إضافة الميراث المعالج
- تحسين مشغل HTML5 مع تدفق البيانات الذكية
- تحسين API REST ومختلف المسلسلات
- تحسين اختبار الوحدة
- إصلاحات الأخطاء المختلفة
0.8
- إضافة دعم Docker للتثبيت الفوري. هذا يسمح لتشغيل Timeside الآن على أي منصة نظام التشغيل!
- إضافة دعم دفتر Jupyter لنماذج أولية سهلة وتجربة ومشاركة (انظر الأمثلة في المستند).
- أضف خادم الويب التجريبي و API REST استنادًا إلى إطار عمل Django REST و REDIS و CELERY. يوفر هذا الآن خادمًا حقيقيًا لمعالجة الصوت على شبكة الإنترنت مع إمكانات عالية التحجيم بفضل Docker (التجميع) والكرفس (المعالجة المتعددة).
- ابدأ تطوير واجهة لاعب جديدة بفضل Angular و Wavesjs.
- تنظيف ضخم لملفات JS. يرجى الآن استخدام Bower للحصول على جميع تبعيات JS كما هو مدرج في الإعدادات.
- إضافة تصدير البيانات الوصفية إلى ملفات التعليقات التوضيحية Elan.
- إصلاح وتحسين بعض هياكل البيانات في حاويات نتائج المحلل.
- العديد من مجموعات الأخطاء المختلفة.
0.7.1
- إصلاح إصدار Django إلى 1.6.10 (المزامنة مع Telemeta 1.5)
0.7
- إعادة إنشاء رمز:
- قم بإنشاء وحدة نمطية جديدة. plugins ونقل المعالجات فيها: TimeSide.plugins.decoder ، Analyzer ، timeside.plugins.encoder ، timeside.plugins.fx
- تحذير: لإدارة بنية حزم مساحة الاسم بشكل صحيح ، فإن الوحدة الرئيسية Timeside هي الآن Times.Core و Code الآن مع تهيئة الاستيراد Timeside.core
- TimeSide.Plugins هي الآن حزمة مساحة الاسم التي تتيح توصيل المكونات الإضافية الخارجية تلقائيًا إلى جانب TimeSide (انظر على سبيل المثال Diadems). هذا الآن يجعل Timeside مضيف إضافي حقيقي ، نعم!
- سيتم قريباً توفير مكون إضافي للمواد الهزلية لبدء تطوير سهل.
- انقل جميع التحليلات التي طورها شركاء مشروع DIADEMS إلى مستودع جديد: TimeSide-Diadems
- العديد من الإصلاحات لمعالجة أفضل بواسطة Travis-CI
- أضف ملف DOX لاختبار مبنى Docker باستمرار على توزيعات مختلفة
للأخبار القديمة ، يرجى زيارة: https://github.com/ircam-wam/timeside/blob/master/news.rst
الوثائق
- الوثائق الكاملة: https://timeside.ircam.fr/docs/
- API Rest Server: https://timeside.ircam.fr/api/docs/
- الشرائح: https://ircam-wam.github.io/timeside-slides/#1
- البرامج التعليمية الأساسية: https://timeside.ircam.fr/docs/tutorials/
- بعض دفاتر الملاحظات: https://github.com/ircam-wam/timeside/tree/master/docs/ipynb
- بعض دفاتر الملاحظات القديمة: http://mybinder.org/repo/thomasfillon/timeside-demos
- المنشورات:
- https://github.com/parisson/telemeta-doc
- https://github.com/ircam-wam/timeside-papers
- Player UI V2: https://github.com/ircam-wam/timeside-player
- دليل اللاعب UI V1: https://github.com/ircam-wam/timeside/wiki/ui- guide
- Player UI V1 مثال:
ثَبَّتَ
بفضل Docker ، أصبح Timeside متاحًا تمامًا كتكوين Docker جاهز للعمل. يحدد التكوين القائم على Docker بعض التطبيقات القوية والأطر الحديثة خارج الصندوق مثل: Python و Numpy و Jupyter و Gstreamer و Django و Celery و Postgresql و Redis و Uwsgi و Nginx والمزيد.
أولاً ، يقوم بتثبيت Docker و Docker
ثم استنساخ Timeside وابدأه:
git clone-https://github.com/ircam-wam/timeside.git
CD Timeside
Docker يؤلف ما يصل إلى د
هذا كل شيء! الآن يرجى الانتقال إلى قسم : `` user interfaces` لمعرفة كيفية استخدامه.
ملحوظة
للحصول على الدعم الفني ، يرجى الوصول إلى فريق التطوير. إذا كنت بحاجة إلى استخدام TimeSide خارج صورة Docker ، فيرجى الرجوع إلى قواعد DockerFile التي تستند إلى نظام مستقر Debian. لن نقدم أي نوع من الدعم المجاني في هذه الحاوية الباطنية خارج حاوية Docker الأصلية.
الرعاة والشركاء
- IRCAM (باريس ، فرنسا)
- باريسون (باريس ، فرنسا)
- CNRS: المركز الوطني لأبحاث العلوم (فرنسا)
- Huma-Num: معدات البيانات الكبيرة للعلوم الإنسانية الرقمية (CNRS ، فرنسا)
- CREM: المركز الوطني الفرنسي لأبحاث علم الروح (فرنسا)
- Université Pierre et Marie Curie (UPMC Paris ، France)
- ANR: agence Nationale de La Recherche (فرنسا)
- MNHN: متحف National d'istoire Naturelle (باريس ، فرنسا)
- C4DM: مركز الموسيقى الرقمية ، جامعة كوين ماري (لندن ، المملكة المتحدة)
- NYU Steinhardt: مهن الموسيقى والفنون المسرحية ، جامعة نيويورك (نيويورك ، الولايات المتحدة الأمريكية)
المشاريع ذات الصلة
- Telemeta: فتح منصة صوت الويب
- محفوظات صوتية لـ CNRs ، Crem و "Musée de L'Homme" في باريس ، فرنسا
- DIADEMS برعاية ANR.
- Dacaryh ، علوم البيانات لدراسة كاليبسو آثار عبر التاريخ
- kamoulox عبر الإنترنت لا تحفيز المحفوظات التاريخية الكبيرة
- NYU+Crem+Parisson: تحليل الموسيقى العربية من قاعدة بيانات CREM الكاملة
- Wasabi: Web Audio Semantic Commergenced في المتصفح للفهرسة ، برعاية ANR
- TimeSide-Player V2
- TimeSide-SDK-JS
مراجع
- ألين مينين ، ميشيل بوفا ، ماروا تيكات ، بنيامين مولينيت ، غيوم بيلرين ، لوران بوتييه ، فرانك ميشيل ، وماركو وينكلر. (2022 ، 28 يونيو). التصور الإضافي والمتعدد الوسائط للرسوم الذاتية: استكشاف قاعدة المعرفة الموسيقية الوسابي. مؤتمر صوتي ويب 2022 (WAC 2022) ، كان ، فرنسا. https://doi.org/10.5281/zenodo.6767530
- Guillaume Pellerin ، وبول Brossier. (2022). Timeside API كخدمة ويب لمعالجة الصوت [مجموعة البيانات]. مؤتمر صوتي ويب 2022 (WAC 2022) ، كان ، فرنسا. زنودو. https://doi.org/10.5281/zenodo.6769477
- Fillon و G. Pellerin. منصة ويب تعاونية لإدارة وتحليل المحفوظات الصوتية. في وقائع المؤتمر الثالث على شبكة الإنترنت ، لندن ، صفحة 43. جامعة كوين ماري في لندن ، أغسطس 2017.
حقوق الطبع والنشر
- حقوق الطبع والنشر (C) 2019 ، 2023 IRCAM
- حقوق الطبع والنشر (C) 2006 ، 2023 Guillaume Pellerin
- حقوق الطبع والنشر (C) 2022 ، 2023 Guillaume Piccarreta
- حقوق الطبع والنشر (ج) 2010 ، 2022 بول بروسييه
- حقوق الطبع والنشر (ج) 2020 ، 2021 رومان هيربيلو
- حقوق الطبع والنشر (ج) 2019 ، 2020 أنطوان غراندري
- حقوق الطبع والنشر (C) 2006 ، 2019 Parisson Sarl
- حقوق الطبع والنشر (ج) 2013 ، 2017 توماس فيون
- حقوق الطبع والنشر (C) 2013 ، 2014 Maxime Lecoz
- حقوق الطبع والنشر (C) 2013 ، 2014 ديفيد دوخان
- حقوق الطبع والنشر (C) 2006 ، 2010 Olivier Guilyardi
رخصة
Timeside هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة GNU Affero العامة كما تم نشرها بواسطة مؤسسة البرمجيات المجانية ، إما الإصدار 3 من الترخيص ، أو (في خيارك) أي إصدار لاحق.
يتم توزيع Timeside على أمل أن يكون مفيدًا ، ولكن بدون أي ضمان ؛ بدون حتى الضمان الضمني للتسويق أو اللياقة لغرض معين. انظر رخصة GNU ASCERER العامة لمزيد من التفاصيل.
اقرأ ملف الترخيص. txt لمزيد من التفاصيل.