Daftar Isi:
- Langkah 1: Batas
- Langkah 2: Cara Kerjanya
- Langkah 3: Perangkat Keras
- Langkah 4: Perangkat Lunak
- Langkah 5: Pengkabelan
- Langkah 6: Bagaimana Jika Saya Memiliki Lebih dari Satu Sumber MIDI?
Video: Stasiun Loop MIDI Multi-track Arduino: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Stasiun loop, atau looper, pada dasarnya adalah alat untuk memutar riff instrumental (loop) secara real-time. Tidak dimaksudkan sebagai media rekaman, tetapi sebagai instrumen untuk membentuk inspirasi tanpa gangguan (dan akhirnya tampil live…).
Ada banyak stasiun loop perekaman audio di luar sana, baik dalam bentuk perangkat keras khusus (hampir setiap produsen pedal gitar memiliki produknya sendiri) atau perangkat lunak komputer (Linux Sooper Looper atau windows Mobius yang luar biasa, untuk menyebut yang paling terkenal). Saya hanya dapat menemukan beberapa proyek tentang DIY non-audio tetapi looper MIDI, yang berarti alat untuk merekam peristiwa MIDI dan segera memutarnya kembali dalam satu lingkaran; sebagian besar proyek ini (semuanya, saya harus mengatakan) ditinggalkan atau hilang … yah, inilah kami dengan proyek lengkap untuk semua orang!
Stasiun loop MIDI Arduino ini hanya melacak acara MIDI yang masuk dan memutarnya kembali. Anda hanya perlu menekan pedal rekaman, membuat riff terbaik Anda dan berhenti merekam dengan menekan pedal lagi. Sangat mudah:)
Proyek ini didasarkan pada perangkat keras terbuka yang mudah ditemukan (Arduino DUE), perangkat lunak (firmware saya sendiri dan Arduino IDE) dan dapat disesuaikan untuk mencerminkan preferensi Anda.
Ayo lakukan!
PS: ya, itu super murah!
Langkah 1: Batas
Sebelum Anda mulai mendapatkan suku cadang perangkat keras untuk proyek tersebut, izinkan saya memberi tahu Anda batasannya sehingga Anda dapat memutuskan untuk maju atau berhenti di sini.
- karena keterbatasan perangkat keras (pada dasarnya memori Aduino DUE), panjang maksimum default frasa yang dapat Anda rekam dibatasi hingga 46 detik.
- loop tidak dapat disimpan dan diputar ulang setelah dimatikan. Anda dapat mengirimnya ke PC dan menyimpannya.
- tidak ada kuantisasi catatan.
- Jam MIDI didukung, tetapi pada tahap awal saat ini.
- Pesan MIDI yang direkam adalah nada aktif, nada tidak aktif, perubahan kontrol, dan tikungan nada; pesan MIDI lainnya seperti after touch, program change, SysEx, dll. diabaikan.
- polifoni maks diatur ke 10 secara default (sekali lagi, batas memori Aduino DUE).
Di sisi positifnya, aliran MIDI dari beberapa instrumen berbeda, masing-masing mentransmisikan pada salurannya sendiri, didukung; ini berarti Anda dapat merekam beberapa instrumen MIDI sekaligus, berlapis atau dengan treknya sendiri (lebih banyak pro pada langkah berikutnya;)).
Jika hidup dengan keterbatasan ini tampaknya masuk akal (dan itu untuk saya), Anda akan bersenang-senang dengan hal ini;)
Langkah 2: Cara Kerjanya
Stasiun loop MIDI di sini sangat mudah dioperasikan. Ini bekerja dengan cara yang mirip dengan stasiun loop audio perangkat keras yang dimiliki setiap produsen pedal gitar dalam katalognya sendiri.
1) Pilih trek yang ingin Anda rekam urutan MIDI Anda. Secara default trek "satu" dipilih, tetapi Anda dapat mengubahnya dengan menekan salah satu tombol trek (satu untuk setiap trek).
2) Saat Anda menekan sakelar / pedal kaki "REC" pertama kali, looper diaktifkan. LED hijau menyala. Itu akan menunggu sampai nada pertama Anda diterima sebelum mulai merekam urutan/riff yang sebenarnya.
3) Setelah Anda menyelesaikan urutan Anda, tekan kembali sakelar/pedal kaki "REC" untuk menentukan panjang riff yang sebenarnya. Lampu LED hijau mati. Looper akan segera mulai mereproduksi urutan MIDI Anda. Jika Anda mencapai waktu maksimal, perekaman akan berhenti secara otomatis dan urutan akan mulai direproduksi dalam satu lingkaran.
4) Sekarang, Anda dapat memutuskan untuk meng-overdub urutan Anda pada trek saat ini atau memilih trek baru dan merekamnya, dengan menekan sakelar / pedal kaki "REC". Dalam kedua kasus, LED kuning akan menyala, bahkan jika trek baru kosong, karena ini adalah trek "budak" (dipekerjakan untuk trek pertama yang direkam). Tekan lagi untuk menghentikan overdubbing (LED kuning mati).
Bagi Anda yang nyaman dengan stasiun pengulangan audio, perkembangan MIDI ini disebut "REC/PLAY/OVERDUB" dan satu-satunya yang didukung.
Jika sewaktu-waktu Anda merasa overdub terbaru Anda tidak oke, Anda bisa menghapusnya dengan menekan tombol "undo" switch/foot pedal. Anda dapat menghapus seluruh trek saat ini dengan terus menekan pedal "REC" selama lebih dari 3 detik; Anda dapat mengatur ulang looper (reset perangkat lunak) dengan menekan tiga tombol trek pertama secara bersamaan atau dengan menghapus semua trek yang digunakan.
Anda dapat membisukan/membunyikan trek dengan menekan tombol trek dari trek saat ini.
Anda dapat mengirim PANIK! pesan dengan menekan tombol panik. Anda bahkan dapat mengirim PANIK! pesan dengan menekan dua tombol trek pertama secara bersamaan.
Looper memiliki metronom sederhana bawaan: catatan pada pesan MIDI untuk catatan nomor "64" dikirim pada 100 BPM pada saluran 10 (saluran yang mungkin Anda dengarkan oleh mesin drum Anda). Anda dapat menambah atau mengurangi tempo dengan memutar encoder optik; dengan menekan sakelar encoder optik, Anda dapat mengaktifkan/menonaktifkan metronom. Perhatikan bahwa mesin drum Anda harus disetel untuk memainkan suara (snare, bass, atau suara apa pun yang Anda inginkan) saat menerima nada MIDI "64" atau metronom akan dibisukan.
Versi barebone dari loopstation MIDI ini dapat dibuat dengan satu sakelar kaki untuk memulai dan menghentikan perekaman. Menekan sakelar selama lebih dari 3 detik akan menginisialisasi ulang stasiun loop.
Jika Anda ingin menginvestasikan waktu tambahan untuk mengembangkan perangkat keras, menambahkan sakelar dan tombol akan membuat stasiun loop lebih fleksibel. Dalam gambar adalah bagaimana saya telah mengonfigurasi empat trek saya (mendukung hingga lima) stasiun loop berfitur lengkap.
CATATAN PENTING: perangkat keras dalam gambar saya adalah prototipe. Saya menggunakan lebih banyak soket jack daripada yang dibutuhkan tetapi hanya empat tombol untuk trek. Ini karena ketika saya memulai proyek, saya tidak sepenuhnya yakin apa persyaratan akhirnya.
Tombol dan sakelar kaki secara elektronik setara dan Anda dapat menggunakan salah satunya sebagai ganti yang lain; untuk kebutuhan saya, karena selalu ada terlalu sedikit ruang lantai (pedal efek yang sangat indah;)), saya telah membatasi pedal kaki ke fungsi REC tunggal.
Langkah 3: Perangkat Keras
Bill of material:
Stasiun loop MIDI 5-track berfitur lengkap
1x Arduino DUE
7x tombol tekan sesaat
1x case plastik (saya menggunakan case 150 x 110 x 70 mm)
2x 5-pin DIN panel perempuan mount konektor soket MIDI
1x soket jack pemasangan panel 6,3 mm
1x papan perf 50x70 mm dua sisi;
5x3 mm LED (hijau)
1x 3 mm LED (kuning)
1x encoder optik
1x H11L1 optocoupler
1x 1N4148 dioda
3x 1000 ohm resistor
3x220 ohm resistor
10x470 ohm resistor
Beberapa kawat solder, beberapa kabel, stasiun solder … dan waktu luang:)
Waktu yang dibutuhkan untuk menyelesaikan proyek: 6-9 jam
Kenapa bukan UN?
Tes pertama (dan kode kerja awal) ditulis pada papan UNO arduino "biasa". Papan ini memiliki batas RAM yang memaksa saya untuk mengurangi polifoni menjadi "4", panjang maksimal kurang dari 4 detik dan resolusi maksimal 40 ms. Ini tanpa penanganan multichannel. Dengan menghapus pelacakan kecepatan juga, saya dapat meningkatkan waktu perekaman hingga 7 detik.
Dengan UNO Anda dapat mewujudkan stasiun loop MIDI yang "berfungsi", tetapi sangat terbatas.
Langkah 4: Perangkat Lunak
Perangkat lunak ini sangat bergantung pada perpustakaan MIDI FortySevenEffects. Pustaka ini hebat dan membuat proyek semacam ini dapat dilakukan bahkan untuk geeks non coders seperti saya.
Arduino IDE dan komunitasnya adalah bagian penting lain dari "kesuksesan" ini.
Saya tidak akan membahas detail tentang cara mengunggah sketsa ke arduino DUE Anda. Jika ini adalah pengalaman pertama Anda dengan arduino IDE, silakan baca ini terlebih dahulu.
Saya menulis dua versi kode yang berbeda, berdasarkan dua pendekatan yang sama sekali berbeda.
Prinsip kerja versi 1 adalah bahwa selama perekaman atau overdubbing Arduino DUE memeriksa dan menyimpan di dalam memorinya (volatile) event MIDI yang didukung (note on, note off, control change dan pitch bend); sumbu waktu dikuantisasi dalam langkah 20 ms dan pesan yang diterima disimpan dalam slot tersebut. Saat diputar, pesan MIDI yang disimpan dikirim kembali ke synth sesuai dengan kuantisasi waktu.
Prinsip kerja versi 2, sebaliknya, adalah untuk "hanya" merekam acara midi dan waktu di mana acara harus dipicu. Versi 2 memiliki batasan yang berbeda dari versi 1 (tercantum pada langkah sebelumnya). coba keduanya dan gunakan salah satu yang bekerja lebih baik untuk Anda.
Ada juga penanganan Jam pendahuluan, tetapi perlu beberapa penyesuaian agar berfungsi sebagaimana mestinya. Kode mengasumsikan bahwa Anda merekam loop 4/4 - 4 bar (16 ketukan).
Anda dapat menonaktifkan jam eksternal dengan terus menekan tombol "panic" saat menyalakan looper.
Kode diunggah DI SINI. Komentar ditempatkan di mana-mana, sehingga Anda dapat menekuk firmware itu sesuka Anda;)
Langkah 5: Pengkabelan
Sirkuit MIDI IN dan MIDI OUT dilaporkan dalam gambar terlampir. Perhatikan bahwa TX1 dan RX1 digunakan, bukan TX0 dan RX0.
Pin input Arduino DUE tidak dapat menangani 5V, tetapi 3.3V; inilah mengapa optocoupler H11L1 digunakan sebagai pengganti 6N138 yang lebih umum. Saya punya bukti bahwa menggunakan 6N138 yang digabungkan dengan pembagi tegangan untuk mengurangi tegangan sinyal ke TX1, seperti pada prototipe pertama saya, dapat bekerja tidak menentu di beberapa pengaturan.
LED terhubung ke pin output Arduino DUE melalui resistor 470 Ohm. Anda dapat menggunakan resistor hingga 1K ohm untuk mengurangi arus yang mengalir ke LED dan mengurangi luminositasnya.
Tombol/saklar/jack terhubung langsung ke pin input Arduino berkat resistor pullup input, yang diaktifkan dalam sketsa. Tidak perlu resistor eksternal (pulldown).
Encoder optik terhubung ke GND dan +5V. Ini pergi ke pin input Arduino melewati 2 480 ohm resistor, satu untuk setiap output data optik.
Arduino DUE ditenagai langsung dari pin 5V dan ground melalui hub +5V DC.
Semua alasan diikat menjadi satu.
Terlampir adalah tabel dengan koneksi dari pin arduino ke periferal IN/OUT. Nomor pin Arduino mencerminkan yang ada di perangkat keras proptotipe saya dan dapat terlihat (mereka entah bagaimana…) acak. Anda dapat dengan mudah mengubah lokasi pin di sketsa sesuka Anda;)
Langkah 6: Bagaimana Jika Saya Memiliki Lebih dari Satu Sumber MIDI?
Setelah pencarian singkat untuk penggabungan MIDI, saya menemukan bahwa solusi paling praktis (dan murah) adalah pengalih MIDI.
Pengalih MIDI adalah perangkat pasif yang mengaktifkan sumber MIDI dan menonaktifkan semua sumber lainnya. Sederhana seperti itu.
Inti dari MIDI switcher adalah multi posisi (saya adalah 6 posisi), 2 kutub switch. Sangat penting bahwa jumlah kutub adalah "2" karena setiap soket MIDI harus benar-benar terputus jika tidak dipilih dan tidak berkomunikasi dengan yang lain. Terlampir adalah foto yang saya sadari untuk saya gunakan sendiri.
Di LINK INI sebuah skema.
Direkomendasikan:
Stasiun Cuaca WIFI Dengan Magicbit (Arduino): 6 Langkah
WIFI Weather Station With Magicbit (Arduino): Tutorial ini menunjukkan cara membangun stasiun cuaca dari Magicbit menggunakan Arduino yang bisa mendapatkan detail dari ponsel pintar Anda
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Dilakukan dengan Cara yang Benar: 8 Langkah (dengan Gambar)
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Selesai dengan Cara yang Benar: Setelah 1 tahun beroperasi dengan sukses di 2 lokasi berbeda, saya membagikan rencana proyek stasiun cuaca bertenaga surya saya dan menjelaskan bagaimana hal itu berkembang menjadi sistem yang benar-benar dapat bertahan lama periode dari tenaga surya. Jika Anda mengikuti
Stasiun Cuaca DIY & Stasiun Sensor WiFi: 7 Langkah (dengan Gambar)
Stasiun Cuaca DIY & Stasiun Sensor WiFi: Dalam proyek ini saya akan menunjukkan cara membuat stasiun cuaca bersama dengan stasiun sensor WiFi. Stasiun sensor mengukur data suhu dan kelembaban lokal dan mengirimkannya, melalui WiFi, ke stasiun cuaca. Stasiun cuaca kemudian menampilkan
Multi Tugas Raspberry 1 B (Awan Pribadi + Stasiun Cuaca): 4 Langkah
Multi Task Raspberry 1 B(Personal Cloud + Weather Station): Beberapa waktu lalu saya ingat bahwa ada RPiB cadangan setelah membeli versi yang lebih baru. Berpikir tentang privasi saat menyimpan file cadangan saya, saya memutuskan untuk memiliki server cloud saya sendiri. Senang dengan hasil yang bagus tapi tidak puas dengan pemborosan potensi dari R
Stasiun Cuaca 5 in 1 Acurite Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca lain Kompatibel): 5 Langkah (dengan Gambar)
Stasiun Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca Lainnya Kompatibel): Ketika saya membeli stasiun cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya saat saya pergi. Ketika saya sampai di rumah dan memasangnya, saya menyadari bahwa saya harus menghubungkan layar ke komputer atau membeli hub pintar mereka