INHOUDSOPGAWE:

Klavier vir Synesthesia Player: 4 stappe
Klavier vir Synesthesia Player: 4 stappe

Video: Klavier vir Synesthesia Player: 4 stappe

Video: Klavier vir Synesthesia Player: 4 stappe
Video: 🕒 Rush E - Sheet Music Boss - Piano Stage 2024, Julie
Anonim
Image
Image
Synesthesia Player Klavier
Synesthesia Player Klavier
Synesthesia Player Klavier
Synesthesia Player Klavier

Hierdie klavier speel musiek met 'n kleurwiel en 'n kamera! Beelde word deur die kamera geneem, verwerk en geïnterpreteer as musieknote. Op die oomblik is dit geprogrammeer om rympies te speel wat verander kan word deur 'n nuwe arduino -skets op te laai wat spesifiseer watter note gespeel moet word (watter kleure moet aan die kamera gewys word).

Die ingeboude Linux -rekenaar begin 'n diens tydens opstart wat 'n foto met 'n kamera neem, 'n funksie van die RGB -waardes in die prent bereken en 'n geluid lewer wat gebaseer is op die opbrengswaarde van die funksie. Voordat die klank gespeel word, stuur dit 'n sein wat 'n Arduino sê om 'n servo te draai, met die kleur wat ooreenstem met die volgende noot wat gespeel moet word. Dan begin die lus weer, word 'n foto geneem, die kleurwiel word gedraai en 'n klank word oneindig gespeel.

Hierdie projek is 'n prettige manier om musiek, moderne Linux-stelselsprogrammering, mikro-kontroleerderprogrammering, inkscape-doodling, lasersnyding en herformulering van rommel kartondose te integreer.

Al die kode en inkscape SVG's is beskikbaar op github by:

github.com/melvyniandrag/pyMusic

Gebruikte materiaal:

  1. Leë wit etikette
  2. Kartondoos
  3. Webkamera
  4. Kryte
  5. Arduino
  6. Beagleboard-xM
  7. Drade
  8. Seriële kabel
  9. Basiese kennis van beeldverwerking en musiek

Stap 1: Die rekenaarstowwe

Die rekenaarsake
Die rekenaarsake
Die rekenaarsake
Die rekenaarsake
Die rekenaarsake
Die rekenaarsake

Aan boord benodig u 'n klein Linux-rekenaar, soos 'n Raspberry Pi. Ek het 'n ou BeagleBoard-xM gebruik, want ek het dit toevallig gelê en ek het reeds 'n bedryfstelsel op die SD-kaart gehad. U kan alles gebruik, solank dit 'n webcam kan hanteer, OpenCV kan hardloop (die rekenaarvisie -biblioteek wat gebruik word om beelde van die kleurwiel te neem en te verwerk) en 'n klankuitgang het.

Ek het die bedryfstelsel opgestel om die python -kode te gebruik wat beelde by opstart neem na 'n systemd -tutoriaal. Om die script te laat loop, moet u sudo apt-get installeer python-pyaudio python-opencv om die aangeduide biblioteke te kry. U moet ook numpy pyserial installeer om die biblioteke te kry. pyaudio word gebruik om klanke te speel, opencv word gebruik vir die neem en verwerking van foto's, numpy word ook gebruik vir beeldverwerking en pyseriaal is nodig om met die Arduino te kommunikeer.

Die Arduino word gebruik om die servomotor waarop die kleurwiel gemonteer is, te draai. As u 'n Raspberry Pi gehad het, kan u die GPIO -penne daar gebruik en die Arduino weglaat, maar u moet die Python -kode verander.

Op die beelde kan u die tegnologiese ingewande van die operasie en 'n paar kodefragmente sien.

Stap 2: Die klavier

Die klavier
Die klavier
Die klavier
Die klavier
Die klavier
Die klavier

Ek het die klavier uit karton gemaak uit 'n paar ou bokse wat ek gehad het. Ek het die geluk om naby 'n vervaardigersruimte met 'n lasersnyer te woon. Ek wonder al 'n hele jaar lank waarvoor 'n mens 'n lasersnyer wil hê, en dit blyk dat ek uiteindelik 'n nut daarvoor gevind het.

Ek het die rekenaar, arduino en servo gemeet, sodat ek geweet het hoeveel ruimte ek nodig het, die dele van die klavier in inkcape geteken en dit op die lasersnyer uitgesny. (Redigering: ek het die karton opgehard om die rekenaar en die arduino in die omhulsel te hou, en ek het dit nie ingesit nie. Dit is aan die buitekant van die omhulsel. Maak nie saak nie, ek kon êrens anders 'n boks gekry het, maar dit het nie maak op die ou end nie saak nie.)

Die stukke is met epoksie saamgevoeg.

Stap 3: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Hier is 'n paar beelde van die klavier wat saamgestel en gekleur word. Daar was geen ink in die drukker nie, en ek kon nie die kleure op die wit etikette druk soos ek beplan het nie. Ek het dus my dogter se kryte gebruik. En ek kon nie 'n xacto -mes kry om die etiket in die vorm van die karton te sny nie, so ek het net 'n steakmes gebruik en iets beskermend op die kombuistoonbank gesit. Gebruik wat jy gekry het!

Stap 4: Tegniese uitdagings en toekomstige oorwegings

Tegniese uitdagings en toekomstige oorwegings
Tegniese uitdagings en toekomstige oorwegings
Tegniese uitdagings en toekomstige oorwegings
Tegniese uitdagings en toekomstige oorwegings

'N Uitdagende deel van hierdie projek was om die regte RGB -waardes deur die kamera te lees. Die webkamera wat ek het, het ongelooflike helder LED's, wat ek nie weet hoe om uit te skakel in Linux nie. Ek dink daar is 'n Windows -bestuurder waarmee u dit kan aan- en afskakel. Ek het geëksperimenteer om die LED's met elektriese band vas te plak en dit aan te laat. Ek het die sagteware ook getoets op robuustheid deur nie net gekleurde papier te wys nie, maar ook 'n webwerf te skryf wat kleure toon.

Die geluide wat deur die rekenaar geproduseer word, het soms knars en gekraak, en dit kom van die feit dat ek baie min ervaring in Linux -klankprogrammering het. Die pyaudio -biblioteek spoeg 'n hele klomp klagtes uit dat JACK nie op die rekenaar geïnstalleer is nie, maar standaard wil JACK nie koploos werk nie (sonder 'n GUI -lessenaar en 'n monitor). Dit was 'n programmeertaak wat ek gedink het 'n verfyning was, maar dit was nie nodig om die essensie van die klavier wat ek in gedagte gehad het, uit te druk nie.

Ek het dit oorweeg om 'n handkruk te gebruik om die kleure te verander, en miskien om dit op 'n deegroller te hê, maar dit lei tot sy eie komplikasies. Die servo is 'n bietjie raserig, maar werk vir eers goed.

Die klavier van die speler is tans slegs geprogrammeer om 4 note te speel. Dit is omdat die servo slegs 180 grade beweeg, die meeste rympies kan met slegs 3-4 note gespeel word, en ek wou nie hê dat die kleurwiel met kleurstreke deurmekaar sou raak nie, moontlik die kamera verwar. Dus, deur 'n kombinasie van musikale geluk en tegniese beperkings, is 4 note goed.

Aanbeveel: