Turinys:

Sinestezijos grotuvo fortepijonas: 4 žingsniai
Sinestezijos grotuvo fortepijonas: 4 žingsniai

Video: Sinestezijos grotuvo fortepijonas: 4 žingsniai

Video: Sinestezijos grotuvo fortepijonas: 4 žingsniai
Video: XXI amžiaus mokyklų bibliotekos 2024, Liepa
Anonim
Image
Image
Sinestezijos grotuvas fortepijonas
Sinestezijos grotuvas fortepijonas
Sinestezijos grotuvas fortepijonas
Sinestezijos grotuvas fortepijonas

Šis pianino grotuvas groja muziką naudodami spalvų ratą ir fotoaparatą! Vaizdai fiksuojami fotoaparatu, apdorojami ir interpretuojami kaip muzikos natos. Šiuo metu jis yra užprogramuotas groti darželinius eilėraščius, kuriuos galima pakeisti įkeliant naują arduino eskizą, kuriame nurodoma, kokias natas reikia groti (kokios spalvos turėtų būti rodomos fotoaparatui).

Borto „Linux“kompiuteris paleidžiant paleidžia paslaugą, kuri fotografuoja su fotoaparatu, apskaičiuoja vaizdo RGB reikšmių funkciją ir išleidžia garsą pagal funkcijos grąžinimo vertę. Prieš paleisdamas garsą, jis siunčia signalą, liepiantį „Arduino“pasukti servo sistemą, ir pateikia spalvą, atitinkančią kitą grojamą natą. Tada ciklas prasideda iš naujo, padaryta nuotrauka, pasukamas spalvų ratas ir be galo grojamas garsas.

Šis projektas yra įdomus būdas integruoti muziką, šiuolaikinį „Linux“sistemų programavimą, mikrovaldiklių programavimą, „inkScape“piešimą, pjovimą lazeriu ir kai kurių kartoninių dėžių pertvarkymą.

Visus kodo ir „inkScape“SVG failus galima rasti „github“adresu:

github.com/melvyniandrag/pyMusic

Naudotos medžiagos:

  1. Tuščios baltos etiketės
  2. Kartoninė dėžutė
  3. Internetinė kamera
  4. Dažai
  5. Arduino
  6. „Beagleboard-xM“
  7. Laidai
  8. Serijinis kabelis
  9. Pagrindinės vaizdo apdorojimo ir muzikos žinios

1 žingsnis: kompiuterio dalykai

Kompiuteriniai dalykai
Kompiuteriniai dalykai
Kompiuteriniai dalykai
Kompiuteriniai dalykai
Kompiuteriniai dalykai
Kompiuteriniai dalykai

Lėktuve jums reikės nedidelio „Linux“palaikančio kompiuterio, pvz., „Raspberry Pi“. Aš naudoju seną „BeagleBoard-xM“, nes atsitiko, kad jis buvo aplink, ir aš jau turėjau operacinę sistemą SD kortelėje. Galite naudoti bet ką, jei tik ji gali valdyti internetinę kamerą, paleisti „OpenCV“(kompiuterio regėjimo biblioteką, naudojamą spalvų rato vaizdams fotografuoti ir apdoroti) ir turėti garso išvesties lizdą.

Nustatiau operacinę sistemą paleisti python kodą, kuris užfiksuoja vaizdus įkrovos metu, vadovaudamasis sistemos pamoka. Kad scenarijus būtų paleistas, turėsite sudo apt-get install python-pyaudio python-opencv, kad gautumėte nurodytas bibliotekas. Taip pat turėsite pip įdiegti numpy pyserial, kad gautumėte šias bibliotekas. „pyaudio“naudojamas garsams paleisti, „opencv“naudojamas vaizdams fotografuoti ir apdoroti, „numpy“taip pat naudojamas vaizdų apdorojimui, o „pyserial“reikalingas bendravimui su „Arduino“.

„Arduino“naudojamas servo varikliui, ant kurio sumontuotas spalvų ratas, sukti. Jei turėtumėte „Raspberry Pi“, galėtumėte naudoti ten esančius GPIO kaiščius ir palikti „Arduino“, bet turėsite pakeisti „Python“kodą.

Nuotraukose galite pamatyti operacijos technologines žarnas ir porą kodo fragmentų.

2 žingsnis: fortepijonas

Pianinas
Pianinas
Pianinas
Pianinas
Pianinas
Pianinas

Pianiną padariau iš kartono iš kai kurių senų dėžių. Man pasisekė gyventi netoli kūrėjų erdvės, kurioje yra lazerinis pjaustytuvas. Visus metus galvojau, kam po velnių norėtųsi lazerinio pjaustytuvo, ir paaiškėjo, kad pagaliau radau jam panaudojimą.

Aš išmatavau kompiuterį, arduino ir servo, todėl žinojau, kiek man reikia vietos, piešiau fortepijono dalis „inkScape“ir iškirpiau jas lazeriniu pjaustytuvu. (Redaguoti: man baigėsi kartonas, kad gaubte būtų kompiuteris ir arduino, todėl jų neįdėjau. Jie yra korpuso išorėje. Nesvarbu, galėjau iš kitos vietos gauti kitą dėžutę, bet taip nebuvo galų gale nesvarbu.)

Gabalai buvo sujungti su epoksidu.

3 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Štai keletas surinkto ir spalvoto pianino vaizdų. Spausdintuve baigėsi rašalas, todėl negalėjau atspausdinti spalvų ant baltų etikečių, kaip planavau. Taigi aš naudoju savo dukters pieštukus. Ir aš neradau „xacto“peilio, kad iškirpčiau etiketę pagal kartono formą, todėl tiesiog panaudojau kepsnio peilį ir ant virtuvės stalo uždėjau kažką apsauginio. Naudok tai, ką turi!

4 žingsnis: techniniai iššūkiai ir ateities svarstymai

Techniniai iššūkiai ir ateities svarstymai
Techniniai iššūkiai ir ateities svarstymai
Techniniai iššūkiai ir ateities svarstymai
Techniniai iššūkiai ir ateities svarstymai

Sudėtinga šio projekto dalis buvo tai, kad fotoaparatas nuskaitytų tinkamas RGB reikšmes. Mano turimoje internetinėje kameroje yra neįtikėtinai ryškių šviesos diodų, kurių nežinau, kaip išjungti „Linux“. Manau, kad yra „Windows“tvarkyklė, leidžianti jas įjungti ir išjungti. Eksperimentavau sujuosdamas šviesos diodus elektros juostele ir palikdamas juos įjungtus. Aš taip pat išbandžiau programinės įrangos patikimumą, ne tik parodydamas jai spalvotą popierių, bet ir parašęs nedidelę svetainę, kurioje rodomos spalvos.

Kompiuterio skleidžiami garsai kartais turi spragtelėjimų ir traškėjimo, ir tai kyla iš to, kad turiu labai mažai Linux garso programavimo patirties. „Pyaudio“biblioteka išspjauna visą krūvą skundų dėl to, kad kompiuteryje neįdiegta JACK, tačiau pagal nutylėjimą JACK nenori veikti be galvos (be „gui“darbalaukio ir monitoriaus). Tai programavimo užduotis, kuri, mano manymu, buvo patobulinta, tačiau nebuvo būtina norint išreikšti pianino, kurį turėjau omenyje, esmę.

Aš norėjau pakeisti rankinį švaistiklį, kad pakeistumėte spalvas ir galbūt jas padėčiau ant kočėlo, bet tai sukelia savo komplikacijų. Servo yra šiek tiek triukšmingas, bet kol kas veikia gerai.

Šiuo metu grotuvas pianinu yra užprogramuotas groti tik 4 natas. Taip yra todėl, kad servo sistema juda tik 180 laipsnių kampu, daugumą darželio rimų galima groti tik su 3-4 natomis, o aš nenorėjau, kad spalvų ratas būtų užgriozdintas spalvų sritimis, galbūt supainiodamas fotoaparatą. Taigi, derinant muzikinę sėkmę ir techninius apribojimus, gerai tinka 4 natos.

Rekomenduojamas: