Taula de continguts:

Piano de sinestèsia: 4 passos
Piano de sinestèsia: 4 passos

Vídeo: Piano de sinestèsia: 4 passos

Vídeo: Piano de sinestèsia: 4 passos
Vídeo: Маленький лисенок вышел к людям за помощью 2024, Juliol
Anonim
Image
Image
Reproductor de sinestèsia
Reproductor de sinestèsia
Reproductor de sinestèsia
Reproductor de sinestèsia

Aquest piano reproductor reprodueix música amb una roda de colors i una càmera. Les imatges són capturades per la càmera, processades i interpretades com a notes musicals. Ara mateix està programat per reproduir rimes infantils que es poden canviar carregant un nou esbós d’arduino que especifica quines notes s’han de reproduir (quins colors s’han de mostrar a la càmera).

El PC Linux integrat inicia un servei en arrencar que pren una fotografia amb una càmera, calcula una funció dels valors RGB de la imatge i emet un so basat en el valor de retorn de la funció. Abans de reproduir el so, envia un senyal indicant a un Arduino que giri un servo, presentant el color corresponent a la següent nota que es reproduirà. A continuació, el bucle torna a començar, es fa una fotografia, es gira la roda de colors i es reprodueix un so infinit.

Aquest projecte és una manera divertida d’integrar música, programació moderna de sistemes Linux, programació de microcontroladors, doodling d’inscape, tall per làser i re-proposar algunes caixes de cartró brossa.

Tots els SVG de codi i inkscape estan disponibles a github a:

github.com/melvyniandrag/pyMusic

Materials utilitzats:

  1. Etiquetes blanques en blanc
  2. Caixa de cartró
  3. Càmera web
  4. Llapis de colors
  5. Arduino
  6. Beagleboard-xM
  7. Filferros
  8. Cable de sèrie
  9. Coneixements bàsics de processament d’imatges i música

Pas 1: les coses de l'ordinador

Les coses de l’ordinador
Les coses de l’ordinador
Les coses de l’ordinador
Les coses de l’ordinador
Les coses de l’ordinador
Les coses de l’ordinador

A bord necessitareu un petit equip compatible amb Linux, com ara un Raspberry Pi. Vaig fer servir un vell BeagleBoard-xM perquè, de vegades, el posava i ja tenia un sistema operatiu a la targeta SD. Podeu utilitzar qualsevol cosa, sempre que pugui gestionar una càmera web, pugui executar OpenCV (la biblioteca de visió per ordinador que s’utilitza per fer i processar imatges de la roda de colors) i que tingui un connector de sortida d’àudio.

He configurat el sistema operatiu per executar el codi python que captura imatges en arrencar seguint un tutorial de systemd. Per executar l'script, haureu de fer sudo apt-get install python-pyaudio python-opencv per obtenir les biblioteques indicades. També haureu d’instal·lar pip numys pyserial per obtenir aquestes biblioteques. pyaudio s'utilitza per reproduir sons, opencv s'utilitza per a la presa i processament d'imatges, numpy també s'utilitza per al processament d'imatges i es necessita pyserial per comunicar-se amb l'Arduino.

L'Arduino s'utilitza per fer girar el servomotor sobre el qual està muntada la roda de colors. Si teníeu un Raspberry Pi, podríeu fer servir els pins GPIO allà i deixar fora l’Arduino, però hauríeu de modificar el codi Python.

A les imatges es poden veure les tripes tecnològiques de l'operació i un parell de fragments de codi.

Pas 2: el piano

El piano
El piano
El piano
El piano
El piano
El piano

Vaig fer el piano de cartró amb algunes caixes velles que tenia. Tinc la sort de viure a prop d’un espai creador que té un tallador làser. Durant tot un any m’he preguntat per a què diables voldria un tallador làser i resulta que finalment en vaig trobar un ús.

Vaig mesurar l’ordinador, l’arduino i el servo, de manera que sabia l’espai que necessitaria, vaig dibuixar les parts del piano en un paisatge d’inks i les vaig retallar al tallador làser. (Edició: em vaig quedar sense cartró per fer que el gabinet contenia l'ordinador i l'arduino i, per tant, no els vaig posar. Estan a la part exterior de la caixa. No importa, podria haver obtingut una altra caixa d'algun lloc, però no al final no importa.)

Les peces es van ajuntar amb epoxi.

Pas 3: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Aquí teniu algunes imatges del piano que s’està muntant i acolorint. La impressora estava sense tinta, de manera que no vaig poder imprimir els colors a les etiquetes blanques tal com tenia previst. Vaig fer servir els llapis de colors de la meva filla. I no vaig poder trobar un ganivet xacto per tallar l’etiqueta a la forma del cartró, així que vaig fer servir un ganivet de filet i vaig posar alguna cosa protectora al taulell de la cuina. Utilitzeu el que teniu!

Pas 4: reptes tècnics i consideracions futures

Reptes tècnics i consideracions futures
Reptes tècnics i consideracions futures
Reptes tècnics i consideracions futures
Reptes tècnics i consideracions futures

Una part desafiant d’aquest projecte consistia a aconseguir que la càmera llegís els valors RGB adequats. La càmera web que tinc té uns LEDs increïblement brillants que no sé com apagar a Linux. Crec que hi ha un controlador de Windows que us permet activar i desactivar. Vaig experimentar amb gravar els LED amb cinta elèctrica i deixar-los encesos. També he provat la robustesa del programari, no només mostrant-li paper de colors, sinó també escrivint un petit lloc web que mostra colors.

Els sons produïts per l'ordinador de vegades presenten esclats i cruixits, i això prové del fet que tinc molt poca experiència en programació d'àudio Linux. La biblioteca pyaudio expulsa tota una sèrie de queixes pel fet que JACK no s’instal·la al PC, però per defecte JACK no vol córrer sense cap (sense un escriptori gui i un monitor). Es tracta d’una tasca de programació que em va semblar un refinament, però que no era necessària per expressar l’essència del piano que tenia al cap.

M’havia plantejat utilitzar una manovella manual per canviar els colors i potser tenir-los en un corró, però això introdueix les seves pròpies complicacions. El servo és una mica sorollós, però de moment funciona bé.

Actualment, el piano del reproductor només està programat per tocar 4 notes. Això es deu al fet que el servo només es mou 180 graus, la majoria de rimes es poden tocar amb només 3-4 notes i no volia que la roda de colors estigués desordenada amb regions de color, cosa que podria confondre la càmera. Així, a través d’una combinació de sort musical i restriccions tècniques, 4 notes estan bé.

Recomanat: