Satura rādītājs:

Sinestēzijas spēlētāja klavieres: 4 soļi
Sinestēzijas spēlētāja klavieres: 4 soļi

Video: Sinestēzijas spēlētāja klavieres: 4 soļi

Video: Sinestēzijas spēlētāja klavieres: 4 soļi
Video: ПОЧЕМУ Я ЖДУ L4D3 2024, Novembris
Anonim
Image
Image
Sinestēzijas spēlētāja klavieres
Sinestēzijas spēlētāja klavieres
Sinestēzijas spēlētāja klavieres
Sinestēzijas spēlētāja klavieres

Š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:

  1. Tukšas baltas etiķetes
  2. Kartona kastē
  3. Tīmekļa kamera
  4. Krītiņi
  5. Arduino
  6. Beagleboard-xM
  7. Vadi
  8. Sērijas kabelis
  9. Pamatzināšanas par attēlu apstrādi un mūziku

1. darbība. Datora lietas

Datora lietas
Datora lietas
Datora lietas
Datora lietas
Datora lietas
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

Klavieres
Klavieres
Klavieres
Klavieres
Klavieres
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

Montāža
Montāža
Montāža
Montāža
Montāža
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

Tehniskie izaicinājumi un nākotnes apsvērumi
Tehniskie izaicinājumi un nākotnes apsvērumi
Tehniskie izaicinājumi un nākotnes apsvērumi
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: