Cuprins:

Stație de buclă MIDI multi-track Arduino: 6 pași
Stație de buclă MIDI multi-track Arduino: 6 pași

Video: Stație de buclă MIDI multi-track Arduino: 6 pași

Video: Stație de buclă MIDI multi-track Arduino: 6 pași
Video: MPC beats - record multiple tracks tutorial 2024, Iunie
Anonim
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station

O stație de buclă sau o buclă este în esență un instrument pentru redarea în timp real a riff-urilor instrumentale (bucle). Nu este conceput ca un suport de înregistrare, ci ca un instrument pentru a modela inspirația fără distragere (și în cele din urmă să cânte live …).

Există o mulțime de stații de bucle de înregistrare audio, atât sub formă de hardware dedicat (aproape fiecare producător de pedale de chitară are propriul său produs), fie de software de calculator (excelentul Linux Sooper Looper sau Windows Mobius, pentru a cita cele mai cunoscute). Am putut găsi doar câteva proiecte despre DIY non-audio, ci bucle MIDI, adică un instrument pentru a înregistra evenimente MIDI și a le reda imediat în buclă; majoritatea acestor proiecte (toate, aș spune) sunt abandonate sau pierdute … ei bine, iată-ne cu un proiect complet pentru toată lumea!

Această stație de buclă MIDI Arduino ține pur și simplu evidența evenimentelor MIDI primite și le redă. Trebuie doar să apăsați pedala de înregistrare, să creați cel mai bun riff de vreodată și să opriți înregistrarea apăsând din nou pedala. Super usor:)

Acest proiect se bazează pe hardware deschis ușor de găsit (Arduino DUE), software (propriul meu firmware și Arduino IDE) și poate fi personalizat pentru a reflecta preferințele dvs.

Hai să o facem!

PS: da, este super ieftin!

Pasul 1: Limite

Înainte de a începe să achiziționați piese hardware pentru proiect, permiteți-mi să vă spun care sunt limitele sale, astfel încât să puteți decide să mergeți înainte sau să vă opriți aici.

- datorită limitelor hardware (memoria Aduino DUE în esență), lungimea maximă implicită a expresiei pe care o puteți înregistra este limitată la 46 de secunde.

- buclele nu pot fi stocate și redate după oprire. Cu toate acestea, le puteți trimite pe un computer și le puteți salva.

- nu există cuantificarea notelor.

- Ceasul MIDI este acceptat, dar pe o etapă preliminară în acest moment.

- Mesajele MIDI înregistrate sunt note on, not off, control changes and pitch bend; alte mesaje MIDI, cum ar fi după atingere, schimbarea programului, SysEx etc. sunt ignorate.

- polifonia maximă este setată la 10 în mod implicit (din nou, limite de memorie Aduino DUE).

În plus, sunt acceptate fluxurile MIDI de la mai multe instrumente diferite, fiecare transmitând pe propriul canal; aceasta înseamnă că puteți înregistra mai multe instrumente MIDI simultan, stratificate sau cu propria piesă (mai mulți profesioniști la pasul următor;)).

Dacă trăirea cu aceste limitări pare rezonabilă (și este pentru mine), vă veți distra foarte bine cu acest lucru;)

Pasul 2: Cum funcționează

Stația de buclă MIDI aici este foarte simplă de operat. Funcționează într-un mod similar cu acele stații de bucle audio hardware pe care fiecare producător de pedale de chitară le are în propriul catalog.

1) Selectați piesa în care doriți să înregistrați secvența MIDI. În mod implicit, se alege „unu”, dar îl puteți schimba apăsând unul dintre butoanele pieselor (unul pentru fiecare pistă).

2) Când apăsați comutatorul / pedala "REC" pentru prima dată, bucla este cuplată. LED-ul verde se aprinde. Va aștepta până când prima dvs. notă va fi recepționată înainte de a începe să înregistrați secvența / riff-ul real.

3) După ce ați terminat secvența, apăsați din nou comutatorul / pedala „REC” pentru a defini lungimea reală a riff-ului. LED-ul verde se stinge. Looperul va începe să reproducă secvența MIDI imediat. Dacă atingeți timpul maxim, înregistrarea se va opri automat și secvența va începe să fie reprodusă într-o buclă.

4) Acum, puteți decide să vă suprasolicitați secvența pe pista curentă sau să selectați o piesă nouă și să înregistrați pe ea, apăsând comutatorul „REC” / pedala de picior. În ambele cazuri, LED-ul galben se va aprinde, chiar dacă noua piesă este goală, deoarece este o pistă „sclavă” (slavată la prima pistă înregistrată). Apăsați din nou pentru a opri suprasolicitarea (LED-ul galben se stinge).

Pentru cei dintre voi confortabili cu stații de buclă audio, această progresie MIDI se numește "REC / PLAY / OVERDUB" și este singura acceptată.

Dacă în orice moment simțiți că ultimul dvs. overdub nu este în regulă, îl puteți șterge apăsând comutatorul „anulați” / pedala de picior. Puteți șterge întreaga pistă curentă ținând apăsată pedala „REC” mai mult de 3 secunde; puteți reseta looperul (resetarea software-ului) apăsând primele trei butoane de pistă în același timp sau ștergând toate piesele utilizate.

Puteți dezactiva / dezactiva o melodie apăsând butonul pistei cursei curente.

Puteți trimite un PANIC! mesaj apăsând butonul de panică. Puteți chiar trimite un PANIC! mesaj apăsând primele două butoane de piese în același timp.

Looper-ul are un metronom simplu încorporat: o notă pe mesajul MIDI pentru numărul de notă „64” este trimisă la 100 BPM pe canalul 10 (canalul pe care probabil îl ascultați pe bateria dvs.). Puteți mări sau micșora tempo-ul prin activarea codificatorului optic; prin apăsarea comutatorului codificatorului optic puteți activa / dezactiva metronomul. Observați că bateria dvs. trebuie să fie setată pentru a reda un sunet (snare, bas sau orice sunet preferați) atunci când primiți nota MIDI „64” sau metronomul va fi mut.

O versiune barebone a acestei stații de buclă MIDI ar putea fi alcătuită cu un singur comutator de picior pentru a porni și a opri înregistrarea. Păstrarea comutatorului apăsat mai mult de 3 secunde va inițializa din nou stația de buclă.

Dacă doriți să investiți ceva timp suplimentar în dezvoltarea hardware-ului, adăugarea de comutatoare și butoane va face ca stația de buclă să fie mai flexibilă. În imagine este modul în care mi-am configurat cele patru piese (până la cinci sunt acceptate) stație de buclă completă.

NOTĂ IMPORTANTă: hardware-ul din imaginile mele este un prototip. Am folosit mai multe prize decât era necesar, dar doar patru butoane pentru piese. Acest lucru se datorează faptului că atunci când am început proiectul nu eram complet sigur care ar fi cerințele finale.

Butoanele și comutatoarele de picior sunt echivalente electronic și puteți utiliza unul în locul celuilalt; pentru nevoile mele, fiind că există întotdeauna prea puțin spațiu pe podea (nenorocite de pedale cu efect minunat;)), am limitat pedalele de picior la funcția REC unică.

Pasul 3: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Proiect de lege de materiale:

Stație de buclă MIDI cu 5 piste, cu funcții complete

1x Arduino DUE

7x butoane momentane

1 x carcasă din plastic (am folosit o carcasă de 150 x 110 x 70 mm)

Conector priza MIDI 2x cu 5 pini DIN, montat pe panou

1 priză jack pentru montare pe panou de 6,3 mm

1x placă de perfecțiune dublă față de 50x70 mm

LED 5x 3 mm (verde)

1x LED de 3 mm (galben)

1x codificator optic

1x optocuplator H11L1

1x diodă 1N4148

3x rezistențe de 1000 ohmi

3x rezistențe de 220 ohmi

Rezistoare 10x 470 ohm

Unele fire de lipit, unele cabluri, stația de lipit … și timpul liber:)

Timpul necesar pentru finalizarea proiectului: 6-9 ore

De ce nu UNO?

Primele teste (și un cod de lucru de pornire) au fost scrise pe o placă arduino UNO „obișnuită”. Această placă are limite RAM care m-au obligat să reduc polifonia la "4", lungimea maximă la mai puțin de 4 secunde și o rezoluție de 40 ms la max. Acest lucru fără manipulare multicanal. Eliminând și urmărirea vitezei, am putut crește timpul de înregistrare până la 7 secunde.

Cu un UNO puteți realiza o stație de buclă MIDI „funcțională”, dar foarte limitată.

Pasul 4: Software

Software-ul se bazează foarte mult pe biblioteca MIDI FortySevenEffects. Această bibliotecă este grozavă și face ca acest tip de proiecte să fie realizabile chiar și pentru geek-urile care nu au programare ca mine.

ID-ul Arduino și comunitatea sa sunt o altă parte importantă a acestui „succes”.

Nu voi intra în detalii despre cum să încărcați schița pe arduino DUE. Dacă aceasta este prima dvs. experiență cu IDE arduino, vă rugăm să citiți mai întâi acest lucru.

Am scris două versiuni diferite ale codului, pe baza a două abordări complet diferite.

Principiul de lucru al versiunii 1 este acela că, în timpul înregistrării sau suprodubării, Arduino DUE verifică și stochează în memoria sa (volatilă) evenimentele MIDI acceptate (notare, notare, schimbare control și pitch bend); axa timpului este cuantificată în pași de 20 ms și mesajele primite sunt stocate în acele sloturi în consecință. În timpul redării, mesajele MIDI stocate sunt trimise înapoi la synth, respectând cuantificarea timpului.

Principiul de lucru al versiunii 2, în schimb, este de a înregistra „pur și simplu” evenimentul midi și ora la care evenimentul trebuie declanșat. Versiunea 2 are limite diferite față de versiunea 1 (listată într-un pas anterior). încercați-le pe amândouă și folosiți-o pe cea care funcționează mai bine pentru dvs.

Există și o manipulare preliminară a ceasului, dar va avea nevoie de câteva modificări pentru a funcționa așa cum ar trebui. Codul presupune că înregistrați o buclă de 4/4 - 4 bare (16 bătăi).

Puteți dezactiva ceasul extern ținând apăsat butonul „panică” la pornirea buclei.

Codurile sunt încărcate AICI. Comentariile sunt plasate peste ele, astfel încât să puteți îndoi aceste firmware după voia dvs.;)

Pasul 5: Cabluri

Cablaje
Cablaje
Cablaje
Cablaje
Cablaje
Cablaje

Circuitele MIDI IN și MIDI OUT sunt raportate în imaginile atașate. Observați că sunt utilizate TX1 și RX1, nu TX0 și RX0.

Pinii de intrare Arduino DUE nu pot suporta 5V, ci 3,3V; acesta este motivul pentru care se utilizează un optocuplator H11L1 în locul unui 6N138 mai comun. Am dovezi că utilizarea unui 6N138 cuplat cu un divizor de tensiune pentru a reduce tensiunea semnalului care merge la TX1, ca și în prima mea prototipe, ar putea funcționa în mod neregulat în unele setări.

LED-urile sunt conectate la pinii de ieșire Arduino DUE prin rezistențe de 470 Ohm. Puteți utiliza rezistențe de până la 1K ohm pentru a reduce curentul care trece la LED-uri și pentru a reduce luminozitatea acestora.

Butoanele / comutatoarele / mufele sunt conectate direct la pinii de intrare Arduino datorită rezistențelor de intrare pullup, activate în schiță. Nu este nevoie de rezistențe externe (derulante).

Codificatorul optic este conectat la GND și + 5V. Merge la pinii de intrare Arduino care trec prin 2 rezistențe de 480 ohmi, unul pentru fiecare ieșire de date optică.

Arduino DUE este alimentat direct de la pinul de 5V și împământat printr-un hub + 5V DC.

Toate motivele sunt legate împreună.

Atașat este un tabel cu conexiuni de la pinii arduino la perifericul IN / OUT. Numerele de pin Arduino reflectă cele din hardware-ul meu de tip prototip și ar putea părea (într-un fel sunt …) aleatorii. Puteți modifica cu ușurință locația pinului în schiță după dorința dvs.;)

Pasul 6: Ce se întâmplă dacă am mai multe surse MIDI?

Ce se întâmplă dacă am mai multe surse MIDI?
Ce se întâmplă dacă am mai multe surse MIDI?

După o scurtă căutare a unei fuziuni MIDI, am constatat că cea mai practică (și mai ieftină) soluție a fost un switcher MIDI.

Un comutator MIDI este un dispozitiv pasiv care activează o sursă MIDI și dezactivează toate celelalte surse. Simplu.

Inima unui comutator MIDI este un comutator multi pozițional (al meu are 6 poziții), comutator cu 2 poli. Este foarte important ca numărul de poli să fie „2” deoarece fiecare soclu MIDI trebuie tăiat complet dacă nu este selectat și nu în comunicare cu ceilalți. Atașat este o fotografie a celei pe care am realizat-o pentru uz propriu.

La ACEST LINK o schemă.

Recomandat: