Daftar Isi:

Stasiun Loop MIDI Multi-track Arduino: 6 Langkah
Stasiun Loop MIDI Multi-track Arduino: 6 Langkah

Video: Stasiun Loop MIDI Multi-track Arduino: 6 Langkah

Video: Stasiun Loop MIDI Multi-track Arduino: 6 Langkah
Video: How to Make an Arduino MIDI Footswitch 2024, Juli
Anonim
Stasiun Loop MIDI Multi-track Arduino
Stasiun Loop MIDI Multi-track Arduino
Stasiun Loop MIDI Multi-track Arduino
Stasiun Loop MIDI Multi-track Arduino
Stasiun Loop MIDI Multi-track Arduino
Stasiun Loop MIDI Multi-track Arduino

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

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
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

kabel
kabel
kabel
kabel
kabel
kabel

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?

Bagaimana Jika Saya Memiliki Lebih dari Satu Sumber MIDI?
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: