كرسنا إحدى المواد السابقة
لبرنامج OpenMusic - أداة لكتابة الموسيقى على OOP. تحدثنا أيضًا عن
لغات البرمجة المصممة خصيصًا لإنشاء مقاطع صوتية.
قررنا اليوم مواصلة الموضوع والتحدث عن اللغة الرياضية. تم تطويره خصيصًا حتى يتمكن الملحنون من كتابة موسيقى الكمبيوتر أثناء العروض الحية.
الصورة من قبل ichael بيرس / Unsplashما هي الرياضة
غالبًا ما يشير مصطلح "
البرمجة الموسيقية " إلى عملية كتابة الموسيقى باستخدام أجهزة التسلسل والتوليفات والبرامج. لكن بعض الفنانين يلجأون إلى المزيد من الأدوات "المتشددة" - رمز البرنامج و PL المتخصص.
واحدة من هذه اللغة هي
الرياضة .
Sporth (اختصار لـ SoundPipe fORTH) هي
لغة برمجة مكدسة يتم تنفيذها في C. يسمح لك مشغلوها بتوليد إشارات ذات ترددات ومفاتيح مختلفة ، والعمل مع جداول الوظائف للمسلسلات وتطبيق التعديل حدودي.
تم تطوير اللغة من قبل المهندس بول باتشيلور ، الذي
عمل في وقت واحد على متحدثين مع فريق
Google ATAP . قدم مشروعه في المؤتمر الدولي للترميز الحي في عام 2018. على الرغم
من أن
مستودع المصدر تم إنشاؤه على جيثب في وقت أبكر بكثير - في عام 2016.
وفقًا لبول ، عند تصميم Sporth ، كان مستوحىًا من لغات الكدسات مثل Forth و PostScript. فورث يدعم العديد من وحدات المعالجة المركزية مع كمية محدودة من موارد الحوسبة المتاحة لهم. على سبيل المثال ، تم استخدامه في
كوكب المشتري ACE مع كيلوبايت واحد من ذاكرة الوصول العشوائي. بالنسبة إلى PostScript ، فإن تنوعه موجود في تنسيق PDF ، ومترجمه المدمج في العديد من الطابعات.
ميزات اللغة
يستخدم Sporth طراز آلة المكدس لتمرير المعلمات. يضع المبرمج فيه مجموعة من مولدات الإشارة المترابطة (مولدات الوحدات) ، المسؤولة عن إعادة إنتاج الصوت. على سبيل المثال ، سوف يشكل الخط أدناه الجيبية بتردد 440 هرتز بسعة 0.5 نقطة (للأداة مقياسها الخاص).
440 0.5 sine
يمكن دمج مولدات الإشارة باستخدام الرمز "+". على سبيل المثال ، نتيجة قائمة الأوامر أدناه هي
إشارة DTMF ثنائية اللون .
440 0.2 sine 350 0.2 sine +
تدعم اللغة العمل مع المشغلات - النبضات الفردية - التي يتم تشكيلها بواسطة المسرع (المترو). يوضح المثال التالي كيفية إنشاء
مولد مغلف باستخدام Sporth:
4 metro 0.5 maytrig 0.001 0.01 0.01 tenvx 1000 0.5 sine *
Sporth يسمح لك بالعمل مع المتغيرات ، والتضمين حدودي وعمليات المكدس مباشرة. جميع العوامل المستخدمة موجزة ويتم تنفيذها بالترتيب.
يزيد هيكل اللغة هذا من سرعة كتابة التعليمات البرمجية. هذا أحد الأسباب الرئيسية لاستخدامه في الجلسات الحية - عندما يكتب مبرمج الملحن الموسيقى في الوقت الفعلي أمام جمهور مباشر. بالمناسبة ، يمكنك دراسة جميع المشغلين بشكل مستقل وتجربته على أرض الواقع - تتمتع الشبكة
ببيئة تفاعلية أثناء التنقل.
أيضا على الموقع يمكنك أن تجد العديد من
الأمثلة الموسيقية .
الصورة سليم Emcee / Unsplashلكن المقيمين في Hacker News يشيرون إلى أن اللغة بها وثائق هزيلة إلى حد ما ، وهي ليست مناسبة لـ "مبرمجي الموسيقى" المبتدئين. يعد المؤلف بإصلاح هذا القصور ، لكن في الوقت الحالي يمكنك الرجوع إلى كتاب الطبخ والمواصفات المواضيعية على GitHub .
لدى Sporth أيضًا واجهة برمجة تطبيقات للتكامل مع تطبيقات الجهات الخارجية. يفتح الميزات غير المتوفرة في بيئة تفاعلية ، مثل وظائف رد الاتصال المخصصة. على وجه الخصوص ، يتم
استخدام Sporth بالفعل من
قبل مطوري الإطار لتجميع أصوات
AudioKit لنظام التشغيل iOS.
النظير
عدد نظائر Sporth واسع للغاية ، ولكن من بينها لغة
ChucK يمكن تمييزها. تم تطويره بواسطة المهندسين Perry Cook (Perry Cook) و Guy Wong (Ge Wang) من جامعة Princeton خصيصًا للعروض الحية. ChucK هي لغة متعددة النماذج مع كتابة بيانات قوية متاحة لأنظمة التشغيل Windows و Linux و Mac OS X. وهو يدعم التنفيذ المتوازي لعدة سلاسل عمليات ويسمح لك بتعديل البرنامج مباشرة في وقت التشغيل.
الوثائق مع أمثلة التنفيذ
متاحة على موقع المشروع .
بالإضافة إلى ChucK ، هناك
Supercollider - هذه ليست فقط لغة ، ولكن أيضًا بيئة توليفة صوتية في الوقت الفعلي. تتيح لك الأداة كتابة واجهات المستخدم الرسومية المخصصة للعمل مع الصوت: المتزلجون والمحللون وغيرهم. يمكنك استخدام أجهزة MIDI و
HID لإدارة التسجيلات الخاصة بك.
ومن المثير للاهتمام ، أن الموسيقى مكتوبة أيضًا باستخدام لغة Forth المذكورة سابقًا ، والتي ألهمت Paul Batchelor. يعتمد على
مشروع Synstack - نظام أساسي
للأجهزة والبرامج لتوليد الصوت على متحكم
STM32F4 / F7 . يدعم Synstack أكثر من 25 مشغلاً: مولدات الإشارات (موجة جيبية ، منشار ، منحنى بيزير) ، مرشحات ، وظائف جبرية ، وما إلى ذلك. يستخدم فورث أيضًا لتقديم ديناميكي
للرسومات - هناك منصة
Forth Haiku لهذا الغرض. من الناحية النظرية ، الصك مناسب لتصور الصوت.
كما تجدر الإشارة إلى أدوات البرمجة الموسيقية مثل Csound و Pure Data و Importu. إذا كان عليك العمل مع أي لغة أخرى من الأفكار. البرمجة ، وتبادل تجربتك في التعليقات.
قراءة إضافية من "عالم Hi-Fi" الخاص بنا:
ما هي البرمجة الموسيقية - من يفعل ذلك ولماذا
كيف غزا الكمبيوتر الشخصي صناعة الوسائط بالبرامج: مناقشة Pro Tools و Media Composer
مثل صدع النار ، صراخ الأبواب والضوضاء تصبح الموسيقى
"كل ما تقرأه سوف يستخدم ضدك": كيف دخلت موسيقى الراب إلى قاعة المحكمة
صناع موسيقى ألعاب الفيديو: بعض الأسماء البارزة
أين يمكنك الحصول على عينات صوتية لمشاريعك: مجموعة مختارة من تسعة مصادر مواضيعية