Registrarse

[RH - Música] Modificar el Tempo de una midi

Estado
Cerrado para nuevas respuestas.

Nachoius

Caminante del cielo
necesito saber si es posible ralentizar la velocidad con que se reproduce una midi de forma temporal, para un evento del hack.
 

Jason

PkPower déjame poner tildes en mi nick ¬¬
Idk. Pero no estoy seguro de que se pueda de forma sencilla. Lo que sí, solo dejo como idea, ten una versión normal y una ralentizada, y cambias de una canción a otra y ya. Podría ser hasta más fácil hacer que continúe donde debe a cambiar el tempo de forma dinámica.
Pero repito, idk.
 

Nachoius

Caminante del cielo
Re: Respuesta: Modificar el Tempo de una midi

Idk. Pero no estoy seguro de que se pueda de forma sencilla. Lo que sí, solo dejo como idea, ten una versión normal y una ralentizada, y cambias de una canción a otra y ya. Podría ser hasta más fácil hacer que continúe donde debe a cambiar el tempo de forma dinámica.
Pero repito, idk.
Idk? Que significa eso, lo que dices no es opcion pq se cortaría la midi y empezaria la otra de 0
 

Jack Johnson

Hoenn Adventures Dev
Colaborador
Lo que hace el juego de normal es tener varias midis con distinto tempo en la tabla. Véase FR con Game Corner.
 

Jack Johnson

Hoenn Adventures Dev
Colaborador
Reiniciaría, pero no suele quedar mal cuando GF lo hace. A una mala puedes hacer un fadesong (creo que era así el comando) para que sea un fundido, igual así se nota menos.
 

Jason

PkPower déjame poner tildes en mi nick ¬¬
Respuesta: Re: Respuesta: Modificar el Tempo de una midi

Иacho;446489 dijo:
Pero reiniciaría una midi desde 0 y se notaría el cambio de uba a otra?
idk = i don't know

Me refiero a que muevas el puntero o algo así, pero desconozco los detalles. Me imagino que el tempo igual se guarda en alguna dirección de memoria, en ese caso podrías probar a cambiar eso. Haz pruebas de poner diferentes canciones en el mismo mapa y todo igual, para ver qué direcciones se corresponden a la música.
Puedes mirar algo de decomp por si te sirve, en todo caso.
 

eing

Miembro de honor
Miembro de honor
Mirate en GBAtek, posiblemente encuentres algo en referencia a los canales de audio, y puedas modificar el como se oye esa midi.
 

eing

Miembro de honor
Miembro de honor
Respuesta: Re: Respuesta: Modificar el Tempo de una midi

Иacho;446614 dijo:
que es GBAtek? saludos eing!
En serio nacho?
No me jodas macho.

https://www.akkit.org/info/gbatek.htm#gbasoundcontroller

^This is Gbatek, toda la información técnica a nivel de hardware de GBA y Nds.
En ese enlace que te he pasado habla sobre el controlador de sonido de Gba.
Echale un vistazo y a ver..
 

Samu

Miembro insignia
Miembro insignia
Respuesta: Re: Respuesta: Modificar el Tempo de una midi

Иacho;446614 dijo:
que es GBAtek? saludos eing!
Es una página web con la documentación técnica de GBA y NDS, lo que él te está sugiriendo es que mires la documentación de los registros I/O, concretamente de los que se encuentran relacionados con el sonido (0x4000060 -- 0x40000A8).

Es posible que manipulando alguno de estos registros puedas hacer lo que quieres o algo similar.

https://www.akkit.org/info/gbatek.htm#gbaiomap
 

Nachoius

Caminante del cielo
Re: Respuesta: Re: Respuesta: Modificar el Tempo de una midi

En serio nacho?
No me jodas macho.

https://www.akkit.org/info/gbatek.htm#gbasoundcontroller

^This is Gbatek, toda la información técnica a nivel de hardware de GBA y Nds.
En ese enlace que te he pasado habla sobre el controlador de sonido de Gba.
Echale un vistazo y a ver..
lo he visto y no he entendido nada 1 pq min inglés es pesimo y 2 pq mi conocimiento informatico es nulo.



Por cierto se me hace que cada vez que uno inserta una midi en archivo .s, ese archivo ya viene con un byte que define el tempo de la midi, por lo que sappy al insertar esa canción a la ROM debe definir a que velocidad se ejecuta, lo que me hace pensar que si cambio ese byte con WBTO la rom debería leer a otra velocidad la musica.
 
Última edición:

eing

Miembro de honor
Miembro de honor
Respuesta: Re: Respuesta: Re: Respuesta: Modificar el Tempo de una midi

Иacho;446620 dijo:
lo he visto y no he entendido nada 1 pq min inglés es pesimo y 2 pq mi conocimiento informatico es nulo.



Por cierto se me hace que cada vez que uno inserta una midi en archivo .s, ese archivo ya viene con un byte que define el tempo de la midi, por lo que sappy al insertar esa canción a la ROM debe definir a que velocidad se ejecuta, lo que me hace pensar que si cambio ese byte con WBTO la rom debería leer a otra velocidad la musica.
Si se pudiese hacer (no lo sé, ya que nunca se me ha ocurrido..) debería de ser primero con el IO, con lo que samu y yo te hemos pasado.
Y si no, sería tirando de ASM de la rutina que se encarga de reproducir la música.
Actualmente no hay nadie que le haya apetecido hacerlo, así que te tocará dejarte los huevos investigando o trasteando.

O esperar a que a @Samu, IK, kaiser emperana, o yo se nos ilumine hacerlo.
Mientras tanto, no podemos hacer nada más por ti.
 

Samu

Miembro insignia
Miembro insignia
Respuesta: Re: Respuesta: Re: Respuesta: Modificar el Tempo de una midi

Иacho;446620 dijo:
lo he visto y no he entendido nada 1 pq min inglés es pesimo y 2 pq mi conocimiento informatico es nulo.



Por cierto se me hace que cada vez que uno inserta una midi en archivo .s, ese archivo ya viene con un byte que define el tempo de la midi, por lo que sappy al insertar esa canción a la ROM debe definir a que velocidad se ejecuta, lo que me hace pensar que si cambio ese byte con WBTO la rom debería leer a otra velocidad la musica.
Todo depende, si ese byte que controla el tempo es cargado en RAM podrás editarlo mediante WBTO. Por el contrario, si el byte es simplemente leído desde el ROM, no puedes hacer wbto, básicamente porq no puedes editar el ROM durante la ejecución xD.
 

Nachoius

Caminante del cielo
@Samu @eing lo he logrado, en realidad no fui yo, a3rdna encontró la direccion es

3007320, con un wbto basta para modificar la velocidad de manera instantanea, el unico pero entre comillas es que luego del loop vuelve a la velocidad original, pero con eso me debería bastar pq la usaré un par de segundos nada mas.
 
Estado
Cerrado para nuevas respuestas.
Arriba