¿Por qué BennuGD no tiene load_pcm?

Started by panreyes, August 26, 2013, 12:42:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

panreyes


Sé que no hace falta absolutamente para nada, pero querría saber si hay algún motivo técnico detrás para que no esté soportado.


Sería interesante para dar un paso más a la compatibilidad con el viejuno DIV2.


No sé cómo funciona, pero he visto que los PCM se pueden cargar con Audacity importando como RAW.
Luego le he dado un vistazo a la documentación de SDL_mixer y he encontrado esto: http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_22.html


¿Sabéis si los PCM de DIV podían tener más de 11025hz?

DCelso

en este enlace
http://en.wikipedia.org/wiki/Raw_audio_format
veo que PCM es un formato raw, sin compresión en el que viene el contenido del audio sin cabeceras.

Por lo que debes de saber a priori en qué frecuencia se generó para poder poner la tarjeta a esa frecuencia y poder reproducirlo, y evidentemente, es solo un canal de audio, o sea una onda, es decir, mono.

Así que soportará cualquier tipo de frecuencia, solo debes de saber en cual se generó. Supongo que en la época de div, solo se usaba 11024 mono por lo que cualquier .pcm de un juego div se podría reproducir con la función que comentas load_raw de sdl_mixer configurando la tarjeta a 11024, mono.

Veo que fenix dejó de darle soporte en beneficio para otros formatos, al cambiar a SDL_mixer

http://forum.divsite.net/viewthread.php?tid=2224



Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Yo hecho de menos funciones de acceso al buffer de sonido, o para la creación de estos, así, esto no sería un problema, ya que cualquier formato tipo raw o sin compresión (pcm, wav...) podría leerse como fichero y modificarlo o usarlo como cualquier wav.
Es más, las posibilidades de generar sonidos serían enormes. No sé, un new_sound con 1000 bytes, que se pueda reproducir cíclicamente modificándolo en tiempo real se metería cualquier cosa, si tenemos las frecuencias de un instrumento y la función SIN se podrían generar todas las notas del mismo con la longitud que se quiera, o aplicar filtros a los sonidos como eco, reverb, reducción de ruido, pitch shifting...
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)