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, Juli
Anonim
Image
Image
Sinestezijski svirač klavira
Sinestezijski svirač klavira
Sinestezijski svirač klavira
Sinestezijski svirač klavira

Ovaj klavir svira muziku pomoću kotačića u boji i fotoaparata! Slike se snimaju kamerom, obrađuju i tumače kao muzičke 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đeni Linux PC pokreće uslugu pri pokretanju koja snima sliku kamerom, izračunava funkciju RGB vrijednosti na slici i emituje zvuk na osnovu 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 petlja ponovo počinje, slika se, okreće se kolo boja i zvuk se reprodukuje beskonačno.

Ovaj projekt je zabavan način za integraciju muzike, moderno programiranje Linux sistema, programiranje mikrokontrolera, inkscape crtanje, lasersko rezanje i ponovno namještanje 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 muzici

Korak 1: Računarske stvari

Računarske stvari
Računarske stvari
Računarske stvari
Računarske stvari
Računarske stvari
Računarske stvari

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

Postavio sam operativni sistem za pokretanje python koda koji snima slike pri pokretanju sistema, slijedeći systemd vodič. Da biste izvršili skriptu, morat ćete sudo apt-get install python-pyaudio python-opencv da biste dobili navedene biblioteke. Takođe ćete morati instalirati numpy pyserial pip -om da biste dobili te biblioteke. 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, ali biste morali izmijeniti Python kod.

Na slikama možete vidjeti tehnološke nutrije 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 da živim u blizini proizvođača 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.

Izmerio sam računar, arduino i servo tako da sam znao koliko mi prostora treba, nacrtao delove klavira inkscape -om i isekao ih na laserskom rezaču. (Edit: Ponestalo mi je kartona kako bi kućište držalo računar 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

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Evo nekoliko slika klavira koji se sastavlja i boji. Štampaču je nestalo mastila pa nisam mogao da odštampam boje na bele nalepnice kako sam planirao. 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 dobijanje odgovarajućih RGB vrijednosti za čitanje kamerom. Web kamera koju imam ima nevjerojatno svijetle LED diode koje ne znam kako isključiti u Linuxu. Mislim da postoji Windows upravljački program koji vam omogućava da ih uključite i isključite. Eksperimentisao sam sa lepljenjem LED dioda električnom trakom i ostavljanjem ih uključenim. Takođe sam testirao robustnost softvera ne samo što sam mu pokazao papir u boji, već sam napisao i malu web stranicu koja prikazuje boje.

Zvukovi koje proizvodi računar ponekad imaju iskakanje i pucketanje, a to dolazi iz činjenice da imam vrlo malo iskustva u programiranju zvuka na Linuxu. Biblioteka pyaudio izbacuje gomilu pritužbi na to što JACK nije instaliran na računaru, 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 suštinu sviračkog klavira koji sam imao na umu.

Razmišljao sam da upotrebim ručnu polugu za promjenu boja, a možda i da ih stavim na oklagiju, ali to unosi svoje 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 kolo u boji bude pretrpano regijama boja, što može zbuniti kameru. Dakle, kombinacijom glazbene sreće i tehničkih ograničenja, 4 note su u redu.

Preporučuje se: