Sisällysluettelo:

Synesthesia Player Piano: 4 vaihetta
Synesthesia Player Piano: 4 vaihetta

Video: Synesthesia Player Piano: 4 vaihetta

Video: Synesthesia Player Piano: 4 vaihetta
Video: Synthesia Pictures 2.0 2024, Heinäkuu
Anonim
Image
Image
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano

Tämä soitinpiano soittaa musiikkia väripyörän ja kameran avulla! Kamera ottaa kuvat, käsittelee ne ja tulkitsee nuotteiksi. Juuri nyt se on ohjelmoitu toistamaan lastenlauluja, joita voidaan muuttaa lataamalla uusi arduino -luonnos, joka määrittää, mitkä nuotit tulee soittaa (mitkä värit tulisi näyttää kameralle).

Sisäinen Linux -tietokone käynnistää käynnistyksen yhteydessä palvelun, joka ottaa kuvan kameralla, laskee toiminnon kuvan RGB -arvoista ja antaa äänen toiminnon palautusarvon perusteella. Ennen äänen toistamista se lähettää signaalin, joka käskee Arduinoa kääntämään servoa ja esittää seuraavan soitettavan nuotin värin. Sitten silmukka alkaa uudelleen, kuva otetaan, väripyörää pyöritetään ja ääntä toistetaan loputtomasti.

Tämä projekti on hauska tapa yhdistää musiikki, nykyaikaiset Linux-järjestelmien ohjelmoinnit, mikro-ohjaimen ohjelmointi, inkScape-doodling, laserleikkaus ja joidenkin roska-pahvilaatikoiden uudelleenkäyttö.

Kaikki koodi- ja inkScape -SVG -tiedostot ovat saatavilla githubissa osoitteessa:

github.com/melvyniandrag/pyMusic

Käytetyt materiaalit:

  1. Tyhjät valkoiset tarrat
  2. Pahvilaatikko
  3. Verkkokamera
  4. Väriliidut
  5. Arduino
  6. Beagleboard-xM
  7. Johdot
  8. Sarjakaapeli
  9. Kuvankäsittelyn ja musiikin perustiedot

Vaihe 1: Tietokoneet

Tietokoneet
Tietokoneet
Tietokoneet
Tietokoneet
Tietokoneet
Tietokoneet

Laitteessa tarvitset pienen Linux-yhteensopivan tietokoneen, kuten Raspberry Pi. Käytin vanhaa BeagleBoard-xM: ää, koska sattui olemaan se makaamassa ja minulla oli jo käyttöjärjestelmä SD-kortilla. Voit käyttää mitä tahansa, kunhan se pystyy käsittelemään verkkokameraa, voi käyttää OpenCV: tä (tietokonenäkökirjasto, jota käytetään ottamaan ja käsittelemään väripyörän kuvia) ja jossa on äänilähtöliitäntä.

Asetin käyttöjärjestelmän suorittamaan python -koodin, joka tallentaa kuvia käynnistyksen yhteydessä systemd -opetusohjelman jälkeen. Käsikirjoituksen suorittamiseksi sinun on sudo apt-get install python-pyaudio python-opencv saadaksesi ilmoitetut kirjastot. Sinun on myös pip asennettava numpy pyserial saadaksesi nämä kirjastot. pyaudioa käytetään äänien toistamiseen, opencv: tä käytetään kuvien ottamiseen ja käsittelyyn, numpyä käytetään myös kuvankäsittelyyn, ja pyserialia tarvitaan kommunikointiin Arduinon kanssa.

Arduinoa käytetään servomoottorin pyörittämiseen, johon väripyörä on asennettu. Jos sinulla olisi Raspberry Pi, voit käyttää siellä olevia GPIO -nastoja ja jättää Arduinon pois, mutta sinun on muutettava Python -koodia.

Kuvissa näet operaation tekniset sisukset ja pari koodinpätkää.

Vaihe 2: Piano

Piano
Piano
Piano
Piano
Piano
Piano

Tein pianon pahvista vanhoista laatikoistani. Minulla on onni asua lähellä tuotantotilaa, jossa on laserleikkuri. Olen koko vuoden miettinyt, mitä ihmettä haluttaisiin laserleikkurille, ja käy ilmi, että vihdoin löysin sille käyttötarkoituksen.

Mittasin tietokoneen, arduinon ja servon, joten tiesin kuinka paljon tilaa tarvitsin, piirsin pianon osat InScapeen ja leikkasin ne laserleikkurilla. (Edit: Paperi loppui, jotta kotelo piti tietokoneen ja arduinon, joten en laittanut niitä sisään. Ne ovat kotelon ulkopuolella. Ei ole väliä, olisi voinut saada toisen laatikon jostain, mutta se ei ei väliä lopulta.)

Kappaleet yhdistettiin epoksihartsilla.

Vaihe 3: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Tässä muutamia kuvia pianon kokoamisesta ja väristämisestä. Tulostimesta oli loppu muste, joten en voinut tulostaa värejä valkoisille tarroille suunnitellulla tavalla. Joten käytin tyttäreni väriliituja. Ja en löytänyt xacto -veistä leikatakseen tarran pahvin muotoiseksi, joten käytin vain pihviveistä ja laitoin jotain suojaavaa keittiöpöydälle. Käytä mitä saat!

Vaihe 4: Tekniset haasteet ja tulevaisuuden näkökohdat

Tekniset haasteet ja tulevaisuuden näkökohdat
Tekniset haasteet ja tulevaisuuden näkökohdat
Tekniset haasteet ja tulevaisuuden näkökohdat
Tekniset haasteet ja tulevaisuuden näkökohdat

Haastava osa projektia oli saada oikeat RGB -arvot kameran luettavaksi. Minulla olevan verkkokameran päällä on uskomattoman kirkkaita LED -valoja, joita en tiedä miten sammuttaa Linuxissa. Luulen, että on olemassa Windows -ohjain, jonka avulla voit kytkeä ne päälle ja pois päältä. Kokeilin teipata LEDit sähköteipillä ja jättää ne päälle. Testasin myös ohjelmiston kestävyyttä näyttämällä sille vain värillistä paperia, mutta myös kirjoittamalla pienen verkkosivuston, joka näyttää värit.

Tietokoneen tuottamat äänet sisältävät toisinaan ponnahduksia ja rätinää, ja tämä johtuu siitä, että minulla on hyvin vähän kokemusta Linux -ääniohjelmoinnista. Pyaudio -kirjasto sylkee koko joukon valituksia siitä, ettei JACK ole asennettu tietokoneeseen, mutta oletusarvoisesti JACK ei halua ajaa ilman päätä (ilman gui -työpöytää ja näyttöä). Tämä on ohjelmointitehtävä, jota ajattelin hienosäädettäväksi, mutta se ei ollut välttämätöntä ilmaisemaan mielessäni olevan soittopianon olemusta.

Olin harkinnut käsivivun käyttämistä värien vaihtamiseen ja ehkä niiden asettamiseen vierintätappiin, mutta se aiheuttaa omat komplikaationsa. Servo on hieman meluisa, mutta toimii toistaiseksi hyvin.

Soitinpiano on tällä hetkellä ohjelmoitu soittamaan vain 4 nuottia. Tämä johtuu siitä, että servo liikkuu vain 180 astetta. Joten musiikillisen tuurin ja teknisten rajoitteiden yhdistelmän ansiosta 4 nuottia on hyvä.

Suositeltava: