Registrarse

[Música] Insertar canciones (sustituyendo otras)

Jack Johnson

Hoenn Adventures Dev
Colaborador

Cómo insertar una canción sustituyendo por otra
Nivel: Medio-Avanzado

Introducción

Muy buenas, hace poco me preguntaron cómo se insertaban canciones MIDI a un ROM y buscando el tutorial necesario para escaquearme de explicarlo me di cuenta de que no había un tutorial actualizado y que en muchos casos se complicaban en exceso.

A parte de eso, este tutorial servirá para probar un nuevo formato de tutoriales, en los cuales veremos enlaces a la Wiki para que sirvan de complemento y así tengamos que evitar explicar demasiados conceptos, siendo que estas explicaciones pueden ser mejoradas por otras personas. Por esta razón para algunos conceptos se recurrirá a un enlace a la Wiki.


¿Qué necesitas?

  • Una canción en formato MIDI.
  • Sappy2006.
  • mid2gba (normalmente viene con Sappy).
  • Anvil Studio.

Primera parte: Anvil Studio



Paso 1: Comprobar los instrumentos

Abrimos la canción a insertar desde File > Open....

Lo primero que debemos hacer es ir al principio de la canción elegida (6) y reproducirla (5) para ver si todos los instrumentos que tiene esta canción pertenecen al mismo voicegroup. Si hay algún instrumento que no exista dentro del voicegroup elegido, es necesario sustituirlo por uno que sí esté.

Podemos observar los instrumentos que suenan en cada momento en la columna Instrument (1).

Paso 2: Crear un bucle

Por lo general, todas las canciones tienen una introducción que sirve para aparecer desde la nada y a partir de ahí, la canción se mantiene en un bucle infinito hasta que se cambie de canción. Esta introducción solo se reproduce una vez y luego se queda fuera del bucle.

Entonces, para crear un bucle navegaremos con la barra (4) y haremos clic en New cue (2) en la posición inicial del bucle (el punto donde volverá a empezar la canción al terminar el bucle).
En el cuadro de texto que aparecerá escribiremos esto:
Código:
[
De igual manera, nos situaremos en el final del bucle (el punto en el que la canción se empieza a repetir) y volveremos a darle a New cue (2) y en la ventana de texto escribiremos esto:
Código:
]
Paso 3: Prevenir el cambio de tempo

El método usado para insertar canciones a través del mid2gba puede producir errores en la velocidad de reproducción de la canción. Es por esto que realizaremos este paso antes de guardar la canción.

Nos acordaremos del número que aparece en el botón Tempo (3) y haremos clic en él. Se abrirá una ventana con distintas opciones: seleccionaremos la opción Change the entire song's tempo to be constant.

En el recuadro Enter tempo in beats per minute pondremos un valor distinto del que hay actualmente (recordando el valor que había en el botón) y haremos clic en OK.

A continuación, repetiremos el proceso pero colocando el valor que había antes. De esta forma garantizamos que se respete el tempo de la canción a la hora de insertarla.

Paso 4: Guardar la canción en formato MIDI 0

El formato MIDI 0 es con el que trabaja el siguiente programa que usaremos, el mid2gba. Para guardar nuestra canción en este formato, iremos a File y luego a Export MIDI-Format 0 file.... Lo guardamos donde tengamos el mid2gba (generalmente donde el Sappy) y habremos acabado con la primera parte.

Segunda parte: mid2gba

Abrimos la carpeta donde tengamos tanto el mid2gba y la canción en formato MIDI que acabamos de guardar. Arrastramos la canción encima del programa mid2gba y aparecerá un archivo .s con el mismo nombre que la canción.

NOTA: El programa dará error si el nombre de la canción tiene espacios, hay que escribirlo todo junto

Tercera parte: Sappy


Paso 1: Abrir la ROM

En primer lugar, abriremos la ROM en la que insertaremos la canción desde Archivo > Abrir.

Ahora navegaremos con los botones (1), (2) y (3) hacia la canción que queramos sustituir y haremos clic sobre el botón Montar canción (4). En cada momento podremos ver qué voicegroup utiliza la canción viendo el offset que aparece en (5).

Paso 2: Montar la canción



Haremos clic sobre Nombre de archivo *.S (9) y seleccionaremos el archivo anteriormente creado por mid2gba. A continuación rellenaremos Offset de destino (10) con un offset vacío (unos 1000 bytes libres) y Offset del grupo de (11) con el voicegroup correspondiente.

Finalmente, al hacer clic sobre el botón (12), debería estar ya listo.

Paso 3: Reproducir la canción

Ahora con el botón de reproducir (6) puedes escuchar cómo ha quedado la canción.


Conclusión

Si hay alguna cosa que no queda del todo clara, no dudéis en preguntar por aquí, trataré de completar el tutorial con vuestras inquietudes.

Saludos ;)

 
Última edición:

MentalidadDeCorphish

Mmm Crustáceos
Que buen tutorial si hacia falta algo sobre las midis, me gusto la explicacion de los voicegroups era mas simple de lo que me imaginaba gracias por el tutorial.
 

Eddy64

Usuario de oro
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Lo primero buen tutorial, yo por lo menos lo he entendido muy bien y me ha resuelto algunas dudas previas que tenia..
Se que va en contra de la idea del tuto, pero habria alguna manera de insertar nuevas midis sin sustituir las ya existentes que conozcas o que tengas mas o menos idea?
 

Jack Johnson

Hoenn Adventures Dev
Colaborador
Respuesta: GBA | Insertar canciones (sustituyendo otras)

@Eddy64 Existe una forma, pero no la tengo muy clara y por eso no la explico. Consiste en ampliar la tabla de canciones y entonces habría espacio para más, aunque ese espacio lo dejas de tener disponible para otras cosas.
 

Eddy64

Usuario de oro
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Seria repunteando la tabla? Lo del espacio en princio no seria problema ya que se puede extender el tamaño de la rom pero no tengo muy claro si es a lo que te refieres :S si puedes pasarme algun enlace o algo relacionado con el tema me seria de gran utilidad
 

KERBEROS

Usuario de Platino
Respuesta: GBA | Insertar canciones (sustituyendo otras)

soy solo yo?
Creo que la letra esta demasiado
Oscura. Y no leo nada.
 

darkeon75

ROM Hacker
Respuesta: GBA | Insertar canciones (sustituyendo otras)

soy solo yo?
Creo que la letra esta demasiado
Oscura. Y no leo nada.
A mí también me ha pasado cuando lo estaba viendo desde android, que parece que desde el navegador de móviles no carga bien el fondo que se ha usado en el post, pero si lo ves desde el pc podrás leerlo bien:
 
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Excelente tutorial, me ha resuelto algunas dudas previas que tenia y creo que la insercion de musica es un tema que gracias a este aporte me ha quedado muy resuelto
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Buen tutorial, bastante completo a mi parecer, pero hay un par de cosas que me gustaría agregar al tutorial.

1. Yo no recomiendo eliminar los eventos de una midi, como los cambios tempo, volumen, instrumentos (A menos que sean instrumentos que no aparecen en el voicegroup), etc ya que estos le redtan fidelidad a la melodía. En su defecto recomiendo más arreglar esos eventos valiendonos de midfix4agb en vez de eliminarlos.

2. Tambien es pertinente que para quien no quiera andar buscando el voicegroup correcto para sus midis recomiendo usar este recurso para tener todos los instrumentos propios del juego en un solo voicegroup.

El resto es muy bueno, +100 por el tuto.
 

Pikaplu

Usuario amable y agradecido
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Muy buen tutorial y gracias a demas.solo qué ví que en el tutorial no pone que debemos tener el archivo MPlayDef.s en la misma carpeta que en la de el archivo .s de nuestra musica ya qué al no hacer eso tuve error.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Salazzle ♂;448767 dijo:
¿Cual es el voicegroup en Anvil?
Voicegroup es estrictamente en la ROM. En anvil lo que cambias son los instrumentos de cada track para que coincidan con el voicegroup que quieras usar.
 

Salazzle

El Maestro
Respuesta: GBA | Insertar canciones (sustituyendo otras)

Voicegroup es estrictamente en la ROM. En anvil lo que cambias son los instrumentos de cada track para que coincidan con el voicegroup que quieras usar.
Eso mismo tenia entendido, pero no se si leí mal o simplemente no termine de entender el tema, en una parte dice que debemos ver si todos nuestros instrumentos están en el mismo voicegruop y si no debemos cambiarlos por unos que si, aunque aun tengo la duda de como saber eso, que instrumentos entran en el mismo voicegroup
 

ANT0N9

Algun Sprite?
Buen tutorial, me alegra no ser el único interesado en midis por aquí, aprovechando el tema, me gustaría que me respondieran a una duda, yo tengo una midi que me gustaría insertar, pero tiene instrumentales que no están en el Voicegroup, yo cambio esos instrumentales a unos que estén en mi voicegroup y en Anvil se escucha de p*** madre, cuando lo inserto en sappy se escucha como el asco, esto porque es? Si cambio el Offeset y todo lo que haces en el tutorial...
Hace tiempo que tengo ese problema, me gustaría saber que hago mal.
 

Eaas

Profesional de WaH
Uiiiii de p... M... Bastante bien explicado y muy interesante a muchos les dará bastante gusto usar esto
 
Arriba