Artículos

Pinta Sound - Convierte imágenes en audio

pinta soundPinta Sound es un programa que convierte archivos de imagen a archivos de audio.wav. Es un programa que está a medio desarrollo, pero ya es funcional. Podrás descargar su código fuente o el ejecutable. Sólo funciona bajo Windows 7. Permite convertir trazos hechos a mano o imágenes en cualquier formato a archivos WAV y reproducirlos al momento.

 

 

Código fuente

El código fuente es libre, puede ser usado para cualquier propósito. No soy responsable de su uso ni de su completa funcionalidad. Se compila con Visual C# 2008 Express Edition.

Si mejoras, editas o republicas el código fuente por favor haz referencia a todos los autores, incluyéndome a mí, muchas gracias. Si gustas mejorar el proyecto, por favor hazlo a través de GitHub.

Para descargar el código fuente accesa a GitHub:

https://github.com/migsantiago/Pinta_Sound_git

El código hace uso de clases de audio de Eric Oulashin:

http://www.codeproject.com/Articles/35725/C-WAV-file-class-audio-mixing-and-some-light-audio

Igualmente usa ZedGraph para el ploteo de la señal de audio y del Windows API Code Pack para la ventana Aero de la aplicación.

 

Código ejecutable

El código ejecutable (binario) no debe ser publicado en otro sitio ajeno a migsantiago.com. Lo puedes descargar de este link.

http://www.migsantiago.com/descargas/Pinta_Sound_05apr2014[migsantiago.com].zip

 

Uso de la aplicación

Dibujar a mano

+ Da click en Draw para habilitar el lápiz
+ Dibuja cualquier cosa en el recuadro blanco
+ Si quieres borrar usa Erase
+ Si quieres guardar tu dibujo, hazlo dando click en Save Pinta
+ Si quieres cargar un dibujo guardado, hazlo dando click en Load Pinta
+ Selecciona el número de veces que tu dibujo se repetirá en el archivo de audio (Repeat wave)
+ Selecciona la frecuencia de muestreo en Hertz (Sample rate)
+ Da click en Parse audio from Pinta! para generar un archivo WAV. Checa el directorio donde corriste la aplicación, se habrá generado un archivo test.wav.

Generar audio de imagen en archivo

+ Da click en Load Image
+ Selecciona el número de veces que tu dibujo se repetirá en el archivo de audio (Repeat wave)
+ Selecciona la frecuencia de muestreo en Hertz (Sample rate)
+ Da click en Parse audio from Pinta! para generar un archivo WAV. Checa el directorio donde corriste la aplicación, se habrá generado un archivo test.wav.

La aplicación plotea la imagen o dibujo en pantalla. Puedes habilitar o deshabilitar las envolventes superior o inferior de la imagen.

Cuando ya hayas generado un WAV, puedes escucharlo dando click en Play.

 

Algoritmo de conversión

Para generar las curvas de audio no hice gran cosa...

+ Busca los puntos negros de la imagen de arriba a abajo y velos uniendo en una curva
+ De lo anterior resulta una envolvente superior
+ Busca los puntos negros de la imagen de abajo a arriba y velos uniendo en una curva
+ De lo anterior resulta una envolvente inferior
+ Toma ambas envolventes y encuentra un punto medio entre ellas
+ Esa curva resultante es la curva de audio a generar

El algoritmo puede mejorarse significativamente:

+ Usar diferentes escalas de grises en vez de solo negro para detectar pixeles
+ Umbralizar la imagen para tales escalas
+ Interpolar la señal resultante para generar señales de audio lentas como por ejemplo un electrocardiograma

Espero te sea de utilidad este programa.