» آلات موسيقية »المزج بأربعة أصوات على Arduino Uno

المزج بأربعة أصوات على Arduino Uno



جاء مؤلف كتاب Instructables تحت الاسم المستعار rgco بمُركِّب صوتي 1.5 أوكتاف رباعي اردوينو أونو. للمقارنة ، فإن توليفات الأطفال المنتشرة التي تختلف عن بعضها البعض فقط في التصميم والمصنوعة بواسطة نفس الشريحة هي صوت ثلاثي. صحيح ، يمكنهم مرافقة الموسيقى تلقائيًا مع الإيقاع ، وحفظ الألحان بصوت واحد وتقليد أصوات الحيوانات. ولكن بعد ذلك محلية الصنع يبدو أجمل. لماذا؟



كل شيء عن المعلمات. تردد أخذ العينات 31 كيلو هرتز ، 9 بت ، 4 أصوات ، توليف FM مع مسح متغير الوقت ، مغلف ADSR ، 12 أداة افتراضية ، 18 مفتاحًا تمتد على 1.5 أوكتاف.

يقوم السيد بتأليف دائرة المزج في Fritzing:



في ذلك ، يحاكي موقع المكونات على لوحة توصيل من نوع لوحة توصيلات والوصلات بينها:



ويجمع المخطط في الحياة الواقعية:



مجرد "صب واستخدام" هو أبسط شيء يمكنك القيام به مع التصميم. 18 مفتاحًا (من BEFORE الرابع أوكتاف إلى خامس FA) - للعب ، يقوم التاسع عشر بتبديل الأدوات الافتراضية في حلقة: بيانو ، إكسيليفون ، جيتار ، صنج ، أجراس ، غير تقليدي ، اهتزاز ، معدن ، كمان ، باس ، بوق ، أكورديون. تتأثر طبيعة الصوت بمدة ضغطات المفاتيح ، ولكن ليس الجهد ، على عكس المزج الاحترافي. لكن المطور يريد منك أن تجرب برمجة أدواتك الافتراضية أيضًا. يتم إعطاء كل واحد منهم بعشر معلمات. يخبرك المعالج بالمعلمة التي يعتمد عليها.

ldness - الحجم

إذا كانت هذه المعلمة أقل من 64 ، يتم استبعاد الحمل الزائد والتشوهات ذات الصلة. ولكن إذا قمت ببرمجة مثل هذه الآلة الافتراضية التي لا تبدو في الحد الأقصى لحجم الصوت لفترة طويلة ، فقد تتجاوز قيمة هذه المعلمة 64 ، لأن الأصوات الأربعة لا تصدر في وقت واحد بشكل متكرر.

pitch0 - تحول الملعب

يتوافق النطاق مع ما سبق ، إذا قمت بتعيين هذه المعلمة على 12. تقليل التحركات لأسفل ، زيادة - لأعلى. يتوافق الصفر مع التحول إلى أوكتاف واحد بالضبط ، 24 إلى أعلى بالضبط أوكتاف واحد.

ADSR_a - معدل انحراف الحجم من صفر إلى الحد الأقصى

الأصغر والأبطأ.على سبيل المثال ، 8192 يتوافق مع 4 مللي ثانية ، 256 إلى 128 مللي ثانية.

ADSR_d - سرعة لخفض مستوى الصوت من الحد الأقصى إلى الحجم المحدد بواسطة معلمة ADSR_s.

المبدأ هو نفسه.

ADSR_s - القيمة التي ينخفض ​​إليها مستوى الصوت عند الضغط على المفتاح لفترة طويلة

على سبيل المثال ، 256 - يظل مستوى الصوت الأقصى طوال الوقت أثناء الضغط على المفتاح. 192 - ينخفض ​​الحجم إلى 80 بالمائة ويظل كذلك أثناء الضغط على المفتاح. 0 - ينخفض ​​مستوى الصوت إلى الصفر ، حتى إذا تم الضغط باستمرار على المفتاح.

ADSR_r - السرعة لخفض مستوى الصوت إلى الصفر بعد تحرير المفتاح

المبدأ هو نفسه بالنسبة لمعلمات ADSR_a و ADSR_d.

FM_inc - نسبة تردد التشكيل إلى نغمة

مع قيمة 256 ، يتبين أن هذه النسبة هي 1: 1 ، مع 512 - 2: 1 ، مع 128 - 1: 2 ، والباقي قياسا. إذا تم تعيين هذه المعلمة على مضاعفات 64 ، فسيكون الصوت متناغم.

FM_a1 - مدى تعديل التردد في بداية الملاحظة

256 يتوافق مع مجموعة واسعة من التوافقيات. مع انخفاض ، تصبح النغمة أنظف ، مع زيادة التوافقيات تصبح أكثر.

FM_a2 - تعديل تردد المسح في نهاية الملاحظة

المبدأ هو نفسه. بالنسبة لمعظم الأدوات الحقيقية ، تتحلل التوافقيات بشكل أسرع من النغمة الأساسية. إذا فعلت العكس ، ستحصل على أصوات غير عادية.

FM_dec - سرعة الانتقال لنطاق تعديل التردد من النطاق الذي تحدده FM_a1 إلى النطاق الذي تحدده FM_a2

المبدأ هو نفسه بالنسبة للمعلمات ADSR_a و ADSR_d و ADSR_r.

يتم الحصول على تردد PWM من 31،250 هرتز عن طريق قسمة تردد الساعة (16 ميجاهرتز) على 512. تم تصميم البرنامج بطريقة ترتبط الأحداث بالوقت دون انقطاع. بدلاً من ذلك ، يتم تضمين بت تجاوز الموقت. لكي يتمكن البرنامج من القيام بكل ما هو مطلوب منه ، يتم استخدام الأعداد الصحيحة من 8 و 16 بت فقط. يتم تقديم الموجة الجيبية في شكل جدول بأرقام 8 بت. يتم توزيع العمليات الإضافية - قراءة الحالات الرئيسية ، وتغيير الأدوات الافتراضية ، واختيار الأصوات ، وحساب معلمات الملاحظات التي تتغير في الوقت - بين 15 إجراءً ، والتي تستغرق 0.48 مللي ثانية لإكمالها. في هذا الوقت ، يتم تنفيذ بعض العمليات بدقة 32 بت ، وهو أمر ضروري لمضاعفة رقمين ثنائيين 16 بت.

تبدو الموجة الجيبية البسيطة باهتة لأنه لا توجد توافقيات في طيفها. يسمح لك توليف FM باستقبالها وتغيير طيفها بمرور الوقت ، ومحاكاة صوت الآلات الحقيقية. تعطي الترددات المتعددة صوتًا غير متناسق يحدث ، على سبيل المثال ، في الأجراس. يقلد الجهاز جيدًا التغيير في الطيف المتأصل في الآلات الحقيقية بمرور الوقت ، عندما تتحلل بعض التوافقيات بشكل أسرع من غيرها.
10
9.3
8.4

أضف تعليقًا

    • ابتسميبتسمxaxaحسنًالا أعرفياهونيا
      رئيسهالصفرأحمقنعمنعم نعمعدوانيسر
      آسفارقصرقص 2رقص 3العفومساعدةالمشروبات
      توقفالأصدقاءجيدجيدصفارة الحكمإغماءلسان
      دخانالتصفيقصرخةيعلنمشتقعدم الإشارةتنزيل
      الحرارةغاضبتضحك 1mdaاجتماعالمسكسلبي
      not_iالفشارمعاقبةاقرأتخويفيخيفبحث
      ساخرشكرا لكهذاtoclclumnikحادتوافق
      سيءالنحلblack_eyeblum3استحىتباهىالملل
      للرقابةإرضاءسر 2تهددانتصاريونظارة شمس
      صدمةتنفسههههساداهلا وسهلاكروتويya_za
      ya_dobryiالمساعدne_huliganne_othodiحمىحظرقريب
1 تعليق
kiril_vihrov7892
مشروع مثير للاهتمام.
رأيت مؤخرًا مشروع "Synthesizer on Arduino" كمفاتيح ، يتم استخدام لوحة مفاتيح الكمبيوتر بالكامل تقريبًا
من كل تفاصيل اردوينو ومكبر صوت وجهاز كمبيوتر.
تطبيق PC يقوم بكل العمل ، فهو يتحكم في Arduino من خلال منفذ com
كرر ، كل شيء يعمل بشكل جيد. نظرة يمكن أن تساعد

ننصحك بقراءة:

تسليمها للهاتف الذكي ...