coseru.id - Coding asik & Seru

🔍 Cari Materi & Kelas

Musik & Audio Tingkat: Pemula 4 x dilihat

Piano Tutor: Belajar Piano dengan LED, Arduino, Keyboard MIDI, dan MuseScore

Piano Tutor: Belajar Piano dengan LED, Arduino, Keyboard MIDI, dan MuseScore

Ringkasan Proyek

Proyek ini mengubah keyboard MIDI atau digital piano menjadi alat bantu belajar piano interaktif dengan memasang LED RGB di sepanjang tuts. Arduino UNO mengendalikan LED NeoPixel, sementara MuseScore yang telah dimodifikasi membaca file MIDI dan menyalakan LED sesuai nada yang harus dimainkan. Pengguna dapat berlatih mengikuti cahaya LED tanpa harus membaca notasi musik, serta mengatur tempo dan mengulang bagian lagu sesuai kebutuhan.

Bahan & Komponen

Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.

Daftar Komponen & Perangkat Keras

  • 1x Arduino UNO (Mikrokontroler yang menerima perintah dari komputer dan mengendalikan LED RGB).
  • 1x Adafruit NeoPixel RGB LED Strip, 144 LED (LED addressable yang dipasang sepanjang keyboard untuk menunjukkan tuts yang perlu dimainkan).
  • 1x Keyboard MIDI atau digital piano (Instrumen musik yang digunakan untuk memainkan nada dan mengirimkan input MIDI ke komputer).
  • 1x PC atau laptop dengan Linux (Menjalankan MuseScore yang telah dimodifikasi serta menghubungkan keyboard MIDI dengan Arduino).
  • 1x Kabel USB Arduino (Menghubungkan Arduino UNO ke komputer untuk pemrograman dan komunikasi serial).
  • 1x Kabel USB keyboard atau MIDI-to-USB converter (Menghubungkan keyboard MIDI ke komputer. Converter diperlukan jika keyboard hanya memiliki konektor MIDI OUT).
  • Kabel jumper (Menghubungkan pin 5V, GND, dan data Arduino ke LED strip, jika diperlukan untuk instalasi).

Perangkat Lunak dan Library

  • Arduino IDE (Digunakan untuk membuka, memeriksa, dan mengunggah program ke Arduino UNO).
  • Adafruit NeoPixel Library (Library Arduino untuk mengendalikan LED RGB addressable).
  • MuseScore versi Piano Tutor (Versi MuseScore yang telah dimodifikasi oleh pembuat proyek agar dapat mengirimkan perintah LED dan menerima input MIDI dari keyboard).
  • Git (Digunakan untuk mengunduh repository MuseScore dari GitHub).
  • CMake dan build dependencies MuseScore (Perangkat pendukung untuk mengompilasi MuseScore di Linux).
  • ALSA tools dan aconnect (Membantu mengelola koneksi perangkat MIDI pada sistem Linux).
  • QjackCtl (Antarmuka grafis untuk melihat dan mengatur koneksi MIDI pada sistem ALSA).

Catatan Tambahan

Artikel menyebutkan LED strip NeoPixel sepanjang 1 meter dengan 144 LED. Untuk keyboard 61 tuts, strip dapat dipotong sesuai panjang yang diperlukan. Untuk keyboard 88 tuts, satu strip mungkin tidak mencakup seluruh area tuts; beberapa strip dapat dirangkai berurutan dengan menghubungkan Data OUT strip pertama ke Data IN strip berikutnya.

Pembuat proyek menggunakan Linux karena modifikasi MuseScore pada repository tersebut secara khusus dikembangkan untuk Linux. Porting ke Windows atau macOS membutuhkan penyesuaian tambahan. Perangkat lunak ini juga memerlukan versi MuseScore hasil kompilasi dari repository proyek, bukan sekadar instalasi MuseScore standar.

Langkah Pembuatan

Khusus Member

Panduan perakitan tahap demi tahap dan catatan proses pengerjaan.

Proyek Piano Tutor menggabungkan Arduino UNO, LED strip NeoPixel, keyboard MIDI, dan MuseScore untuk membantu seseorang belajar memainkan piano. LED dipasang di sepanjang keyboard dan akan menyala sesuai nada yang sedang dimainkan atau nada yang harus ditekan berikutnya. Dengan begitu, pengguna dapat berlatih mengikuti petunjuk cahaya tanpa harus terus-menerus membaca lembar notasi musik.

\"ArduinoFoto perangkat Piano Tutor pada keyboard digital dari proyek asli Hackster.io

Langkah 1: Siapkan Perangkat dan Komponen

Siapkan Arduino UNO, LED strip Adafruit NeoPixel 144 RGB LED, keyboard MIDI atau digital piano, serta komputer atau laptop dengan sistem operasi Linux. Siapkan kabel USB untuk Arduino dan kabel untuk menghubungkan keyboard ke komputer. Jika keyboard hanya memiliki konektor MIDI OUT, siapkan MIDI-to-USB converter.

Langkah 2: Kenali Kabel pada NeoPixel LED Strip

NeoPixel merupakan LED RGB addressable, artinya setiap LED dapat dikendalikan secara individual melalui jalur data. Pada strip yang digunakan dalam proyek ini terdapat tiga jalur utama: GND (biasanya kabel hitam), +5V (biasanya kabel merah), dan Data (umumnya kabel hijau atau putih). Perhatikan tanda panah kecil pada strip untuk mengetahui arah aliran data. Data harus masuk melalui sisi Data IN, bukan Data OUT.

Langkah 3: Hubungkan NeoPixel ke Arduino UNO

Hubungkan kabel Data IN NeoPixel ke pin digital 7 Arduino UNO. Hubungkan GND strip ke GND Arduino dan kabel +5V strip ke sumber tegangan 5V. Pembuat proyek menyatakan bahwa untuk konfigurasi miliknya, ketika hanya beberapa LED menyala dengan tingkat kecerahan sangat rendah, jalur 5V dan GND Arduino dapat digunakan langsung. Namun, untuk penggunaan banyak LED atau tingkat kecerahan tinggi, gunakan catu daya eksternal 5V yang sesuai.

Strip 144 LED berpotensi membutuhkan arus hingga sekitar 7A pada 5V atau sekitar 35W jika seluruh LED menyala dengan kecerahan penuh. Karena itu, jangan mengalirkan daya sebesar itu melalui pin 5V Arduino. Jika memakai catu daya eksternal, hubungkan GND catu daya tersebut dengan GND Arduino agar sinyal data memiliki referensi ground yang sama.

Langkah 4: Atur Posisi LED di Sepanjang Keyboard

Letakkan LED strip di sepanjang keyboard sehingga setiap LED dapat menunjukkan posisi tuts yang sesuai. Strip yang digunakan memiliki 144 LED dalam panjang sekitar 1 meter. Pembuat proyek menggunakan pola sekitar satu LED untuk setiap dua LED yang tersedia karena jumlah LED lebih banyak daripada jumlah posisi tuts yang dibutuhkan.

Untuk keyboard 61 tuts, strip dapat dipotong sesuai panjangnya. Untuk keyboard 88 tuts, satu strip mungkin tidak cukup menjangkau seluruh tuts. Kamu dapat menyambungkan beberapa strip dengan menghubungkan Data OUT dari strip pertama ke Data IN strip berikutnya, serta meneruskan jalur 5V dan GND.

Langkah 5: Hubungkan Keyboard MIDI ke Komputer

Jika keyboard atau digital piano memiliki koneksi USB, hubungkan langsung ke port USB komputer. Jika keyboard hanya memiliki konektor MIDI OUT, gunakan kabel MIDI untuk menghubungkannya ke MIDI-to-USB converter, kemudian hubungkan converter ke komputer menggunakan kabel USB. Komputer akan menerima data MIDI dari keyboard dan meneruskannya ke MuseScore.

Langkah 6: Unduh Repository MuseScore Piano Tutor

Buka Terminal Linux dan unduh repository MuseScore yang telah dimodifikasi oleh pembuat proyek. Jalankan perintah berikut secara berurutan:

git clone https://github.com/tomcucinotta/MuseScore.git cd MuseScore git checkout piano-tutor

Perintah pertama mengunduh repository, perintah kedua masuk ke folder repository, dan perintah ketiga memilih branch piano-tutor yang berisi modifikasi untuk fitur Piano Tutor.

Langkah 7: Siapkan Arduino IDE dan NeoPixel Library

Instal Arduino IDE pada komputer Linux jika belum tersedia. Artikel memberikan contoh perintah instalasi melalui Terminal:

sudo apt-get install arduino

Selanjutnya, instal Adafruit NeoPixel Library melalui menu Sketch > Include Library > Manage Libraries pada Arduino IDE. Cari Adafruit NeoPixel, kemudian instal library tersebut. Library ini diperlukan agar sketch Arduino dapat mengendalikan LED RGB addressable.

Langkah 8: Buka dan Unggah Sketch Arduino

Di dalam repository MuseScore yang telah diunduh, buka file sketch Arduino pada lokasi miditools/PianoTutor/PianoTutor.ino. Hubungkan Arduino UNO ke komputer menggunakan kabel USB. Pada Arduino IDE, pilih model board yang sesuai melalui Tools > Board dan pilih port USB melalui Tools > Port. Tekan Verify untuk memeriksa program, lalu Upload untuk mengunggahnya ke Arduino.

Langkah 9: Uji Komunikasi Arduino melalui Serial Monitor

Setelah sketch berhasil diunggah, buka Serial Monitor melalui menu Tools > Serial Monitor atau tekan Ctrl+Shift+M. Atur kecepatan komunikasi serial menjadi 115200 Baud. Jika koneksi berhasil, Arduino akan menampilkan pesan seperti Piano Tutor v0.x is ready!.

Untuk menguji LED, ketik perintah h10202020 pada Serial Monitor lalu tekan Enter. Menurut tutorial, LED ke-17 akan menyala dengan warna putih redup. Selanjutnya, ketik h10000000 untuk mematikan LED tersebut. Setelah pengujian selesai, tutup Serial Monitor dan Arduino IDE agar port serial dapat digunakan oleh MuseScore.

Langkah 10: Siapkan Dependensi MuseScore di Linux

Pastikan seluruh dependensi untuk mengompilasi MuseScore sudah terpasang. Artikel memberikan contoh perintah berikut:

sudo apt-get build-dep musescore sudo apt-get install cmake-qt-gui

Perintah pertama memasang dependensi build MuseScore, sedangkan perintah kedua memasang CMake Qt GUI. Jika perintah build-dep mengalami masalah karena repository source belum diaktifkan, periksa konfigurasi repository Linux yang digunakan.

Langkah 11: Kompilasi dan Instal MuseScore Piano Tutor

Setelah dependensi siap, masuk ke direktori repository MuseScore dan jalankan perintah kompilasi sesuai tutorial:

make PREFIX=/usr/local/mscore-git SUFFIX=-git release sudo make install

Perintah pertama membangun MuseScore dengan lokasi instalasi dan akhiran nama program khusus agar tidak tertukar dengan instalasi MuseScore lain. Perintah kedua memasang hasil kompilasi. Untuk membuka file MIDI menggunakan versi ini, jalankan:

/usr/local/mscore-git/bin/mscore-git /path/to/file.mid

Ganti /path/to/file.mid dengan lokasi file MIDI yang ingin digunakan.

Langkah 12: Atur Koneksi MIDI pada Linux

Instal alat bantu koneksi MIDI yang digunakan dalam tutorial:

sudo apt-get install alsa-tools sudo apt-get install qjackctl

Buka MuseScore, masuk ke Edit > Preferences > I/O, lalu aktifkan ALSA audio. Atur period size sekitar 512–1024 samples. Selanjutnya, buka Edit > Preferences > Note Input dan aktifkan Enable MIDI input.

Buka QjackCtl, tekan Connect, lalu pilih tab ALSA. Hubungkan perangkat MIDI atau MIDI-to-USB converter yang muncul di sisi kiri ke port input MuseScore di sisi kanan. Tutorial menyarankan untuk tidak menjalankan jackd ketika menggunakan konfigurasi ALSA sederhana ini. Untuk menguji koneksi, masuk ke mode edit MuseScore dengan menekan tombol N, lalu tekan salah satu tuts keyboard. Jika koneksi berhasil, notasi akan muncul pada lembar musik dan bunyi dapat terdengar melalui perangkat audio yang dikonfigurasi.

Langkah 13: Buka Piano Tutor

Jalankan MuseScore versi hasil kompilasi, kemudian buka file MIDI. Tekan tombol T pada keyboard komputer atau klik tombol paling kanan pada toolbar atas untuk membuka panel Piano Tutor. Aktifkan opsi Enable tutor agar LED menyala mengikuti nada yang dimainkan selama playback.

Opsi Tutor waits for user memungkinkan MuseScore menunggu sampai pengguna menekan urutan tuts atau chord yang benar sebelum melanjutkan ke bagian berikutnya. Opsi Tutor lookahead menampilkan urutan nada berikutnya dengan cahaya yang lebih redup sehingga pengguna dapat mempersiapkan posisi jari lebih awal.

Langkah 14: Sesuaikan Posisi dan Warna LED

Panel Piano Tutor menyediakan pengaturan jenis LED strip dan posisi pemasangannya di sepanjang keyboard. Untuk konfigurasi 144 LED sepanjang 1 meter, nilai bawaan dirancang dengan titik tengah strip berada di antara tuts B3 dan C4. LED nomor 71 atau 72 dapat mewakili C4, bergantung pada arah pemasangan strip. Jika posisi belum tepat, gunakan tombol Wizard untuk membantu mengatur posisi LED secara otomatis.

Pengguna juga dapat mengatur warna LED untuk tangan kiri dan tangan kanan. Dalam pengaturan score dua staf, pastikan bagian tangan kanan dan kiri dipetakan ke channel MIDI yang sesuai. Channel ganjil ditampilkan dengan warna tangan kiri, sedangkan channel genap ditampilkan dengan warna tangan kanan.

Langkah 15: Mulai Berlatih Piano

Aktifkan Enable tutor dan putar file MIDI. LED akan menunjukkan tuts yang harus dimainkan. Kamu dapat mengaktifkan Tutor waits for user agar sistem menunggu sampai tuts atau chord yang benar ditekan sebelum melanjutkan. Gunakan fungsi Tempo untuk memperlambat atau mempercepat lagu, serta fungsi Loop untuk mengulang beberapa birama yang masih sulit dimainkan.

Dengan mengaktifkan Remote Control, beberapa fungsi MuseScore juga dapat dikendalikan menggunakan tombol keyboard yang dapat dikonfigurasi. Hal ini membantu mengurangi kebutuhan berpindah antara piano dan laptop ketika sedang berlatih.

🔒
Akses Gratis Khusus Member

Buka Seluruh Panduan, Skema & Source Code

Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!

✓ Akses Gratis Selamanya
✓ Copy-Paste Source Code
✓ Kembali Otomatis ke Proyek

Petualangan Belajar di coseru

💡 Saksikan keseruan anak-anak belajar merakit robot dan coding! Daftar Kelas Uji Coba →