العودة
نظرية الموسيقى للمبرمجين: استخلاص النغمات الاثنتي عشرة بالكود
SiTech AI Team3 წთ. საკითხავი

نظرية الموسيقى للمبرمجين: استخلاص النغمات الاثنتي عشرة بالكود

يدوّن منشور على مدونة RunJS نظرية الموسيقى من المبادئ الأولى بالكود: المُذبذبات والنسب التوافقية وخلل الضبط تقود إلى النغمات الاثنتي عشرة والسلالم والكوردات. وتعتمد الأمثلة على JavaScript وWeb Audio API داخل المتصفح.

يقدّم منشور على مدونة RunJS تعليم نظرية الموسيقى بالطريقة التي يتعلّمها بها مهندس برمجيات: استخلاص كل شيء من رقم واحد يتغير بمرور الزمن، باستخدام جافاسكربت عادية وواجهة Web Audio داخل المتصفح.

يبدأ الكاتب باعتراف: محاولات متكررة لتعلّم آلة موسيقية لم تتجاوز إصدار نغمات صحيحة تقريباً، ويشرح سبب فشلها بأن شروح النظرية كانت تعرض النتيجة وتتجاهل السبب. "هذه المدرج الموسيقي، وهذا سلّم كبير، احفظ النمط. لماذا هذه النغمات تحديداً؟ لأن هذا هو المتعارف عليه"، كما يقول. لكن المنشور يبدأ بدلاً من ذلك من موجة جيبية، ولا يطلب من القارئ قبول أي شيء دون تفسير.

من موجة جيبية إلى اثنتي عشرة نغمة

الصوت هو تذبذب ضغط الهواء، لذلك يكفي مُذبذِب بتردد 440 هرتز كنقطة انطلاق: التردد هو الطبقة، والرقم 440 ليس سوى الرقم الذي اتفق العالم على تسميته "لا". وأول صعوبة حقيقية فيزيائية لا موسيقية: إيقاف المُذبذِب في منتصف الموجة ينتج نقرة، ويعالج المنشور ذلك بمغلّف صوتي — منحنى الصعود والانحدار الذي يحوّل نغمة اختبارية إلى صوت يُستمع إليه مرتين.

أما الجرس فينبع من السلسلة التوافقية: الوتر المضبوط على 440 هرتز يهتز أيضاً بأنصاف وأثلاث وأرباع، فيضيف ترددات هادئة عند 880 و1320 و1760 وما فوق. هذه الوصفة من التوافقيات، لا النغمة الأساسية، هي ما يجعل الكمان يختلف عن البوق. ومن هنا تُشتق الأوكتاف (مضاعفة التردد تعطي النغمة نفسها) ثم التناغم: كلما كان النسبة أبسط بدا الزوج أفضل، لأن النسب البسيطة تتشارك توافقيات أكثر وتتراكب بصورة أقل.

الخلل في نظام الضبط

اثنتا عشرة خماسة نقية تتجاوز سبعة أوكتافات بمعامل 1.0136 — وهي الأصوار الفيثاغورية، أي نحو 23 سنتاً. لا يمكن إصلاحها، ويعطي المنشور السبب الذي يعرفه أي مبرمج: لإغلاق الدورة يجب أن يساوي 3^n الرقم 2^(n+m)، وقوة الثلاثة لا تساوي أبداً قوة الاثنين. والحل هو التعديل المتساوي: تقسيم الأوكتاف إلى اثنتي عشرة خطوة متساوية، كل منها جذر الثاني عشر للعدد اثنين. ولماذا اثنتا عشرة؟ يُظهر البحث الشامل بين كل التقسيمات الممكنة أن 12 هو أول رقم تكون أفضل خماسة فيه دقيقة بنحو عُشر بالمئة.

السلالم والكوردات وما بقي مجهولاً

بعد ذلك يتحول كل شيء إلى مصفوفات. السلّم قائمة فواصل — السلّم الكبير [2,2,1,2,2,2,1] — والأنماط اليونانية هي المصفوفة نفسها مُدارة، والكورد الثلاثي هو كل نغمة ثانية ([0,2,4]) لأن النغمات المتباعدة بدرجتين تتشارك التوافقيات أصلاً. ويلاحظ الكاتب أن الكبير والصغير يفترقان بنصف نغمة في عنصر واحد. أما الأرقام الرومانية فهي عنونة نسبية، ولهذا تعمل جداول الكوردات نفسها في كل مقام.

وينتهي الكاتب بعرض ما لا يفهمه بعد، ومنه الإيقاع وقيادة الأصوات، ويشير للقرّاء إلى مقال "Music Theory for Nerds" لإيفي، وموقع LightNote، ووثائق Web Audio على MDN. والمنشور كله إجابة تقليد واحد فقط، كما يعترف، لكنه لم يبق معلومات تُحفظ عن ظهر قلب.

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.