جدول المحتويات:
- الخطوة 1: التبعيات
- الخطوة 2: تكوين قيم إدخال Midi
- الخطوة 3: أضف مجلدات إضافية بالعينات
- الخطوة 4: إضافة وتكوين عينات إضافية داخل مجلدات جديدة
- الخطوة 5: مرجع لوحة الأرقام
فيديو: آلة طبلة Raspberry Pi: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
عينة التسلسل ، عبر Raspberry Pi + Python.
يحتوي جهاز التسلسل على 4 نغمات متعددة الأصوات ويسمح للمستخدم بتخزين وتسجيل 6 تسلسلات مختلفة يمكنهم التبديل بينها في الوقت الفعلي ، ويدعم القدرة على التغيير بين العينات المختلفة.
لقد كتبت النص بطريقة قابلة للتشغيل تمامًا مع أي وحدة تحكم وأصوات MIDI. أستخدم 18 بنكًا مختلفًا للصوت ، و 16 عينة لكل منها ، ومع ذلك فإن إضافة أو طرح البنوك والعينات أمر سهل ولا يتطلب الكثير من التعديلات. إذا واجهتك أي مشكلة ، أرسل لي بريدًا إلكترونيًا: [email protected]
ابحث عن الكود على GitHub على:
يرجى إعلامي إذا كنت تستخدمه ، وخاصة إذا قمت بإنشاء مقطع فيديو به!
الخطوة 1: التبعيات
يتطلب هذا البرنامج وحدات Python (غير المدمجة) التالية:
ميدو
القزم
حبيبي
ومع ذلك ، فإن ميدو يلقي ببعض التعقيدات لأن ميدو نفسه يتطلب بعض التبعيات. للتأكد من تثبيتهم جميعًا ، ما عليك سوى كتابة الأوامر التالية في محطة Raspberry Pi (حذف "$") وسيكون كل شيء على ما يرام. يمكن تثبيت الوحدات الأخرى بشكل طبيعي.
sudo apt-get update
sudo apt-get install build-ضروري
sudo apt-get install libasound-dev أو libasound2-dev
sudo apt-get install libjack0
sudo apt-get install libjack-dev
sudo apt-get install python-pip
sudo apt-get install python-dev
sudo pip $ قم بتثبيت python-rtmidi
sudo pip install mido
الخطوة 2: تكوين قيم إدخال Midi
يوجد داخل نص Python Script الرئيسي مصفوفة تسمى noteList تتكون من 16 عددًا صحيحًا (السطر 165.) هذه هي قيم ملاحظة MIDI التي ترسلها وحدة التحكم الخاصة بنا إلى Pi لتشغيل الأصوات. تختلف كل وحدة تحكم ميدي ، لذا ما لم يكن لديك أيضًا Akai LPD8 ، فستحتاج على الأرجح إلى تغيير هذه القيم لتتناسب مع جهازك.
يتضمن Github repo أيضًا نصًا آخر يسمى "midihelp.py" تم تصميمه خصيصًا لهذا الغرض! كل ما يفعله هو طباعة قيم الإدخال من أول وحدة تحكم MIDI يتعرف عليها الكمبيوتر إلى وحدة التحكم. كل ما عليك فعله هو استبدال هذه القيم في المصفوفة إذا كانت تختلف عن القيم المضمنة في noteList.
يرتبط ترتيب الملاحظات أيضًا بالتأثير الصوتي الذي يتم تشغيله لكل مجلد ، لذا ضع ذلك في الاعتبار أيضًا.
الخطوة 3: أضف مجلدات إضافية بالعينات
يتم تخزين مجموعات العينات داخل البرنامج النصي عبر مجلدات في نفس الدليل ، قم بإعداد بالضبط كيفية وجود مجموعة 808 داخل ملف GitHub. بهذه الطريقة يمكنني تخزين جميع أنواع مجموعات العينات المختلفة داخل مجلدات يمكن تنظيمها واستبدالها بسهولة.
الشيء الوحيد الذي يجب تغييره في البرنامج النصي نفسه هو المتغير foldNum الذي يخبر البرنامج النصي فقط بعدد مجلدات العينات الموجودة. حاليًا يحتوي البرنامج النصي على foldNum مضبوطة على واحد نظرًا لوجود مجلد فرعي واحد فقط في نفس الدليل (مجموعة 808). الحد الأقصى للمجلدات التي يمكن للبرنامج النصي التعامل معها في الوقت الحالي هو 18 ، وهو عدد المجلدات التي أستخدمها ، ومع ذلك فهي تافهة إلى حد ما غير هذا ، اسمحوا لي أن أعرف إذا كنت بحاجة إلى مساعدة.
لا تهم أسماء المجلدات حقًا (طالما أنها جميعًا مختلفة) لأن البرنامج النصي يقرأ فقط مقدار المجلدات في نفس الدليل ويمسك المسارات بهذه الطريقة. ومع ذلك ، فإن أسماء الملفات نفسها مهمة ، وأكثر من ذلك في الخطوة التالية.
الخطوة 4: إضافة وتكوين عينات إضافية داخل مجلدات جديدة
يتم تحميل الأصوات في جهاز أخذ العينات عبر مجلدات في نفس الدليل تحتوي على ملفات.wav بأسماء مرقمة بين 0-15. راجع المجلد 808 المضمن للحصول على مثال على ذلك. يجب أن يبدو كل مجلد فرعي به عينات متطابقة مع بعضها البعض.
فهرس مدخلات MIDI في الصفيف noteList يتوافق تمامًا مع اسم ملف.wav.
على سبيل المثال:
- عند تشغيل ملاحظة MIDI المخزنة في noteList [0] ، سيتم تشغيل ملف wav 0.wav.
- عند تشغيل ملاحظة MIDI المخزنة في noteList [8] ، يمكن تشغيل ملف wav 8.wav.
لقد فعلت ذلك جزئيًا بحيث يمكن إعداد كل وحدة تحكم MIDI بسهولة للعمل مع البرنامج النصي ، وأيضًا يمكنني بسهولة توسيع نطاق العينة ورقم الإدخال أو تقييدهما ، بالإضافة إلى تنظيم الملفات والبرنامج النصي بحيث يتم تشغيل أسطوانة الطبل الأصوات ، على سبيل المثال ، سيتم حفظها دائمًا كـ 0.wav وسيتم تشغيلها بواسطة ملاحظة MIDI الأولى.
لقد اخترت 16 قيمة بشكل تعسفي إلى حد ما لتتوافق مع المدخلات الـ 16 الموجودة على وحدة التحكم الخاصة بي ، لذلك إذا كنت تفضل إنشاء مُسلسِل بعينة واحدة فقط ، أو مع أكثر من ذلك ، فكل ما عليك فعله هو ترقيم الملفات الصوتية وفقًا لذلك و اطرح أو أضف الأرقام المخزنة داخل مصفوفة noteList لمطابقتها.
إذا كانت مجموعة 808 المضمنة تعمل بشكل صحيح ولكن لديك مشكلة مع العينات الخاصة بك ، فمن المرجح أن يكون الحل هو تغيير معدل عينة الملفات لمطابقة معدل عينة PyGame البالغ 22 و 050 كيلو هرتز وعمق البت الذي يبلغ 16. يمكنك القيام بذلك في Audacity أو أي برنامج آخر لتحرير الصوت. يجب أن يعملوا بشكل مثالي من هناك!
الخطوة 5: مرجع لوحة الأرقام
حسنًا ، هناك الكثير من الأشياء التي تحدث داخل جهاز التسلسل ، أكثر مما كنت أفكر فيه في البداية ، لذلك حشرني قليلاً على لوحة الأرقام لمطابقة الوظيفة المتزايدة. هذا في الاعتبار ، النجمة * والنقطة. كلاهما يعمل كمفاتيح وظيفية.
المرجعي
وظائف رئيسيه
[8] - تبديل المسرع وإيقاف تشغيله
[9] - تبديل وضع التسجيل وإيقاف تشغيله
[أدخل] - تشغيل / إيقاف تسلسل
[0] - حذف الملاحظة الحالية في التسلسل
[Num Lock و *] - اغلاق
[ملاحظة MIDI و.] - لا تحدد الأرقام الزوجية
وظائف TEMPO
[+] - دورة تسريع BPM
[-] - دورة إبطاء BPM
[+ و *] - تسريع BPM بسرعة
[- و *] - سرعة إبطاء BPM
[+ و.] - غرامة تسريع BPM
[- و.] - غرامة إبطاء BPM
وظائف التسلسل
[1-6] استدعاء التسلسل 1-6
[1-6 و.] تخزين التسلسل 1-6
[0 و.] امسح التسلسل الحالي
تغيير مجلدات العينة
[1-9 و *] - التغيير إلى نموذج حزمة في المجلدات 1-9
[1-9 و * و.] - التغيير إلى نموذج حزمة في مجلدات 10-18
إرشادات التسلسل:
- امسح التسلسل الحالي [0 و.] وقم بتخزينه في أي تسلسلات تريد مسحها من الذاكرة.
-استدعاء تسلسل وقم بتخزينه في رقم مختلف لنسخه.
موصى به:
إعداد آلة ألعاب Raspberry Pi Retro: 5 خطوات
إعداد آلة ألعاب Raspberry Pi Retro: لتكرار ألعاب الأركيد القديمة من الأيام الأولى للحوسبة ، يعد Rasberry Pi والمصاحب لنظام Retropie أمرًا رائعًا لإجراء إعداد في المنزل على أي ألعاب قديمة قد ترغب في لعبها أو كهواية لها تعلم بي. كان هذا النظام ل
آلة بيع مع مقياس لتأكيد Itemdrop (Raspberry Pi): 5 خطوات
آلة البيع مع مقياس لتأكيد Itemdrop (Raspberry Pi): مرحبًا بزميل صانع ، بالنسبة لمشروع مدرسي ، قررت صنع آلة بيع الوجبات الخفيفة. كانت مهمتنا هي إنشاء جهاز قابل للتجديد يستخدم على الأقل 3 أجهزة استشعار ومشغل واحد. ذهبت لصنع آلة بيع جزئيًا لأنني تمكنت من الوصول إلى بعضها
طبلة الموسيقى Piezolectric DIY: 7 خطوات
طبلة الموسيقى Piezolectric DIY: يمكن تنفيذ الخطوات من 1 إلى 5 في الغالب بأي ترتيب ، ويعتمد ذلك على ما تريد القيام به أولاً ، هذا هو أول تدريب لي ، لذا يرجى إخباري إذا تم إيقاف تشغيل أي شيء! أنا آسف إذا اختلطت أي خطوات ، آمل ألا تمانع
وسادات طبلة ميدي أورف باس بار: 5 خطوات
وسادات طبلة ميدي أورف باس بار: هل تريد صنع طبلة ميدي؟ هل تريد أن يكون لديك شريط Orff Bass متحرك؟ اتبع هذا البرنامج التعليمي واصنع بنفسك! شجع التعديل … كن غريبًا معه
وسادات طبلة مع اردوينو: 6 خطوات
وسادات الطبلة مع Arduino: مرحبًا ، سأوضح لك في هذا البرنامج التعليمي كيفية إنشاء منصات طبول بسيطة باستخدام Arduino. لقد استخدمت نغمات لنسخها في النهاية بواسطة Linkin Park