Satura rādītājs:
- 1. darbība. Datora lietas
- 2. solis: klavieres
- 3. solis: montāža
- 4. solis: tehniskie izaicinājumi un nākotnes apsvērumi
Video: Sinestēzijas spēlētāja klavieres: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Šis spēlētājs klavieres atskaņo mūziku, izmantojot krāsu riteni un kameru! Attēlus uzņem kamera, apstrādā un interpretē kā notis. Pašlaik tā ir ieprogrammēta, lai atskaņotu bērnudārza atskaņas, kuras var mainīt, augšupielādējot jaunu arduino skici, kurā norādīts, kuras piezīmes jāspēlē (kuras krāsas jāparāda kamerai).
Borta Linux dators sāk pakalpojumu sāknēšanas laikā, kas uzņem attēlu ar kameru, aprēķina attēla RGB vērtību funkciju un izvada skaņu, pamatojoties uz funkcijas atgriešanas vērtību. Pirms skaņas atskaņošanas tā nosūta signālu, kas liek Arduino pagriezt servo, parādot krāsu, kas atbilst nākamajai atskaņojamajai notij. Pēc tam cilpa sākas no jauna, tiek uzņemts attēls, pagriezts krāsu ritenis un bezgalīgi tiek atskaņota skaņa.
Šis projekts ir jautrs veids, kā integrēt mūziku, modernu Linux sistēmu programmēšanu, mikrokontrolleru programmēšanu, tintescape doodling, lāzergriešanu un dažu nevēlamu kartona kārbu atkārtotu izveidi.
Visi kodu un inkScape SVG faili ir pieejami vietnē github:
github.com/melvyniandrag/pyMusic
Izmantotie materiāli:
- Tukšas baltas etiķetes
- Kartona kastē
- Tīmekļa kamera
- Krītiņi
- Arduino
- Beagleboard-xM
- Vadi
- Sērijas kabelis
- Pamatzināšanas par attēlu apstrādi un mūziku
1. darbība. Datora lietas
Bortā jums būs nepieciešams neliels dators, kas spēj darboties ar Linux, piemēram, Raspberry Pi. Es izmantoju veco BeagleBoard-xM, jo man gadījās, ka tas atrodas apkārt, un man jau bija operētājsistēma SD kartē. Jūs varat izmantot jebko, ja vien tā spēj apstrādāt tīmekļa kameru, var palaist OpenCV (datora redzes bibliotēku, ko izmanto krāsu riteņa attēlu uzņemšanai un apstrādei), un tai ir audio izejas ligzda.
Es iestatīju operētājsistēmu, lai palaistu pitona kodu, kas uzņem attēlus sāknēšanas laikā pēc sistēmas apmācības. Lai skripts darbotos, jums būs nepieciešams sudo apt-get install python-pyaudio python-opencv, lai iegūtu norādītās bibliotēkas. Lai iegūtu šīs bibliotēkas, jums arī jāinstalē numpy pyserial. pyaudio tiek izmantots, lai atskaņotu skaņas, opencv tiek izmantots attēlu uzņemšanai un apstrādei, numpy tiek izmantots arī attēlu apstrādei, un pyserial ir nepieciešams saziņai ar Arduino.
Arduino izmanto, lai pagrieztu servomotoru, uz kura ir uzstādīts krāsu ritenis. Ja jums būtu Raspberry Pi, jūs varētu izmantot tur esošās GPIO tapas un atstāt Arduino, taču jums ir jāmaina Python kods.
Attēlos var redzēt operācijas tehnoloģiskās iekšas un pāris koda fragmentus.
2. solis: klavieres
Es izgatavoju klavieres no kartona no dažām vecām kastēm, kas man bija. Man ir tā laime dzīvot netālu no ražotāja, kurā ir lāzera griezējs. Veselu gadu es domāju, kam pie velna būtu vajadzīgs lāzera griezējs, un izrādās, ka beidzot tam atradu pielietojumu.
Es izmērīju datoru, arduino un servo, lai es zinātu, cik daudz vietas man vajag, uzzīmēju klavieru daļas inkScape un izgriezu tās uz lāzera griezēja. (Rediģēt: man beidzās kartons, lai korpuss turētu datoru un arduino, un tāpēc es tos neievietoju. Tie atrodas korpusa ārpusē. Nav svarīgi, varēja dabūt citu kastīti no kaut kur, bet tā nebija galu galā nav nozīmes.)
Gabali tika salikti kopā ar epoksīdu.
3. solis: montāža
Šeit ir daži klavieru montāžas un iekrāsošanas attēli. Printerim bija beigusies tinte, tāpēc es nevarēju izdrukāt krāsas uz baltajām etiķetēm, kā biju plānojis. Tāpēc es izmantoju savas meitas krītiņus. Un es nevarēju atrast xacto nazi, lai sagrieztu etiķeti pēc kartona formas, tāpēc es vienkārši izmantoju steika nazi un uzliku kaut ko aizsargājošu uz virtuves letes. Izmantojiet to, kas jums ir!
4. solis: tehniskie izaicinājumi un nākotnes apsvērumi
Izaicinoša šī projekta daļa bija panākt, lai kamera nolasītu pareizās RGB vērtības. Manā tīmekļa kamerā ir dažas neticami spilgtas gaismas diodes, kuras es nezinu, kā izslēgt operētājsistēmā Linux. Es domāju, ka ir Windows draiveris, kas ļauj tos ieslēgt un izslēgt. Es eksperimentēju ar gaismas diodes uzlīmēšanu ar elektrisko lenti un atstājot tās ieslēgtas. Es arī pārbaudīju programmatūras stabilitāti, ne tikai parādot tai krāsainu papīru, bet arī uzrakstot nelielu vietni, kurā redzamas krāsas.
Datora radītajās skaņās reizēm ir ieplīsis un sprakšķ, un tas nāk no fakta, ka man ir ļoti maza pieredze Linux audio programmēšanā. Pyaudio bibliotēka izspiež veselu virkni sūdzību par to, ka datorā nav instalēts JACK, bet pēc noklusējuma JACK nevēlas darboties bez galvas (bez gui darbvirsmas un monitora). Šis ir programmēšanas uzdevums, kas, manuprāt, bija precizējums, bet nebija nepieciešams, lai izteiktu klavierspēles būtību, kas man bija prātā.
Es biju apsvēris iespēju izmantot rokas kloķi, lai mainītu krāsas un, iespējams, tās uz rullīšu tapas, bet tas rada savas komplikācijas. Servo ir nedaudz trokšņains, bet pagaidām darbojas labi.
Klavierspēle pašlaik ir ieprogrammēta tikai 4 piezīmju atskaņošanai. Tas ir tāpēc, ka servo kustas tikai par 180 grādiem, lielāko daļu bērnudārzu var atskaņot tikai ar 3-4 notīm, un es negribēju, lai krāsu ritenis tiktu pārblīvēts ar krāsu apgabaliem, iespējams, mulsinot kameru. Tātad, apvienojot muzikālo veiksmi un tehniskos ierobežojumus, 4 notis ir labi.
Ieteicams:
Lāzera klavieres: 9 soļi
Lāzera klavieres: Sveiki, es esmu students Multimedia & Radošās tehnoloģijas Howest Beļģijā. Vai jūs vienmēr esat vēlējies spēlēt mūziku, bet ne kā visi? Tad tas varētu būt kaut kas jums! Es esmu izgatavojis klavieres no lāzeriem. Jums vienkārši jāpieliek pirksti augstāk
Vienkārša Arduino klavieres: 8 soļi
Vienkāršas Arduino klavieres: Šodien mēs izveidosim vienkāršas vienas oktavas Arduino klavieres, kas var būt lielisks sākumpunkts citiem projektiem. Šis projekts iepazīstinās ar Arduino pamata komponentiem un programmēšanu vidusskolas līmenī. Kamēr kods ir iepriekš sagatavotas personas, c
Viena spēlētāja reakcijas taimeris (ar Arduino): 5 soļi
Viena spēlētāja reakcijas taimeris (ar Arduino): Šajā projektā jūs izveidosit reakcijas taimeri, kuru darbina Arduino. Tas darbojas ar Arduino milis () funkciju, kur procesors reģistrē laiku, kopš programma sāk darboties. To var izmantot, lai atrastu laika atšķirību starp
Viena spēlētāja arkādes MAME kaste: 7 soļi
Viena spēlētāja Arcade MAME Box: Šodien mēs izveidosim mini-MAME konsoli, izmantojot Raspberry Pi. Šī ir viena spēlētāja konsole, taču, tā kā pi USB porti ir pieejami, ir viegli pievienot citu konsoli vai USB kursorsviru, lai veiktu dažas vairāku spēlētāju darbības, ja garastāvoklis mainās
Arduino viena spēlētāja teniss- ja tas, tad tas: 5 soļi
Arduino Singleplayer Pong- If This, then That: Dit arduino project is gebaseerd op een 2 speler pong project hier op instructables (https: //www.instructables.com/id/Portable-Arduino-a …) maar dit projekts ir singple player met een simpele AI.Denderdelen: Arduino Uno Nokia 5100 scherm. https: // ww