DJ turntables
Introducere
Muzica este facută pentru a intretine voia buna si pentru a exprima emotii. De cele mai multe ori, in toiul unei petreceri este nevoie de amplificare a sunetului, prin manipularea frecventelor, pentru a savura hitul anului la intensitate maxima, sau pentru efectuarea unor tranzitii smooth.
Descriere Generala
Soluția mea constă în realizarea unui sistem care preia comenzi din partea unui controller audio si le propaga catre softul de redare a muzicii, cu capabilitati de start/stop, reglare bass, medii si inalte, crossfade intre doua deckuri, folosind o placuta Arduino Uno R3 si semnale bazate pe protocolul MIDI.
Hardware Design
Schema electrica:
Componente folosite:
plăcuța Arduino UNO R3
fire jumper
fire tata-tata
breadboard
potentiometre X5
butoane simplue X2
leduri simple X8
rezistente de 100Ohmi X8
Software Design
Am utilizat Arduino IDE pentru build si upload, iar pentru development am scris in VSCode, dat fiind ca sunt familiarizat cu feature-urile editorului de text anterior mentionat.
Partea cea mai provocatoare a fost transmiterea semnalelor spre a manipula continutul audio. Pentru acest lucru am folosit protocolul MIDI, cu transmiterea de semnale de forma canal de transmisie, identificator controller si valoare/amplitudine din plcuta catre PC, via port USB.
Pentru a interpreta si prelucra semnalele MIDI (transmise din cod), am folosit 3 preograme tird party:
LoopMIDI - utilitar Windwos, folosit pentru a deschide porturi I/O MIDI in sistem ce pot fi utilizate de catre aplicatii
Hairless MIDI - monitor utilizat pentru a prinde din forma seriala semnalele MIDI provenite de la portul COM4, apoi cu forward pe un brigdge de comunicare, catre porturile deschise, mentionate la punctul anterior.
Mixxx - DJ software, cu capabilitati de recunoastere si configurare a comenzilor MIDI
Rezultate Obtinute
Concluzii
Acest proiect mi-a oferit o satisfactie neasteptat de mare, precedata de multe ore frustrante insotite de multiple incercari si idei esuate, piese lipite si dezlipite si sesiuni de shopping in ceata.
Idea mea initiala nu a putut fi realizata, deoarece placutele Arduino nu pot esantiona frecvente atat de inalte, dar am ramas in aria de aplicabiliate a sistemului pe care l-am propus.
Planuiesc sa extind aria de functionalitati la vara, urmarind sa imi construiesc propriul meu mixing controller.
Download
Bibliografie/Resurse