GBA | Otros | Insertar MIDIs originales de juegos GBA

Like Tree35Gracias
Respuesta
 
Herramientas Desplegado
  #1  
18/08/2013
Predeterminado GBA | Otros | Insertar MIDIs originales de juegos GBA
Bueno, hoy os traigo un tuto inovador, creo que aun no he visto ningún tuto como el que os traigo hoy por internet.

En este tutorial os enseñaré la manera de insertar midis (música) en vuestros hacks.

*ATENCIÓN* Método solo probado en FR y Emerald, creo que sirve también para ruby, pero no lo he probado.

Pero antes de empezar, pasemos a la información:

1º- En este manual no se enseñará a componer midis, aquí solo se mostrará como insertar músicas de otros juegos. *IMPORTANTE* SOLO midis de juegos de GBA. Si buscan como insertar midis de juegos de DS, o que estén en MP3, este no es su tutorial.

2º- El nivel del tutorial es Medio-Alto, ademas será un poco largo, pero lo haré bien explicado y con imágenes.

3º- Aquí no se enseña a hacer que una midi insertada se repita constantemente (loopee). Para ello visiten mi otro manual de loopear midis: [url=http://wahackforo.com/t-14483/loopear-midis-jota[/url]

4º- Cualquier persona que siga este tuto y lo aplique en su hack, deberá darme créditos a mi, o a JorgeZero, que fue el que me enseñó como hacerlo.

Bien, teniendo claro todo lo anterior, pasaré a redactar lo que usaremos en este tutorial.

Necesitamos:
  1. Sappy 2006 mod 15 (descarga aquí: Sappy 2006 mod 15 )
  2. Gba2mid (link: Gba2mid )
  3. Editor Hex (recomiendo HxD, descargable desde softonic: Descargar HxD gratis )
  4. Rom del juego de Gba a extraer la midi (en este caso, usaré el Golden Sun 2)
  5. FSF 2.0.1.0
  6. Copia de vuestro hack.
  7. Mid2Gba


Bien, una vez tengáis todo esto, ya podemos empezar el tutorial.


1. EXTRAYENDO LA MIDI A INSERTAR CON GBA2MID:


Bueno, lo 1º es buscar la midi que queréis insertar en vuestro hack, obbiamente debéis descargar el rom del juego al que quereis extraer la midi. Como dije antes, en este manual usaré el Golden Sun 2, y la midi a insertar será la siguiente:



Bien, ahora abrimos nuestro Gba2mid. Es sencillo de usar, pero os dejo una imagen explicativa:



Cargar vuestro rom, después asignarle un nombre y un destino a la midi que extraeréis y por ultimo buscad la midi que queréis extraer pulsando en los botones de arriba y abajo, como muestra la imagen. Dándole a "convert" sonara la midi y se extraerá automáticamente.
Veréis que al convertirla, se creará un archivo .midi con el nombre que le halláis puesto y una carpeta con ese mismo nombre en la dirección asignada. En esa carpeta van los samples o "instrumentos" (En este tuto los llamare samples ya que es mas rápido de escribir)

Bien, una vez encontrada vuestra midi, volved a pulsar el botón de "guardar como" en Gba2mid y guardáis con un nombre distinto. Luego de eso pulsáis en "convert" de nuevo y extraéis la midi que queréis directamente.

¿Por qué otra vez? Por que si le das varias veces a convert al buscar la midi, en la carpeta de los samples se guardarán todos los samples de todas las midis que hayas reproducido. Por eso se hace de nuevo, para extraer solo los samples de la midi a insertar, no se si me expliqué bien.

Una vez extraída la midi y sus respectivos samples, podemos pasar al siguiente paso.


2. CREANDO UN VOICEGRUOP PARA NUESTRA MIDI:


Lo 1º que debéis saber es que un voicegroup es donde van los instrumentos de la midi, es decir, si no tenemos un voicegroup con los samples configurados, la midi no sonara nada bien. Acortaré VoiceGroup a VG.

Abrid vuestro sappy2006 mod 15 y cargáis vuestro hack. Buscad una midi cualquiera, por ejemplo, la de una ciudad o pueblo. Luego id a donde pone "voices" y apuntáis la dirección en un block de notas.



Cerramos el Sappy y abrimos nuestro HxD. Cargamos nuestro hack y buscaremos la dirección que acabamos de apuntar (Buscar > Ir a...). Una vez buscada, copiáis 600 bytes desde esa dirección. ¿Por qué 600 bytes? Simple. Por que un VG ocupa 600 bytes, nada mas ni nada menos.

VG



Después de copiar los 600 bytes, toca buscar espacio libre en vuestra rom en HxD. (Para los que no lo sepan, debéis buscar un lugar en la rom lleno de FF) Cuando encontréis espacio suficiente lleno de FF, seleccionáis 600 bytes y le dais a "pegar".

Así habréis creado una VG nueva, que mas tarde editaremos en sappy.
Por último solo os queda apuntar la dirección donde creasteis la nueva VG en un block de notas y pulsamos "guardar" en HxD.

3. INSERTANDO LA MIDI EN SAPPY


Ahora toca abrir FSF y cargar nuestra rom. Buscad un espacio vacío y apuntad la dirección en un block de notas (a ser posible, en el mismo donde apuntasteis el offset del VG).

Lo siguiente será abrir de nuevo el sappy. Cargáis vuestro hack y buscáis la canción que queréis reemplazar.
Una vez que la hayáis encontrado, pulsáis en "Assemble song" en el apartado izquierdo y seguís los siguientes pasos:



PD: Para convertir vuestra midi en un archivo .s y para looperla, visitad el tutorial de looping que dejé al principio de este tuto. *IMPORTANTE* ¡Recomendado loopear la midi antes de insertarla!

Donde pone "Target. GBA file" y "MST offset" ni lo toqueis, no hace falta para nada. Una vez echo todo lo dicho en la imagen, solo queda darle a "Cook it". Al poco rato debería aparecer una ventana en la que te pregunte: "Done. Do you want to set the proper entry in the Song Table?" le dais a "YES"

Pues ya tenéis vuestra midi insertada, ¿no ha sido tan difícil verdad?
Si, lo seria, de no ser por que aún estamos en la mitad del tutorial xD

Queda configurar los samples en la VG, para que se escuche bien la midi.
Si le dais a reproducir ahora, parecerá que los instrumentos son "beeps" y la midi se escuchará fatal.


4. INSERTANDO LOS SAMPLES EN SAPPY:


¿Se alarga verdad? Tranquilos, ahora viene la parte difícil (?)


Bien, una vez insertada la midi, haremos click en "Import Sample" en Sappy. Se abrirá una ventana, la cual paso a explicar:



Bien, como veis, tendréis que buscar un offset vacío por cada sample que haya que insertar (recuerdo que estos están en la carpeta que se creo en gba2mid, para los despistados)

Okey, pero antes de seguir hay una cosa a tener en cuenta:
Veréis que los samples que se extrayeron llevan números, pero puede ser el caso de que aparte de esos samples, también se extraigan unos archivos .wav y .text (con cada .wav que haya, habrá un .text correspondiente)

Esos archivos .wav suelen llevar un: 128@"nº".wav y los .text lo mismo.
Esos .wav son la percusión, que pasaré a explicar más tarde.
Os dejo una imagen para que veáis a que me refiero:



Los "samples normales" son los que tenéis que insertar en este paso.
Bien, ahora en la ventana de "import sample" cargáis un sample "normal", le asignáis un offset vacío buscándolo en FSF, marcáis la opción "Enable loop" y en ese recuadro debéis poner un nº. ¿Qué número? Pues si veis bien, a lado de dicho recuadro aparecerá un nº, a veces mas grande, otras mas pequeño, por ejemplo 12045. Bien, pues en el recuadro poneis aproximadamente la mitad de dicho número, en este caso 6000 (podéis redondear)

*NOTA* A la hora de buscar offset vacíos para los samples en FSF, buscadlos con al menos 5000 bytes de diferencia, ya que a veces ocupan mucho espacio.

Le dais a "import" y sample insertado, repetid este paso hasta insertar todos los samples de la carpeta. (¡LOS NORMALES!)


5. CONFIGURANDO LOS SAMPLES EN EL VG:


Como habrás comprobado, la midi sigue sonando mal, ¿cierto? Eso es debido a que solo insertamos los samples, pero aún no estan configurados en la VG de nuestra midi, por eso aún no suenan LOL

Vamos a configurarlos pues:
En sappy, clikamos en "Edit voice table". ¿Te acuerdas de los números que tenían los samples que acabas de insertar? Pues en la VG, en "instruments number" buscamos el nº anterior al que tienen asignados los samples. Es decir, si el sample tiene el nº 75, buscaremos el 74. Mas claro agua.

Bueeh, ahora a rellenar campos:



Creo que en la scan se muestra perfectamente lo que hay que hacer, no creo que haya mucho que explicar.
*NOTA* A la hora de poner el offset del sample, si usais copy/paste con la dirección, no uses el acceso directo al pegar (Ctrl+P) si no, click derecho en el recuadro > Pegar. (Método primitivo)
Si usáis Ctrl+P para pegar, aparecen cosas raras a veces, por lo que tendréis que cerrar el voice table y volver a abrirlo.

Una vez echo todo esto, click en "update" y luego en "OK". Sample configurado.

Okey Okey! Ya solo os queda repetir este último paso con todos los samples y ya estarán configurados en la VG. Después de esto, solo os queda comprobar que la midi se escuche bien.

¡Enorabuena! Ya tienes tu 1º midi insertada, ¡y original!
Pero aún no daré por finalizado el tuto, aún quedan un par de cosas por explicar.

6. PERCUSIÓN:


En caso de que vuestra midi tenga percusión, debemos hacer un paso extra, el cual explicaré a continuación:

Lo 1º para insertar la percusión será crear otro VG más, tan solo debéis repetir el paso 2.

Bien, una vez creado el nuevo VG, insertamos los samples de la percusión (los .wav) de la misma forma que insertamos los otros samples, EXACTAMENTE de la misma forma.

Una vez insertados todos los .wav de la percusion, nos vamos a la voice table de nuevo. ¿Recuerdan que había que buscar los samples con el nº anterior al que tenían? Pues ahora nos vamos al 127 (128 de los samples, -1) que es la ultima opción de la persiana "instrument number".



Como veis en la scan, ponemos el offset del VG que acabamos de crear dentro de la opción "Drum Part".

Ahora le damos a "edit" y se nos abrira una ventana exactamente igual a la del voicetable. Ahora solo nos queda configurar la percusión de la misma manera que configuramos antes los samples normales, salvo que ahora, en vez de ser un nº menos, sera el mismo nº.

Ejemplo: El sample de percusión 128@64.wav ; Pues en "instrument number" buscamos el 64. El resto se hace igual que los otros.

Despues de darle a "update" y a "OK" se cerrará el VG que se acababa de abrir, pues le volvemos a dar a "edit" en el Drum Part" y configuramos el siguiente sample de percusión (si lo hay).

Eso es todo en cuanto a la percusión.


7. ÚLTIMAS INFORMACIONES Y PREGUNTAS:


Ya hemos llegado al final del tuto, solo faltan los últimos retoques.

-7.1: Ya inserté la midi y se escucha bien, pero algunos instrumentos desafinan a veces, o no se escuchan bien. ¿Por qué me pasa esto?

Bien, puede ser por varias razones:
  1. El loop del sample esta mal, a la hora de poner el nº en el "enable loop" deberias haber puesto uno mas pequeño, o mas grande. ¿Como se soluciona?
    Fácil, tan solo repite el paso de insertar el sample del instrumento que se escuche mal, y asignale otro nº en "enable loop".
    No hay un nº concreto, ve provando números hasta que se escuche bien el instrumento.
  2. El offset donde insertaste el sample no tiene mucho espacio libre. Tan solo tienes que cambiar de offset, eso si, si lo haces deberás configurar ese sample en la voicetable otra vez, poniendo el nuevo offset.


-7.2: Al insertar el .s de la midi y darle a "Assemble song" me da error. (Assembly halted)
Este error es el más problemático para algunos. Necesitas tener un archivo llamado Mplaydef.s en la carpeta del mid2agb (normalmente ya viene incluido).
Aún con esto muchas veces dará error, por desgracia todavía no e encontrado la solución.


-7.3: Hay samples que al insertarlos, en el "enable loop" pone "0" en vez de un nº. ¿Por qué?
Pues por que ese sample no vale, hay algunos que no se escuchan, por lo tanto deberás insertarle otro instrumento distinto, y que quede bien en la midi. Puede ser un instrumento cualquiera, el que tu quieras.


-7.4: ¿Puedo poner otros instrumentos distintos a los que se usan en la midi que extraje de gba2mid?
Claro que se puede, si extraes instrumentos de otro juego de GBA con el Gba2mid, los puedes insertar de la misma manera en tu midi. Que luego queden bien o no ya es cosa de ir probando.


-7.5: ¿Tengo que hacer todo eso cada vez que quiera insertar 1 midi nueva en mi hack? Entonces gastaré muchísimo espacio en midis D:
No necesariamente. Explico:
Si quieres insertar midis de varios juegos de GBA si, ya que a cada juego usa distintos instrumentos, por lo tanto, cada nueva midi tendrá un VG distinto.
Pero si todas las midis a insertar son del mismo juego, tan solo deberás asignarle la misma VG a todas las midis que insertes, ya que todas usan los mismos instrumentos. Una vez que hayas configurado todos los instrumentos del juego (por ejemplo, el Golden Sun) en una misma VG, tan solo tendras que insertar la midi asignándole el offset de ese VG.

Aún así, configurar todos los samples y percusión de un juego tambien gasta bastante espacio, por lo que si insertas muchas midis, llegará un momento que te veas obligado a expandir tu rom a 32 mb. (A mi me ha pasado esto, la tengo que expandir pronto xD)


-7.6: Algunos instrumentos suenan a trompicones, como si estuviesen saturados. ¿Por qué?
Simple, por que las rom de pokémon son una gran M (con perdon) ya que no pueden reproducir demasiados instrumentos a la vez. ¿Como se soluciona esto?

Hay que expandir el máximo de instrumentos permitidos a la vez en HEX, pero eso no se explicará aquí. Creo recordar que hay un tuto por este foro para hacer eso. Creo que se llamaba "Añadir mas directracks" o algo así.


¡SI! ¡Por fin terminé!
Aquí os dejo un video de mi hack, en el que inserté la midi antes mostrada, pero con los instrumentos sin expandir:



Y aquí con esa misma midi mas otras mas, pero con los instrumentos expandidos:




Eso ha sido todo amigos, espero que el tuto haya sido entendible y práctico. Me ha llevado una mañana entera hacerlo, espero vuestros comentarios de que os a parecido y qué podría mejorar. Opiniones.

Si tenéis cualquier duda no la preguntéis por aquí, ya que no siempre me daré cuenta. Contactad conmigo por perfil o MP y os ayudo.

Saludos madafackas!!
  #2  
18/08/2013
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Muy buen tuto y bien explicado.
Pero lo cierto es que me molaria mas que vengas tu a insertamelas ^^
Saludos J.

Me voy de gira con la gamba mariachi.
¡Hasta siempre WAHeros!
  #3  
19/08/2013
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Esta genial y muy bien explicado se te agradece el esfuerzo ^^
Por fin ya aprendí a insertar midis gracias
Gracias: Jo7a
MEWTWO el pokemon mas poderoso creado para luchar

  #4  
20/08/2013
Predeterminado Re: Insertar Midis originales de juegos GBA
El mismo que el del NDH. Bueno, voy a probar si me sale. Gran post.
Gracias: Jo7a




[ficha=]img=http://wahackforo.com/img/28448/100/5093.png|hacker=Pollito3d|base=BPRE|region=[-]|idioma=Español|estado=2|proxbeta=1|proxbetaporcen taje=0|espacio=|youtube=|pokeco=[/ficha]
  #5  
20/08/2013
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
¿Se pueden insertar midis de internet que no se haya extraído de GBA ?
  #6  
20/08/2013
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Dicho por Pacodelopio Ver mensaje
¿Se pueden insertar midis de internet que no se haya extraído de GBA ?
Claro, mientras estén en formato .midi puedes insertar la que quieras.
Gracias: Pacodelopio
  #7  
20/08/2013
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Perfecto luego lo pruebo en Ruby, para ver como se hace y si funciona te digo, por cierto...
la dirección del editor HxD, te has equivocado y as puesto la del midi.
Si funciona en Ruby luego edito y asín si alguien lo quiere usar que lo use.
Gracias: Jo7a
  #8  
09/01/2014
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Cuando inserte la musica de pokemon mistery dungeon, o sea la que suena cuando sales de la casa del prota, la primera parte suena un poco mal y desafinada y despues se arregla y despues se desafina y despues se arregla y despues se desafina ........

En fin no se como arreglar eso, pero cuando la escucho con SAPPY suena bien
¿Que crees que sea?
  #9  
12/01/2014
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Dicho por miguel809 Ver mensaje
Cuando inserte la musica de pokemon mistery dungeon, o sea la que suena cuando sales de la casa del prota, la primera parte suena un poco mal y desafinada y despues se arregla y despues se desafina y despues se arregla y despues se desafina ........

En fin no se como arreglar eso, pero cuando la escucho con SAPPY suena bien
¿Que crees que sea?
Te resalto una parte del tutorial:

Dicho por Jo7a~ Ver mensaje

-7.1: Ya inserté la midi y se escucha bien, pero algunos instrumentos desafinan a veces, o no se escuchan bien. ¿Por qué me pasa esto?

Bien, puede ser por varias razones:
  1. El loop del sample esta mal, a la hora de poner el nº en el "enable loop" deberias haber puesto uno mas pequeño, o mas grande. ¿Como se soluciona?
    Fácil, tan solo repite el paso de insertar el sample del instrumento que se escuche mal, y asignale otro nº en "enable loop".
    No hay un nº concreto, ve provando números hasta que se escuche bien el instrumento.
  2. El offset donde insertaste el sample no tiene mucho espacio libre. Tan solo tienes que cambiar de offset, eso si, si lo haces deberás configurar ese sample en la voicetable otra vez, poniendo el nuevo offset.
Seguramente algun instrumento lo insertaste en algún offset que no tenia espacio suficiente, o quizá fue la misma midi.

Yo probaría, o bien insertando la midi (solo el .s) otra vez, en otro offset, o bien intenta identificar qué instrumento es el que suena mal, e insertarlo de nuevo en otro offset. Reproduce los .wav de los instrumentos que tenga la midi, e intenta ver cual de ellos es el que suena mal al reproducirla en el vba.

Las dudas, tal como especifíco al final del tema, dimelas por perfil o MP, ya que por aquí no suelo darme cuenta. Así también podré responderte mas rápidamente.
Gracias: MegaSceptile9
  #10  
25/02/2014
Predeterminado Respuesta: Insertar Midis originales de juegos GBA
Bah, simplemente perfecto..
No hay mas que añadir..
Me paso lo mismo que a sceptile, los instrumentos desafinaban, pero al ver la pate resaltada, inserte la midi en otro offst y ya esta, como nueva

Muchas gracias por el tuto,ahora vere el de loopear
Gracias: Jo7a
Respuesta

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 13:36.