لوحة مفاتيح موسيقية من Raspberry Pi
عرض/شرح
المبدعين/الأدوار
- أندرو دارلينغ
- كتب هيكل البرمجة الكائنية والمنطق للكود.
- رايلي رويال
- بنى الدائرة الكهربائية لـ RPBP.
- محمد يلماظ
- كتب عنصر واجهة المستخدم الرسومية ومولد النوتات الموسيقية للكود.
حول
كان مشروع البيانو الكهربائي Raspberry Pi (RPBP) مشروعًا نهائيًا لدورة أنظمة استشعار بايثون (CSCI-250)، وهي دورة دراسية جامعية مقدمة من مدرسة كولورادو للمناجم، خلال فصل الخريف 2019. كان المشروع مشروعًا جماعيًا يتكون من أندرو دارلينغ، رايلي رويال، ومحمد يلماظ. تم الانتهاء منه رسميًا في أواخر نوفمبر 2019، أوائل ديسمبر 2019.
مشروعنا هو بيانو كهربائي Raspberry Pi (RPBP). فكرة RPBP هي لوحة مفاتيح موسيقية تحتوي على مجموعة من 13 مفتاحًا، حيث تكون المفاتيح مجرد أزرار، يمكن أن تعمل مثل مفاتيح البيانو. عند الضغط على مفتاح، سيتسبب ذلك في إصدار واحد أو أكثر من الصافرات بأصوات مختلفة اعتمادًا على الزر الذي تم الضغط عليه. سيكون هناك أيضًا اثنان من المقاومات المتغيرة، حيث سيتم استخدام أحدهما للتغيير بين 3 أوضاع من RPBP والثاني يستخدم لتغيير الأوكتافات للصافرات. الأوضاع الثلاثة في RPBP هي: اللعب الحر، التسجيل، والتشغيل. يسمح الوضع الحر للمستخدم باللعب على RPBP وسماع ما يضغط عليه. يسمح وضع التسجيل للمستخدم باللعب بحرية على RPBP وفي نفس الوقت تسجيله في ملف npy بالإضافة إلى إنشاء نوتات موسيقية، في شكل PDF، لذلك التسجيل. يسمح وضع التشغيل للمستخدم بإدخال اسم ملف مسجل وستقوم الدائرة بتشغيل ذلك الملف المسجل من خلال الصافرات. سيتم حفظ جميع النوتات الموسيقية في دليل واحد، حتى يتمكن المستخدم دائمًا من الرجوع إلى نوتاته الموسيقية إذا رغب في ذلك. يحتوي كل زر/مفتاح على LED لإظهار للمستخدم متى تم الضغط على زر/مفتاح. لقد تم إثبات أن هذا المشروع يعمل فقط على نظام Rasbian (نظام تشغيل Raspberry Pi) مع المتطلبات، الموضحة أدناه، تم إعدادها بشكل صحيح.
المتطلبات
- LilyPond
- Python3
- Raspberry Pi B 3+
- نظام تشغيل Raspberry Pi (ISO)
- جعل LilyPond يعمل مع ARM (Raspberry Pi)
- NumPy
- Bash
- لوحة الدائرة الكهربائية
المعلومات
- الأوضاع:
- اللعب الحر: يسمح للمستخدم باللعب فقط على RPBP.
- التسجيل: يسمح للمستخدم بتسجيل ما يعزفه، وحفظ ذلك التسجيل، وإنشاء نوتات موسيقية لما قام بتسجيله.
- التشغيل: يسمح للمستخدم بتشغيل أي تسجيل قام بتنزيله أو صنعه.
- كتم الصوت: يكتم جميع الصافرات على RPBP.
- كيفية التحديث بين الأوضاع:
- تغيير الإعدادات/القيم على واجهة المستخدم الرسومية واضغط على زر الإرسال.
- ملاحظات أخرى:
- لمعرفة المزيد عن RPBP من واجهة المستخدم الرسومية، اضغط على زر README وسيفتح هذا README.
الدائرة الكهربائية
- يمكنك عرض صور لوحة الدائرة الكهربائية المستخدمة في هذا المشروع في قسم صور الدائرة.
- Pi Wedge متصل بـ Raspberry Pi 3 B+ عبر كابل شريطي.
- يقوم Raspberry Pi بتشغيل الكود المقدم في هذا المستودع مع التعريفات المدرجة في هذا README.
- عذرًا على فوضى تخطيط الدائرة، للأسف لم نوثق هذا الجزء بشكل جيد.
كيفية الاستخدام:
- أولاً، تأكد من تلبية جميع المتطلبات ثم نفذ سكربت start.sh bash وستظهر واجهة المستخدم الرسومية.
- ثانيًا، اختر الوضع الذي تريد استخدامه تحت علامة “الأوضاع”.
- [ هذه الخطوات مخصصة لمن يختار وضع “اللعب الحر” ]
- ثالثًا: اضغط على زر الإرسال وابدأ في العزف على RPBP
- [ هذه الخطوات مخصصة لمن يختار وضع “التسجيل” ]
- ثالثًا، اكتب الاسم الذي تريد إعطاؤه لملفك المسجل تحت علامة “اسم التسجيل”.
- ثالثًا، اضغط على الزر المسمى إرسال وسيتحول LED أحمر إلى التشغيل.
- ثالثًا، اعزف على RPBP وعندما تنتهي، اضغط على زر التوقف في واجهة المستخدم الرسومية.
- ثالثًا، بعد الضغط على زر التوقف، سيتم حفظ تسجيلك وسيتم إنشاء نوتاتك الموسيقية وفتحها كملف PDF لتتمكن من مشاهدتها وسيتم حفظها في دليل SHEETS.
- [ هذه الخطوات مخصصة لمن يختار وضع “التشغيل” ]
- ثالثًا، اختر ملف الأغنية الذي تريد تشغيله تحت علامة “إرساله”
- ثالثًا، اضغط على زر الإرسال وابدأ في الاستماع إلى ملف الأغنية الذي اخترته.
- [ هذه الخطوات مخصصة لمن يختار وضع “كتم الصوت” ]
- ثالثًا، فقط اضغط على زر الإرسال وسيتم كتم جميع الصافرات حتى تغير إلى وضع مختلف
- رابعًا، بعد الانتهاء من RPBP، اضغط على زر الخروج لإغلاق واجهة المستخدم الرسومية والبرنامج بشكل عام
صور الدائرة الكهربائية