Sadržaj:

Klavir za svirača sinestezije: 4 koraka
Klavir za svirača sinestezije: 4 koraka

Video: Klavir za svirača sinestezije: 4 koraka

Video: Klavir za svirača sinestezije: 4 koraka
Video: Бенджамин Цандер: Сила классической музыки 2024, Srpanj
Anonim
Image
Image
Svirač sinestezije klavir
Svirač sinestezije klavir
Svirač sinestezije klavir
Svirač sinestezije klavir

Ovaj svirački klavir svira glazbu pomoću kotačića u boji i fotoaparata! Slike se snimaju kamerom, obrađuju i tumače kao glazbene note. Trenutno je programirano za reprodukciju dječjih pjesmica koje se mogu promijeniti postavljanjem nove arduino skice koja određuje koje note treba svirati (Koje boje treba prikazati kameri).

Ugrađeno Linux računalo pokreće uslugu pri pokretanju koja fotografira kamerom, izračunava funkciju RGB vrijednosti na slici i emitira zvuk na temelju povratne vrijednosti funkcije. Prije puštanja zvuka šalje signal koji govori Arduinu da rotira servo, predstavljajući boju koja odgovara sljedećoj noti koju treba svirati. Zatim se petlja ponovno pokreće, slika se, kotačić u boji rotira i zvuk se reproducira beskonačno.

Ovaj je projekt zabavan način integriranja glazbe, modernog programiranja Linux sustava, programiranja mikrokontrolera, inkscape crtanja, laserskog rezanja i ponovne namjene nekih bezvrijednih kartonskih kutija.

Svi kodovi i inkscape SVG -ovi dostupni su na githubu na:

github.com/melvyniandrag/pyMusic

Korišteni materijali:

  1. Prazne bijele naljepnice
  2. Kartonska kutija
  3. Web kamera
  4. Bojice
  5. Arduino
  6. Beagleboard-xM
  7. Žice
  8. Serijski kabel
  9. Osnovno znanje o obradi slika i glazbi

Korak 1: Računalo

Računalne stvari
Računalne stvari
Računalne stvari
Računalne stvari
Računalne stvari
Računalne stvari

Na brodu će vam trebati malo računalo koje podržava Linux, poput Raspberry Pi. Koristio sam stari BeagleBoard-xM jer mi se slučajno postavio i već sam imao operativni sustav na SD kartici. Možete koristiti bilo što, sve dok može rukovati web kamerom, može pokrenuti OpenCV (biblioteka računalnog vida koja se koristi za snimanje i obradu slika kotača u boji) i ima izlaz za audio izlaz.

Postavio sam operacijski sustav za pokretanje python koda koji snima slike pri pokretanju nakon upute systemd. Da bi se skripta pokrenula, morat ćete sudo apt-get install python-pyaudio python-opencv da biste dobili navedene biblioteke. Također ćete morati instalirati numpy pyserial pip -om da biste dobili te knjižnice. pyaudio se koristi za reprodukciju zvukova, opencv se koristi za snimanje i obradu slika, numpy se također koristi za obradu slika, a pyserial je potreban za komunikaciju s Arduinom.

Arduino se koristi za rotiranje servo motora na koji je montiran kotačić u boji. Da imate Raspberry Pi, mogli biste upotrijebiti GPIO pinove i izostaviti Arduino, no morali biste izmijeniti Python kod.

Na slikama možete vidjeti tehnološke utrobe operacije i nekoliko isječaka koda.

Korak 2: Klavir

Klavir
Klavir
Klavir
Klavir
Klavir
Klavir

Napravio sam klavir od kartona od nekih starih kutija koje sam imao. Imam sreću živjeti u blizini prostora za proizvodnju koji ima laserski rezač. Cijelu godinu sam se pitao čemu bi, dovraga, želio laserski rezač i pokazalo se da sam mu konačno pronašao primjenu.

Izmjerio sam računalo, arduino i servo pa sam znao koliko mi prostora treba, nacrtao dijelove glasovira inkscapeom i izrezao ih na laserskom rezaču. (Edit: Ponestalo mi je kartona kako bi kućište držalo računalo i arduino pa ih nisam stavio unutra. Nalaze se s vanjske strane kućišta. Nije važno, mogao sam odnekud nabaviti drugu kutiju, ali nije na kraju nije važno.)

Komadići su spojeni epoksidom.

Korak 3: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

Evo nekoliko slika klavira koji se sastavlja i boji. Pisaču je nestalo tinte pa nisam mogla ispisati boje na bijele naljepnice kako sam planirala. Pa sam koristio bojice svoje kćeri. I nisam mogao pronaći xacto nož za izrezivanje naljepnice u obliku kartona, pa sam samo upotrijebio nož za odrezak i stavio nešto zaštitno na kuhinjski pult. Iskoristi ono što imaš!

Korak 4: Tehnički izazovi i buduća razmatranja

Tehnički izazovi i buduća razmatranja
Tehnički izazovi i buduća razmatranja
Tehnički izazovi i buduća razmatranja
Tehnički izazovi i buduća razmatranja

Izazovni dio ovog projekta bio je dobiti odgovarajuće RGB vrijednosti za čitanje s kamere. Web kamera koju imam ima na sebi nevjerojatno svijetle LED diode koje ne znam kako isključiti u Linuxu. Mislim da postoji upravljački program za Windows koji vam omogućuje uključivanje i isključivanje. Eksperimentirao sam sa zalijepljenjem LED dioda električnom trakom i ostavljanjem ih uključenim. Također sam testirao robustnost softvera ne samo što sam mu pokazao papir u boji, već i napisao malu web stranicu koja prikazuje boje.

Zvukovi koje proizvodi računalo ponekad se pojavljuju i pucketaju, a to proizlazi iz činjenice da imam vrlo malo iskustva u programiranju zvuka za Linux. Knjižnica pyaudio izbacuje hrpu pritužbi na to da JACK nije instaliran na računalu, ali prema zadanim postavkama JACK ne želi raditi bez glave (bez gui radne površine i monitora). Ovo je programski zadatak za koji sam mislio da je dorada, ali nije bio nužan da izrazim bit svirača koji sam imao na umu.

Razmišljao sam o korištenju ručne poluge za promjenu boja, a možda i o tome da ih imam na oklagi, ali to unosi vlastite komplikacije. Servo je malo bučan, ali za sada radi dobro.

Klavir je trenutno programiran samo za sviranje 4 note. To je zato što se servo pomiče samo za 180 stupnjeva, većina dječjih pjesmica može se svirati sa samo 3-4 note, a ja nisam želio da kotačić u boji bude zatrpan regijama u boji, što može zbuniti kameru. Dakle, kombinacijom glazbene sreće i tehničkih ograničenja, 4 note su u redu.

Preporučeni: