Sound2Header
Sound2Header (sound to header) es un pequeño y simple programa en C que he hecho en un rato usando la librería libsndfile para convertir cualquier archivo de sonido soportado por libsndfile a un array de samples en un rango dado por la línea de comandos. De forma que se pueda incluir el fichero generado en cualquier archivo de código C/C++. Está hecho para proyectos embebidos donde no sea posible abrir archivos de la misma forma que cuando existe un sistema operativo. Sound2Header es software libre licenciado bajo la licencia GNU/GPL versión 3 o posterior y el código está adjunto. Puede compilarse fácilmente ejecutando (necesitas tener instalada la librería libsndfile):
$ gcc -lsndfile sound2header.c -o sound2header
Muchas gracias a Erik de Castro Lopo por crear y mantener la librería libsndfile. ¡Sigue desarrollando software libre!
Inglés/English:
Sound2Header (sound to header) is a little and simple C program that I have done in a while using the libsndfile library to convert any sound file supported by libsndfile to an array of samples in a range given by the command line. So the generated file can be included in any C/C++ souce code file. It’s intended for embedded projects where it’s not possible to open files like when there is an operative system. Sound2Header is free software licensed under the GNU/GPL version 3 or later license and the code is attached. It can be easily compiled executing (you need to have the libsndfile library installed):
$ gcc -lsndfile sound2header.c -o sound2header
Many thanks to Erik de Castro Lopo for creating and mantaining the libsndfile library. Keep developing free software!
-
Eldruin’s Blog » Archivo del Blog » Sound2Header
[...] Sound2Header Sound2Header Viernes, Enero 16th, 2009 | Autor: eldruin Sound2Header (sound to header) es un pequeño y simple programa en C que he hecho en un rato usando la librería libsndfile para convertir cualquier archivo de sonido soportado por libsndfile a un array de samples en un rango dado por la línea de comandos. De forma que se pueda incluir el fichero generado en cualquier archivo de código C/C++. Está hecho para proyectos embebidos donde no sea posible abrir archivos de la misma forma que cuando existe un sistema operativo. Sound2Header es software libre licenciado bajo la licencia GNU/GPL versión 3 o posterior. [...]




¡Buenas!
Soy un compañero de carrera (aunque aún estoy en la técnica) y a través del profesor de MM he llegado a tu blog. Nos recomendó Sound2Header para convertir sonidos a un formato que la placa LCP2378 pudiera manejar y me parece bastante bueno. ¡Muchas gracias!
El profesor también nos mostró algunos de los proyectos de años anteriores entre ellos OSEater XD, está bastante conseguido. Le pregunté al profesor por cómo se podían incluir imágenes para la placa y me dijo que convirtiéndolo a .h con The Gimp valía. He hecho algunas funciones para pintar imágenes importadas de esta forma pero simplemente pintaba recuadros oscuros. Cuando probé con el personaje Tux de tu juego funcionó perfectamente así que supongo que se deberá a algun problema a la hora de exportar la imagen a .h.
Perdona que te moleste con este tipo de preguntas pero me ayudarías mucho con una respuesta. ¿Utilizaste alguna codificación especial, algún modo de colores en conreto? Creo que todo se debe a la exportación de la imagen porque con Tux me va bien.
Muchísimas gracias (doblemente porque Sound2Header seguramente acabe usándose en nuestro mini-proyecto), un saludo y…
¡Felices fiestas!
Hola David,
Perdón por no contestarte antes. La solución es sencilla y lo pone en el mismo .h de las imágenes. Guardas la imagen como código C y luego pones los campos de la estructura que crea como const en un .h y ya está. Para interpretar esos datos puedes usar mi clase Image. La documentación te dice cómo funciona.
Voy a preguntarle a Victor por los archivos que no son míos a ver si puedo publicar el código del juego.
Saludos!