Sisällysluettelo:
- Vaihe 1: Tietokoneet
- Vaihe 2: Piano
- Vaihe 3: Kokoonpano
- Vaihe 4: Tekniset haasteet ja tulevaisuuden näkökohdat
Video: Synesthesia Player Piano: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
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:
- Tyhjät valkoiset tarrat
- Pahvilaatikko
- Verkkokamera
- Väriliidut
- Arduino
- Beagleboard-xM
- Johdot
- Sarjakaapeli
- Kuvankäsittelyn ja musiikin perustiedot
Vaihe 1: 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
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
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
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:
Arduino Piezo Buzzer Piano: 5 vaihetta
Arduino Piezo Buzzer Piano: Täällä teemme Arduino -pianon, joka käyttää pietsosummeria kaiuttimena. Tämä projekti on helposti skaalautuva ja voi toimia enemmän tai vähemmän muistiinpanojen kanssa, riippuen sinusta! Rakennamme sen yksinkertaisuuden vuoksi vain neljällä painikkeella/näppäimellä. Tämä on hauska ja helppo projekti
Yksinkertainen Arduino -piano: 8 vaihetta
Yksinkertainen Arduino-piano: Tänään luomme yksinkertaisen yhden oktaavin Arduino-pianon, joka voi olla hyvä lähtökohta muille projekteille. Tämä projekti esittelee Arduinon perusosat ja ohjelmoinnin lukiossa. Vaikka koodi on valmiita yksilöitä, c
Arduino -piano manuaalisesti ja 7 esiasetettua kappaletta: 7 vaihetta
Arduino -piano manuaalisesti ja 7 esiasetettua kappaletta: Arduino -pianonäppäimistö, jossa on LCD -näyttö, on 2 -tilassa. Esiasetustila. Käytin 7 -painikkeista yksinkertaista 7 -näppäimistä pianoa ja 1 -painiketta Setup -tilassa vaihtaaksesi 7 esiasetettuun kappaleeseen. Esiasetustilan kappaleet: Napsauta asetustilan painiketta fi
Piano kuulostaa Arduinon avulla TinkerCadissa: 4 vaihetta
Pianoäänet Arduinon avulla TinkerCadissa: Tässä opetusohjelmassa opit käyttämään summeria (tai pietsokaiutinta) Arduinon kanssa. Summerit löytyvät hälytyslaitteista, tietokoneista, ajastimista ja käyttäjän syöttämien tietojen vahvistamisesta, kuten hiiren napsautuksesta tai näppäinpainalluksesta. Opit myös käyttämään ääntä ()
Makey Makey Piano Player: 7 vaihetta
Makey Makey Piano Player: Aloitetaan siis. kaiken kaikkiaan tämä idea vie noin 30 minuuttia koko projektin toteuttamiseen, mutta rakennusprosessin osalta sinun on varmistettava, että luet vaiheet huolellisesti, joten aloitetaan tämä asia joka tapauksessa