Exportar sonido de WYZ player a Beepola

Soporte técnico sobre los lanzamientos de MojonTwins y comentarios sobre los güegos. Ofrecemos soporte técnico con Fourspriter, te ayudamos con ZX Basic o Z88DK, te damos pistas some cómo saltarse un bicho y cosas así.

Moderador: na_th_an

antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Exportar sonido de WYZ player a Beepola

Mensajepor antoniovillena » Lun, 30 Jun 2014, 20:44

De nuevo otra duda para FASE. Lo que quiero es mejorar la versión 48K del engine, ya que el sonido es muy soso. Me gustaría hacer sonar la melodía mediante beeper la primera vez que aparezca el menú. Creo que Beepola usa 2 canales mientras que WYZ emplea 3. ¿Hay alguna forma automática de pasar una melodía del formato WYZ a Beepola (me da igual que se pierda algo de calidad)?

Lo de que aparezca la primera vez sé que es un rollo, pero no quiero que la melodía me ocupe RAM, así que me gustaría aprovechar el momento justo después de la carga en cinta en el que aún no se ha descomprimido el juego para sonar la melodía. Al volver al menú cuando se acaba el juego no había melodía. En 128K sonará siempre la melodía de menú (incluso después de que te maten), y lo hará la versión WYZ de la misma (no Beepola).
Avatar de Usuario
AugustoRuiz
Mensajes: 108
Registrado: Mié, 25 Ago 2010, 11:51

Re: Exportar sonido de WYZ player a Beepola

Mensajepor AugustoRuiz » Mié, 09 Jul 2014, 10:07

El formato del player de WYZ se basa en octavas, notas y duraciones, combinado con el instrumento a utilizar. A esto se le añaden modificadores, etc. con lo que el formato es complicado de convertir "on the fly".

Sin embargo, el formato de los ficheros que almacena el tracker es XML, gzipeado. Si coges un fichero .wyz y lo renombras a .xml.gz, verás que puedes cacharrear toda la definición de la canción.

Mi recomendación: Haz una herramienta para en tiempo de compilación generar la canción en formato beepola desde el .wyz. Eso además te permitirá tomar como punto de partida el .wyz, generar un versión inicial de beepola, y posteriormente si quieres, tocar a mano esa versión para dejarla niquelada (si quieres).

Eso sí, desconozco el formato que usa el beepola.
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Exportar sonido de WYZ player a Beepola

Mensajepor na_th_an » Mié, 09 Jul 2014, 10:18

Es que beepola es una bestia un tanto diferente... No es más que una interfaz común que funciona con varios engines distintos, algunos de ellos sacados de los que se empleaban en los ochenta, y otros nuevos creados en los últimos años (por ejemplo, los de Shiru, como Phaser Engine). Cada motor es de su padre y de su madre, con un player diferente y con unos datos distintos.

Para hacer esto viable, yo elegiría algún motor que pudiese hacer el apaño (algo que diese dos canales + batería, o tres canales de tonos) y haría lo que dice Augus. Beepola viene con información sobre cada motor que implementa, y supongo que Chris Cowley no tendrá inconveniente en darte algo de soporte.

El problema es que, como suele ocurrir, es posible que el resultado suene como la cacota.
Como diría Rorshach: "Urm..."
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Exportar sonido de WYZ player a Beepola

Mensajepor antoniovillena » Mié, 09 Jul 2014, 13:37

Gracias a los dos por vuestras respuestas. Le echaré un ojo al formato wyz, aunque no creo que consiga mucho.

Al final he optado por Tritone (un engine de Shiru) que usa 3 canales en lugar de 2 y suena más o menos bien, supongo que con 3 canales la conversión del tracker wyz será más fiel. Tritone no tiene tracker, lo que hay que hacer es usar fastracker 2 o alguno compatible (yo me he bajado milkytracker) y generar un archivo .xm. Luego se convierte de .xm a .asm con una herramienta que viene incluída en Tritone.

Por cierto encontré un bug en el player del wyz. Al escribir con outi se predecrementa (la mayoría piensa que se postdecrementa) por lo que se escribe en el puerto $befd en lugar del $bffd. A parte de algún posible conflicto con algún periférico no tiene otros efectos secundarios. Tengo una versión ligeramente mejorada de la rutina rout por si te interesa, a partir de la línea 495:

https://github.com/DSkywalk/fase/blob/m ... player.asm
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Exportar sonido de WYZ player a Beepola

Mensajepor na_th_an » Mié, 09 Jul 2014, 15:38

El problema principal que te vas a encontrar es que en una canción para WYZ player los eventos no corresponden a tonos puros, sino que disparan lo que WYZ llamó "pautas", que son una serie de modificaciones al tono básico (portamentos y variaciones de volumen) - vaya, una especie de "instrumentos". Cuanto más empleo se le de a las características de las "pautas" para modificar el tono, peor te saldrá la conversión.

Sinceramente, si te apetece hacerlo por hacerlo (es divertido), adelante... Pero si te soy sincero, no creo que tenga una utilidad "real". Siempre es mejor el trabajo extra y hacer dos versiones de la canción, sobre todo cuando estamos hablando de sistemas tan poco potentes y con capacidades tan específicas y particulares.

Me refiero a que es posible coger los gráficos de la versión de Amiga de un juego y hacer un conversor que los traslade automáticamente al formato y capacidades del Spectrum para ahorrarte el trabajo... Pero siempre será mucho mejor hacer esa conversión a mano.
Como diría Rorshach: "Urm..."
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Exportar sonido de WYZ player a Beepola

Mensajepor antoniovillena » Mié, 09 Jul 2014, 16:53

Tampoco tenía muchas ganas pero después de lo que me cuentas seguro que no lo voy a hacer. A ver mi intención no es portar de otras plataformas a spectrum, sino transformar una canción de AY a Beeper, para que en 48K suene algo parecido a lo que suena en 128K.

Volver a “Ayuda”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado