Talaan ng mga Nilalaman:

Synesthesia Player Piano: 4 Mga Hakbang
Synesthesia Player Piano: 4 Mga Hakbang

Video: Synesthesia Player Piano: 4 Mga Hakbang

Video: Synesthesia Player Piano: 4 Mga Hakbang
Video: SunKissed Lola - Pasilyo • Perfect Piano 2024, Hulyo
Anonim
Image
Image
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano

Nagpe-play ang piano ng player na ito ng musika gamit ang isang color wheel at isang camera! Ang mga imahe ay nakunan ng camera, naproseso, at binibigyang kahulugan bilang mga tala ng musikal. Sa ngayon ay nai-program na ito upang i-play ang mga nursery rhymes na maaaring mabago sa pamamagitan ng pag-upload ng isang bagong arduino sketch na tumutukoy kung aling mga tala ang dapat i-play (Aling mga kulay ang dapat ipakita sa camera).

Ang onboard Linux PC ay nagsisimula ng isang serbisyo sa bootup na kumukuha ng larawan gamit ang isang kamera, kinukwenta ang isang pag-andar ng mga halagang RGB sa imahe, at naglalabas ng tunog batay sa halaga ng pagbabalik ng pagpapaandar. Bago patugtugin ang tunog ay nagpapadala ito ng isang senyas na nagsasabi sa isang Arduino na paikutin ang isang servo, na ipinapakita ang kulay na naaayon sa susunod na tala na papatugtog. Pagkatapos ay magsisimula muli ang loop, kunan ng larawan, ang kulay ng gulong ay pinaikot, at ang isang tunog ay pinatugtog ad infinitum.

Ang proyektong ito ay isang nakakatuwang paraan upang isama ang musika, modernong programa ng mga system ng Linux, programa ng micro-controller, pag-doodling ng inkscape, paggupit ng laser, at muling paghangad ng ilang mga kahon ng karton na basura.

Ang lahat ng mga code at inkscape na SVG ay magagamit sa github sa:

github.com/melvyniandrag/pyMusic

Mga Ginamit na Materyal:

  1. Mga blangkong puting label
  2. Kahon ng karton
  3. Webcam
  4. Mga krayola
  5. Arduino
  6. Beagleboard-xM
  7. Mga wire
  8. Serial Cable
  9. Pangunahing kaalaman sa pagproseso ng imahe at musika

Hakbang 1: Ang Computer Stuff

Ang Bagay sa Computer
Ang Bagay sa Computer
Ang Bagay sa Computer
Ang Bagay sa Computer
Ang Bagay sa Computer
Ang Bagay sa Computer

On-board kakailanganin mo ang isang maliit na computer na may kakayahang Linux tulad ng isang Raspberry Pi. Gumamit ako ng isang lumang BeagleBoard-xM dahil nagkataong naglatag ako at mayroon na akong operating system sa SD card. Maaari mong gamitin ang anuman, hangga't maaari itong hawakan ang isang webcam, maaaring patakbuhin ang OpenCV (ang library ng computer vision na ginamit upang kumuha at magproseso ng mga imahe ng color wheel), at mayroong isang audio out jack.

Itinakda ko ang operating system upang patakbuhin ang code ng sawa na nakakakuha ng mga imahe sa bootup kasunod ng isang tutorial na systemd. Para sa pagpapatakbo ng script kakailanganin mong sudo apt-get install ng python-pyaudio python-opencv upang makuha ang ipinahiwatig na mga aklatan. Kakailanganin mo ring mag-install ng numpy pyserial upang makuha ang mga silid-aklatan na iyon. Ginagamit ang pyaudio upang maglaro ng mga tunog, ginagamit ang opencv para sa pagkuha ng imahe at pagproseso, ginagamit din ang numpy para sa pagproseso ng imahe, at kailangan ang pyserial para sa pakikipag-usap sa Arduino.

Ginagamit ang Arduino para sa pag-ikot ng servo motor kung saan naka-mount ang gulong kulay. Kung mayroon kang isang Raspberry Pi maaari mong magamit ang mga GPIO pin doon at iwanan ang Arduino, ngunit kailangan mong baguhin ang code ng Python.

Sa mga larawan maaari mong makita ang mga teknolohiyang lakas ng loob ng operasyon at isang pares ng mga code ng code.

Hakbang 2: Ang Piano

Ang piano
Ang piano
Ang piano
Ang piano
Ang piano
Ang piano

Ginawa ko ang piano mula sa karton mula sa ilang mga lumang kahon na mayroon ako. Mayroon akong magandang kapalaran ng pamumuhay malapit sa isang makerspace na may isang laser cutter. Sa loob ng isang buong taon naisip ko kung ano ang gusto ng isang pamutol ng laser, at lumalabas na sa wakas ay nakakita ako ng paggamit para dito.

Sinukat ko ang computer, arduino, at servo kaya alam ko kung gaanong puwang ang kailangan ko, iginuhit ang mga bahagi ng piano sa inkscape, at gupitin ito sa pamutol ng laser. (I-edit: Naubusan ako ng karton upang hawakan ng enclosure ang computer at arduino at sa gayon hindi ko ito inilagay. Nasa labas sila ng kaso. Hindi mahalaga, maaaring makakuha ng ibang kahon mula sa kung saan, ngunit hindi ito hindi mahalaga sa huli.)

Ang mga piraso ay pinagsama sa epoxy.

Hakbang 3: Assembly

Assembly
Assembly
Assembly
Assembly
Assembly
Assembly

Narito ang ilang mga imahe ng piano na naka-assemble at may kulay. Ang printer ay wala sa tinta kaya't hindi ko mai-print ang mga kulay sa mga puting label tulad ng naiplano ko. Kaya't ginamit ko ang mga krayola ng aking anak na babae. At hindi ako makahanap ng isang xacto na kutsilyo upang i-cut ang label sa hugis ng karton, kaya gumamit lang ako ng isang steak na kutsilyo at naglagay ng isang bagay na proteksiyon sa counter ng kusina. Gamitin kung ano ang nakuha mo!

Hakbang 4: Mga Teknikal na Hamon at Pagsasaalang-alang sa Hinaharap

Mga Teknikal na Hamon at Pagsasaalang-alang sa Hinaharap
Mga Teknikal na Hamon at Pagsasaalang-alang sa Hinaharap
Mga Teknikal na Hamon at Pagsasaalang-alang sa Hinaharap
Mga Teknikal na Hamon at Pagsasaalang-alang sa Hinaharap

Isang hamon na bahagi ng proyektong ito ang pagkuha ng wastong mga halagang RGB na mabasa ng camera. Ang webcam na mayroon ako ay may ilang mga hindi kapani-paniwalang maliwanag na LEDs dito na hindi ko alam kung paano i-off sa Linux. Sa palagay ko mayroong isang driver ng Windows na nagbibigay-daan sa iyo upang i-toggle sila at i-off. Nag-eksperimento ako sa pag-tape sa mga LED na may electrical tape at iniiwan ang mga ito. Sinubukan ko rin ang software para sa pagiging matatag sa pamamagitan ng hindi lamang pagpapakita nito ng may kulay na papel, ngunit nagsusulat din ng isang maliit na website na nagpapakita ng mga kulay.

Ang mga tunog na ginawa ng computer kung minsan ay may mga pop at crackling sa kanila, at nagmula ito sa katotohanang may napakakaunting karanasan sa Linux audio program. Ang pyaudio library ay dumura ng isang buong grupo ng mga reklamo tungkol sa JACK na hindi nai-install sa PC, ngunit sa pamamagitan ng default na JACK ay hindi nais na magpatakbo ng walang ulo (nang walang gui desktop at isang monitor). Ito ay isang gawain sa programa na sa palagay ko ay isang pagpipino, ngunit hindi kinakailangan upang maipahayag ang kakanyahan ng manlalaro piano na nasa isip ko.

Isinasaalang-alang ko ang paggamit ng isang crank sa kamay upang baguhin ang mga kulay, at marahil ay magkaroon ng mga ito sa isang rolling pin na uri ng bagay, ngunit ipinakikilala nito ang sarili nitong mga komplikasyon. Ang servo ay medyo maingay, ngunit gumagana nang maayos sa ngayon.

Ang manlalaro piano ay kasalukuyang naka-program lamang upang maglaro ng 4 na tala. Ito ay dahil ang servo ay gumagalaw lamang ng 180 degree, ang karamihan sa mga nursery rhymes ay maaaring i-play na may 3-4 na tala lamang, at hindi ko nais na ang gulong kulay ay magkalat sa mga rehiyon ng kulay, posibleng nakalito ang camera. Kaya sa pamamagitan ng isang kombinasyon ng swerte sa musikal at mga hadlang sa teknikal, ang 4 na tala ay mabuti.

Inirerekumendang: