Sample test de reproducción de OGG en Dreamcast

Started by Ryo Suzuki, August 19, 2017, 04:50:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ryo Suzuki

Bueno, parece que ya funciona bien la reproducción de archivos de música ogg en el update del port de BennuGD de Indiket.

Si no recuerdo mal con el de Col Dev en el momento que inicalizabamos el ogg mediante el mod_dream.dll ya no se oían los FX de los wavs. O sea, teníamos musica ogg pero nos quedabamos sin los efectos de sonido (creo que era por el SDL mixer).

Ahora hemos conseguido que funcione porque aunque en las últimas versiones veníamos usando mikmod y ahora hemos metido el Fake_mixer que parece haber sido la clave:

https://github.com/arcadenea/fake_mixer/

El caso es que ahora parece funciona bastante bien. En Dreamcast no necesitamos precargar el asset, parece ser que lo coge y mete un thread y lo va tratando en streaming. Lo uso así:

if (os_id == 5); // si es Dreamcast
         ogg_init();
set_ogg_volume(255);
ogg_play("/cd/musica.ogg",1); // 0 es normal y 1 es loop
else // de lo contrario reproduzco normal para PC
         play_song(song,0);
end


Eso sí, las canciones ogg que les metamos no podemos ponerle mucha calidad ya que la pobre Dreamcast tiene que estar haciendo la descompresión y tratamiento del ogg "on the fly" y si no queremos que petardee o haya algúna cosa rara en la reproducción lo mejor es meterle una calidad no muy alta, como he hecho yo. De todas formas ta vereis que suenan de una manera decente, nos hace el servicio.

Y eso es todo. Creo que un gran avance poder usar ogg además de CDDA para tener la mezcla de música de fondo y efectos de sonido para poder hacer cualquier cosa que queramos.

Aquí os dejo un ejemplo con el código fuente y directamente el .CDI para correrlo en Dreamcast o en el emulador:

http://segasaturno.com/Minerva-238/archivos/OGG_BennuGD_test.7z

Ah! Los fx los he cogido de viejos juegos de Sonic, la música y la ilustración es de mi amigo Franikku:

https://soundcloud.com/fran-sebasti-n/breeze-hill



Un saludo!


P.D: El binario 1ST_READ.BIN del BennuGD de Indiket está actualizado a 18-08-2017. Es la última versión de hace solo unos días.

Drumpi

Genial, pero ¿qué entiendes tu por "una calidad no muy alta"? Más que nada porque una Wiz puede con un OGG a 168Kbps 44.1Khz y en estéreo, y yo lo considero una calidad buena (o al menos, es la mínima que suelo usar :P).
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)

Ryo Suzuki

Mucho más baja, compañero.

Piensa que la Dreamcast es del 98, mucho menos potente que la Wiz, creo.

Bájatelo y lo pruebas en el emulador. Creo que decente y lo importante es que pueda mover otras cosas y encargarse de la música sin petardeos a la vez.

Tambien siempre podemos recurrir a CDDA, a las malas...

KeiDash

Como se puede detener la música OGG en la Dreamcast amigo Ryo?? Cuál es el método?

Drumpi

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)

Ryo Suzuki

Mmmm... no me acuerdo. Ahora te lo miro.

Puedes hacer el comando moddesc con el mod_dream y te salen listados todos los comandos que tenemos actualmente para la versión de Dreamcast.

Por lo que recuerdo no se podía parar, no sé si detenía la canción simplemente haciendo ogg close.

Lo confirmo y edito esto y te digo.

Gabysantof

Chicos, acabo de confirmar un problema con la reproducción de los Ogg.
Con la ultima actualización que libera correctamente la ram me di cuenta de que ahora no reproduce los ogg.
Para verificar esto hice exactamente el mismo programa con la versión que si los reproduce y la nueva que libera la ram... el resultado es que en la vieja lo reproduce y en la nueva no...
Dejo un link con ambas versiones del sample donde en la vieja reproduce ok y en la nueva no...
https://easyupload.io/syom6q



panreyes

En Discord hemos estado comentando que hay algún problema con la carga y descarga de OGGs en mod_sound, pero no sé si afecta a vuestra versión.

Dadle un vistazo por aquí :)
https://bitbucket.org/SplinterGU/bennugd2/commits/

Gabysantof

Hola panreyes, gracias!
Perdón la ignorancia... no se bien que debería hacer, acá veo un supuesot fix, pero no se bien como sería el paso a paso para implementar esto en windows....
¿Hay algun instructivo o algo?
https://bitbucket.org/SplinterGU/bennugd2/commits/7932608a9394fe698c7fde218d78aa3ae0ea573d
Gracias!

SplinterGU

eso es bennugd2, tenes que ir al svn de bennugd1
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes


Ryo Suzuki

#11
Quote from: Gabysantof on November 28, 2021, 10:18:31 PM
Chicos, acabo de confirmar un problema con la reproducción de los Ogg.
Con la ultima actualización que libera correctamente la ram me di cuenta de que ahora no reproduce los ogg.
Para verificar esto hice exactamente el mismo programa con la versión que si los reproduce y la nueva que libera la ram... el resultado es que en la vieja lo reproduce y en la nueva no...
Dejo un link con ambas versiones del sample donde en la vieja reproduce ok y en la nueva no...
https://easyupload.io/syom6q

Disculpa que no lo había visto.

Es cierto, como el ogg no lo reproducía del todo bien Indiket y yo lo cambiamos.

Esto me parece que no lo comenté por aquí pero nuestro intento fue usar música .opus que en principio es un códec mejor y que funciona bien con otros proyectos que habíamos probado en Dreamcast.

El caso es que tampoco funcionó, sucedía lo mismo que con OGG :(

Así que el problema parece venir de otro lado. No sabemos si es el mixer del port de Dreamcast, o incluso del SDL de Chui que es el que usa "nuestra" versión.

El caso es que hablé con Ian Micheal que él tiene otra versión de BennuGD que no ha hecho pública porque le faltan los controles y alguna cosa más por implementar y sí que le funciona bien la reproducción OGG.

Quizá es porque él usaba otra versión propia del SDL de Dreamcast que partía del de Chui pero en principio lo mejoraba y actualizaba:

https://github.com/ianmicheal/SDL-dreamhal--GLDC

Al grano, que no quiero liarme. La última versión de BennuGD de Indiket tiene el ogg deshabilitado (o quizá reproduce .opus no recuerdo bien)

Hasta que pueda arreglarse de momento se puede programar bien con WAVS para los sonidos y CDDA para la música de fondo.

Puse por aquí un tutorial para añadir pistas de audio (cdda) en el BennuGD de Dreamcast. No es demasiado complicado con el Bootdreams.

P.D. Ahí tenéis mi Dreamcastnoid, tanto el de la DCJAM como el Enhanced Retail edition que funcionan bien así. Encuentro no casual - Prólogo también usa pistas de audio para la música y wavs para SFX.

Gabysantof

Hola Ryo y a todos!
Antes que nada muchísimas gracias por la ayuda.
Tengo 2 temitas para consultar

1) Estuve siguiendo el tutorial para hacer que la música sea por pistas de audio, hice un pequeño programa de ejemplo.
Algo debo estar haciendo mal. El archivo se genera sin problemas con el bootdreams.
Si monto la imagen generada con una unidad virtual puedo reproducir las canciones! pero no me las está reproduciendo en el "juego" mismo.
Acá dejo el ejemplo donde incluso las canciones que puse son de mi "ex-banda de Rock" que iba a usar de musica para los niveles de mi juego jaja.

2) Por algún motivo, al probar el juego los efectos de audio (wavs) se escuchan por 1 solo canal. Les pasó alguna vez? Yo no había notado esto hasta que probé el juego en el emulador con auriculares. Los Wavs que hice son todos "mono". Estuve comparando con otros proyectos y los wavs tienen el mismo formato pero se escuchan ok por ambos canales del auricular.
Se les ocurre que puede estar pasando?

Dejo el código, mas que nada para el punto 1.
https://easyupload.io/tp45t9


SplinterGU

en el repositorio oficial de bennugd, hay un fix en cuanto a la reproduccion de sonidos... especifacamente en cuanto a musicas... ogg esta afectado...

NOTA: no usar el fix que se hizo para PS VITA, ese fix es parcial y asi como esta, es incorrecto...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Gabysantof

Hola Splinter.
Gracias! De todos modos no estoy hablando del problema de los .ogg...  seguí el hilo acá generalizando un problema de sonido.
En teoría Ryo no tiene problemas con respecto a la musica en formato "cd de audio". Por eso planteaba esto a ver si estoy haciendo algo mal yo en realidad.
Gracias!