Hola a todos, aqui de nuevo yo con otro tutorial, esta vez les enseñare a insertar una MIDI en su rom, explicado como se lo explicaria a un niño de 6 años, en fin, empecemos c:
==============
¿Que necesitamos
==============
• Sappy 2006 (si usas Win 7/8/10 descarga el Mod 17.1, búscalo en el foro)
• Mid2agb (viene dentro del directorio de sappy)
• Una Midi cualquiera
• Free Space Finder
• Anvil Studio (buscalo en google)
====================
Paso 1: Selección de Tema
====================
Ya hemos seleccionado una melodia a insertar, en google podemos encontrar miles de midis para nuestro proyecto, yo para el tuto usare un remix de un tema de bosque (Propiedad de SypherAP)
Además debemos renombrar la melodia usando solo caracteres alfanumericos sin espacios, que al mid2agb no le gustan esas cosas (?), en mi caso le puse "bosque.mid"
==========================
Paso 2: Acomodando Instrumentos
==========================
Pues esto es un poco tedioso, pues como sabras en los roms de GBA hay una gran cantidad de grupos de instrumentos (Voicegroups, VG para abreviar) los cuales contienen un conjunto de instrumentos a tocar, si tu MIDI posee un instrumento que no esta en el VG este simplemente sonara como un horrendo beep.
He aqui la lista de VG y sus offset en FR (No se en Ruby sus offsets )
y ahora ¿como acomodo los instrumentos si mi MIDI tiene todas los instrumentos diferentes a todos Los VG? pues aqui entra Anvil studio, con el podemos cambiar los instrumentos que toca cada track de la MIDI, para cambialo solo abre tu ROM en el anvil studio, abajo se desplegara la lista de tracks que tiene la melodia, el engine de GBA solo lee un máximo de 10 canales por melodía (la mia por suerte tiene 6 tracks), si tienes más de 1 puedes borrar o fusionar canales que contengan muy pocas notas; En el lado derecho de cada track podemos ver el instrumento que toca.
Para cambiarlo solo da click sobre el nombre del instrumento y se desplegara una ventanita que contiene todos los instrumentos disponibles, en azul estara remarcado en azul el instrumento actual, navegamos en la ventana a modo de seleccionar un nuevo instrumento que si este en el VG, le damos aceptar y listo.
Repetimos con los tracks que lo necesiten y recordamos guardar la MIDI en "Export MIDI FORMAT-0" de lo contrario sappy no leera tu loop.
Nota: El código interno del juego hace que para que una percusión sea válida esta debe estar en el último canal, y debe tener asignado el intrumento "0. Acoustic Grand"
================
Paso 3: Loopeando
================
¿Que es loopear? pues su nombre lo dice, loop es bucle en español, osea hacer que la MIDI se repita infinitamente, pues si no al terminar la melodia esta terminara y se quedara mudo el ROM.
Para loopear solo sigue Este tutorial de loopeo pero asegurate que guardes la melodia como "MIDI FORMAT-0" o el loop no servira.
==================
Paso 4: Mejorar Melodía
==================
A veces puede que Anvil Studio nos dé problemas con algún loop o que los eventos de sonido se escuchen muy alto, causando una especie de chillidos, o que tambien hayan eventos de la MIDI que midi2agb nos esté tomando mal, para reparar todo eso no hay que ser un experto en MIDIs, pues para ello podemos usar MidFix4agb, herramienta creada por Ipatix que automaticamente repara esos fallos que quedan joder la melodía.
Para usarlo debes descargar la herramienta, (Requiere .Net 3.5), descomprimimos la herramienta donde querramos (de preferencia junto con mid4agb), y solo debemos arrastrar la melodía al programa, este nos desplegará una ventana del simbolo del sistema, se cerrará, y nos creará un archivo idéntico al que arrastramos, pero con la palabra "_FINAL" agregada.
==================
Paso 4: convertir a .s
==================
Esto que viene es mas fácil, ahora tomamos nuestra MIDI generada anteriormente, y con el puntero del mouse la arrastraremos a el icono del programa "Mid2agb", al hacerlo solo se abrira una ventana de la consola de Windows que se cierra de inmediato, pero vemos que se creó un nuevo archivo con el nombre de nuestra MIDI, pero tiene formato. s, pues bien, ahora ya esta convertida al formato de GBA, en mi caso creó un archivo llamado "forest_FINAL.s"
================
Paso 5: Importando
================
Ahora empieza a ponerse bueno, abriremos. nuestra ROM con sappy , y en la ventana de melodias nos dirigiremos a la melodia a reemplazar, yo reemplazare la 292 (tema de intro de Oak) y nos iremos al costado del programa y clickearemos "Assemble Song"
Ahora se nos muesta una ventana como esta, y haremos lo siguiente:
Primer Rectangulo: Seleccionaremos el archivo .s que nos genero mid2agb.
Segundo rectangulo: No se toca, es el ROM de destino
Tercer rectangulo: Es el offset donde se pondra nuestra nueva melodia, busca una offset con bastante espacio libre con FSF, pegalo ahi.
Cuarto rectangulo: Offset del VG que usara la melodia, en el paso 3 deje la lista de offset con los VG disponibles.
Ahora procederemos a darle al boton "Cook it" y despue de un momento nos abre una ventana si queremos guardar la melodia en su indice correspondiente, le diremos que si y ¡listo! ya esta la melodia.
Ahora procedemos a reproducirla, si no se escucha como quisieramos o se escuchan canales con horrendos beeps, pues repetimos el proceso de acomodar instrumentos e insertar hasta que estemos conformes como quedo, ahora solo queda probar en el emulador a ver como quedó.
Mi resultado al final fue este:
El tutorial es largo, pero el proceso no suele llevar mas de 15 minutos cuando le coges practica.
=============
Agradecimientos
=============
A GoGoJJtech porque su tuto me enseñó como acomodar los instrumentos
A Magnius por la lista de VG de FR
A ti por leer esto
==============
¿Que necesitamos
==============
• Sappy 2006 (si usas Win 7/8/10 descarga el Mod 17.1, búscalo en el foro)
• Mid2agb (viene dentro del directorio de sappy)
• Una Midi cualquiera
• Free Space Finder
• Anvil Studio (buscalo en google)
====================
Paso 1: Selección de Tema
====================
Ya hemos seleccionado una melodia a insertar, en google podemos encontrar miles de midis para nuestro proyecto, yo para el tuto usare un remix de un tema de bosque (Propiedad de SypherAP)
Además debemos renombrar la melodia usando solo caracteres alfanumericos sin espacios, que al mid2agb no le gustan esas cosas (?), en mi caso le puse "bosque.mid"
==========================
Paso 2: Acomodando Instrumentos
==========================
Pues esto es un poco tedioso, pues como sabras en los roms de GBA hay una gran cantidad de grupos de instrumentos (Voicegroups, VG para abreviar) los cuales contienen un conjunto de instrumentos a tocar, si tu MIDI posee un instrumento que no esta en el VG este simplemente sonara como un horrendo beep.
He aqui la lista de VG y sus offset en FR (No se en Ruby sus offsets )
0x48ABB0
2 - Electric Grand
13 - Xylophone
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
82 - Calliope
83 - Chiff
84 - Charang
85 - Voice
88 - Pad 1 (New Age)
100 - Brightness
101 - Goblin
0x48B078
47 - Timpani
60 - French Horn
80 - Square
81 - Sawtooth
82 - Calliope
83 - Chiff
84 - Charang
0x48B474
01 - Acoustic Grand
4, 5, 6 and 7 - Not Square instruments, but used as Square
instruments in GBA Pokemon games.
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
90 - Pad 3 (Polysynth)
0x48B8B8 (Used for the second RSE battle theme)
01 - Bright Acoustic
4, 5, 6 and 7 - Not Square instruments, but used as Square
instruments in GBA Pokemon games.
17 - Percussive Organ
33 - Electric Bass (Fingered)
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
81 - Sawtooth
82 - Calliope
83 - Chiff
90 - Pad 3 (Polysynth)
0x48F974
1 - Bright Acoustic
2 - Electric Grand
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x48FF74
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
47 - Timpani
56 - Trumpet
73 - Flute
80 - Square
81 - Sawtooth
87 - Bass + Lead
127 - Gunshot(Used as Drum Noise)
0x490574
17 - Percussive Organ
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
38 - Synth Bass 1
48 - Strings
56 - Trumpet
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
120 - Guitar Fret Noise
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x490B74
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
84 - Charang
85 - Voice
87 - Bass + Lead
88 - Pad 1 (New Age)
0x490FAC
21 - Accordian
80 - Square
81 - Sawtooth
0x491390
29 - Overdriven Guitar
30 - Distortion Guitar
38 - Synth Bass 1
62 - SynthBrass 1
80 - Square
81 - Sawtooth
83 - Chiff
84 - Charang
85 - Voice
86 - Lead Fifths
87 - Bass + Lead
88 - Pad 1 (New Age)
89 - Pad 2 (Warm)
125 - Helicopter
127 - Gunshot(Used as Drum Noise)
0x491990
14 - Tubular Bells
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
80 - Square
81 - Sawtooth
125 - Helicopter
0x491F90
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x492590
10 - Music Box
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
48 - Strings
58 - Trombone
78 - Whistle
80 - Square
81 - Sawtooth
0x492B90
02 - Not really a square instrument, but used as such in the game.
0x492BC0
01 - Bright Acoustic
13 - Xylophone
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
56 - Trumpet
73 - Flute
80 - Square
81 - Sawtooth
83 - Chiff(Used here as Wave)
84 - Charang
85 - Voice(Used here as Wave)
0x4931C0
17 - Percussive Organ
24 - Acoustic Guitar Nylon
38 - Synth Bass 1
80 - Square
81 - Sawtooth
83 - Chiff
0x4935B0
01 - Bright Acoustic
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x493BB0
01 - Bright Acoustic
17 - Percussive Organ
38 - Synth Bass 1
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
0x4941B0
17 - Percussive Organ
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4947B0
01 - Bright Acoustic
13 - Xylophone
24 - Acoustic Guitar Nylon
48 - Strings
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x494DB0
01 - Bright Acoustic
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
0x4951A0
13 - Xylophone
39 - Synth Bass 2
48 - Strings
58 - Trombone
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4957A0
1 - Bright Acoustic
2 - Used as a Square in GBA Pokemon games
9 - Glockenspiel
13 - Xylophone
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
68 - Oboe
73 - Flute
80 - Square
81 - Sawtooth
82 - Calliope
0x495BFC
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
0x4961FC
47 - Timpani
48 - Strings
56 - Trumpet
80 - Square
81 - Sawtooth
84 - Charang
0x49661C
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
47 - Timpani
48 - Strings
60 - French Horn
80 - Square
81 - Sawtooth
92 - Pad 5 (Bowed)
127 - Gunshot(Used as Drum Noise)
0x496C1C
14 - Tubular Bells
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
81 - Sawtooth
83 - Chiff
127 - Gunshot(Used as Drum Noise)
0x49721C
14 - Tubular Bells
47 - Timpani
48 - Strings
58 - Trombone
60 - French Horn
80 - Square
81 - Sawtooth
0x497678
4 and 5 - Not Squares, but interpreted by the GBA Pokemon games
as such.
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
47 - Timpani
48 - Strings
60 - French Horn
62 - SynthBrass 1
83 - Chiff
89 - Pad 2 (Warm)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x497C78
17 - Percussive Organ
21 - Accordian
29 - Overdriven Guitar
30 - Distortion Guitar
33 - Electric Bass (Fingered)
56 - Trumpet
62 - SynthBrass 1
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498278
17 - Percussive Organ
24 - Acoustic Guitar Nylon
33 - Electric Bass (Fingered)
48 - Strings
80 - Square
81 - Sawtooth
87 - Bass + Lead
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498878
4 - Used as synth by the game.
14 - Tubular Bells
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
31 - Guitar Harmonics
48 - Strings
53 - Voice Oohs
56 - Trumpet
60 - French Horn
62 - SynthBrass 1
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498E78
4 - Used as synth.
5 - Used as synth by the game.
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
83 - Chiff
0x499478
14 - Tubular Bells
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
0x499898
01 - Bright Acoustic
21 - Accordian
48 - Strings
58 - Trombone
73 - Flute
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x499E98
4 - Used as synth
14 - Tubular Bells
17 - Percussive Organ
48 - Strings
80 - Square
81 - Sawtooth
0x49A2F4
01 - Bright Acoustic
05 - Used as synth.
46 - Harp
56 - Trumpet
58 - Trombone
73 - Flute
81 - Sawtooth
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49A8F4
04 - Used as synth.
05 - Used as synth.
12 - Marimba(Used as synth here).
24 - Acoustic Guitar Nylon
46 - Harp
48 - Strings
73 - Flute
80 - Square
81 - Sawtooth
0x49AEF4
01 - Bright Acoustic
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
58 - Trombone
73 - Flute
75 - Pan Flute
78 - Whistle
0x49B4F4
17 - Percussive Organ
24 - Acoustic Guitar Nylon
31 - Guitar Harmonics
48 - Strings
62 - SynthBrass 1
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49BAF4
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
56 - Trumpet
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49C0F4
17 - Percussive Organ
24 - Acoustic Guitar Nylon
45 - Pizzicato Strings
48 - Strings
60 - French Horn
73 - Flute
80 - Square
81 - Sawtooth
0x49C6F4
17 - Percussive Organ
75 - Pan Flute
80 - Square
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x49CCF4
47 - Timpani
56 - Trumpet
58 - Trombone
73 - Flute
81 - Sawtooth
82 - Calliope
83 - Chiff
0x49D0E4
45 - Pizzicato Strings
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
81 - Sawtooth
82 - Calliope
83 - Chiff
85 - Voice
86 - Lead 7 fifths
89 - Pad 2 (Warm)
0x49D528
4 - Electric Piano 1
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
73 - Flute
80 - Square
81 - Sawtooth
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49DB28
1 - Bright Acoustic
4 - Electric Piano 1
17 - Percussive Organ
25 - Acoustic Guitar Steel
48 - Strings
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49E128
1 - Bright Acoustic
30 - Distortion Guitar
38 - Synth Bass 1
80 - Square
81 - Sawtooth
82 - Calliope
83 - Chiff
92 - Pad 5 (Bowed)
0x49E884
13 - Xylophone
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
87 - Bass + Lead
0x49F16C
13 - Xylophone
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
0x49F58C
1 - Bright Acoustic
2 - Electric Grand
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
83 - Chiff
0x4A01E0
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
81 - Sawtooth
0x4A0600
24 - Acoustic Guitar Nylon
35 - Fretless Bass
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A1008
14 - Tubular Bells
29 - Overdriven Guitar
30 - Distortion Guitar
33 - Electric Bass (Fingered)
48 - Strings
53 - Voice Oohs
60 - French Horn
62 - SynthBrass 1
78 - Whistle
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x4A1C08
01 - Bright Acoustic
24 - Acoustic Guitar Nylon
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A2208
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A2808
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
82 - Calliope
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A0C00
14 - Tubular Bells
31 - Guitar Harmonics
38 - Synth Bass 1
80 - Square
81 - Sawtooth
85 - Voice(For once, it's actually not used as Synth)
0x4A1608
01 - Bright Acoustic
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
2 - Electric Grand
13 - Xylophone
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
82 - Calliope
83 - Chiff
84 - Charang
85 - Voice
88 - Pad 1 (New Age)
100 - Brightness
101 - Goblin
0x48B078
47 - Timpani
60 - French Horn
80 - Square
81 - Sawtooth
82 - Calliope
83 - Chiff
84 - Charang
0x48B474
01 - Acoustic Grand
4, 5, 6 and 7 - Not Square instruments, but used as Square
instruments in GBA Pokemon games.
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
90 - Pad 3 (Polysynth)
0x48B8B8 (Used for the second RSE battle theme)
01 - Bright Acoustic
4, 5, 6 and 7 - Not Square instruments, but used as Square
instruments in GBA Pokemon games.
17 - Percussive Organ
33 - Electric Bass (Fingered)
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
81 - Sawtooth
82 - Calliope
83 - Chiff
90 - Pad 3 (Polysynth)
0x48F974
1 - Bright Acoustic
2 - Electric Grand
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x48FF74
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
47 - Timpani
56 - Trumpet
73 - Flute
80 - Square
81 - Sawtooth
87 - Bass + Lead
127 - Gunshot(Used as Drum Noise)
0x490574
17 - Percussive Organ
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
38 - Synth Bass 1
48 - Strings
56 - Trumpet
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
120 - Guitar Fret Noise
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x490B74
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
84 - Charang
85 - Voice
87 - Bass + Lead
88 - Pad 1 (New Age)
0x490FAC
21 - Accordian
80 - Square
81 - Sawtooth
0x491390
29 - Overdriven Guitar
30 - Distortion Guitar
38 - Synth Bass 1
62 - SynthBrass 1
80 - Square
81 - Sawtooth
83 - Chiff
84 - Charang
85 - Voice
86 - Lead Fifths
87 - Bass + Lead
88 - Pad 1 (New Age)
89 - Pad 2 (Warm)
125 - Helicopter
127 - Gunshot(Used as Drum Noise)
0x491990
14 - Tubular Bells
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
80 - Square
81 - Sawtooth
125 - Helicopter
0x491F90
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x492590
10 - Music Box
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
48 - Strings
58 - Trombone
78 - Whistle
80 - Square
81 - Sawtooth
0x492B90
02 - Not really a square instrument, but used as such in the game.
0x492BC0
01 - Bright Acoustic
13 - Xylophone
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
56 - Trumpet
73 - Flute
80 - Square
81 - Sawtooth
83 - Chiff(Used here as Wave)
84 - Charang
85 - Voice(Used here as Wave)
0x4931C0
17 - Percussive Organ
24 - Acoustic Guitar Nylon
38 - Synth Bass 1
80 - Square
81 - Sawtooth
83 - Chiff
0x4935B0
01 - Bright Acoustic
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x493BB0
01 - Bright Acoustic
17 - Percussive Organ
38 - Synth Bass 1
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
0x4941B0
17 - Percussive Organ
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4947B0
01 - Bright Acoustic
13 - Xylophone
24 - Acoustic Guitar Nylon
48 - Strings
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x494DB0
01 - Bright Acoustic
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
0x4951A0
13 - Xylophone
39 - Synth Bass 2
48 - Strings
58 - Trombone
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4957A0
1 - Bright Acoustic
2 - Used as a Square in GBA Pokemon games
9 - Glockenspiel
13 - Xylophone
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
68 - Oboe
73 - Flute
80 - Square
81 - Sawtooth
82 - Calliope
0x495BFC
78 - Whistle
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
0x4961FC
47 - Timpani
48 - Strings
56 - Trumpet
80 - Square
81 - Sawtooth
84 - Charang
0x49661C
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
47 - Timpani
48 - Strings
60 - French Horn
80 - Square
81 - Sawtooth
92 - Pad 5 (Bowed)
127 - Gunshot(Used as Drum Noise)
0x496C1C
14 - Tubular Bells
46 - Harp
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
81 - Sawtooth
83 - Chiff
127 - Gunshot(Used as Drum Noise)
0x49721C
14 - Tubular Bells
47 - Timpani
48 - Strings
58 - Trombone
60 - French Horn
80 - Square
81 - Sawtooth
0x497678
4 and 5 - Not Squares, but interpreted by the GBA Pokemon games
as such.
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
47 - Timpani
48 - Strings
60 - French Horn
62 - SynthBrass 1
83 - Chiff
89 - Pad 2 (Warm)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x497C78
17 - Percussive Organ
21 - Accordian
29 - Overdriven Guitar
30 - Distortion Guitar
33 - Electric Bass (Fingered)
56 - Trumpet
62 - SynthBrass 1
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498278
17 - Percussive Organ
24 - Acoustic Guitar Nylon
33 - Electric Bass (Fingered)
48 - Strings
80 - Square
81 - Sawtooth
87 - Bass + Lead
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498878
4 - Used as synth by the game.
14 - Tubular Bells
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
31 - Guitar Harmonics
48 - Strings
53 - Voice Oohs
56 - Trumpet
60 - French Horn
62 - SynthBrass 1
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x498E78
4 - Used as synth.
5 - Used as synth by the game.
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
83 - Chiff
0x499478
14 - Tubular Bells
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
0x499898
01 - Bright Acoustic
21 - Accordian
48 - Strings
58 - Trombone
73 - Flute
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x499E98
4 - Used as synth
14 - Tubular Bells
17 - Percussive Organ
48 - Strings
80 - Square
81 - Sawtooth
0x49A2F4
01 - Bright Acoustic
05 - Used as synth.
46 - Harp
56 - Trumpet
58 - Trombone
73 - Flute
81 - Sawtooth
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49A8F4
04 - Used as synth.
05 - Used as synth.
12 - Marimba(Used as synth here).
24 - Acoustic Guitar Nylon
46 - Harp
48 - Strings
73 - Flute
80 - Square
81 - Sawtooth
0x49AEF4
01 - Bright Acoustic
14 - Tubular Bells
17 - Percussive Organ
24 - Acoustic Guitar Nylon
58 - Trombone
73 - Flute
75 - Pan Flute
78 - Whistle
0x49B4F4
17 - Percussive Organ
24 - Acoustic Guitar Nylon
31 - Guitar Harmonics
48 - Strings
62 - SynthBrass 1
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49BAF4
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
56 - Trumpet
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49C0F4
17 - Percussive Organ
24 - Acoustic Guitar Nylon
45 - Pizzicato Strings
48 - Strings
60 - French Horn
73 - Flute
80 - Square
81 - Sawtooth
0x49C6F4
17 - Percussive Organ
75 - Pan Flute
80 - Square
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x49CCF4
47 - Timpani
56 - Trumpet
58 - Trombone
73 - Flute
81 - Sawtooth
82 - Calliope
83 - Chiff
0x49D0E4
45 - Pizzicato Strings
47 - Timpani
48 - Strings
56 - Trumpet
60 - French Horn
73 - Flute
81 - Sawtooth
82 - Calliope
83 - Chiff
85 - Voice
86 - Lead 7 fifths
89 - Pad 2 (Warm)
0x49D528
4 - Electric Piano 1
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
73 - Flute
80 - Square
81 - Sawtooth
92 - Pad 5 (Bowed)
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49DB28
1 - Bright Acoustic
4 - Electric Piano 1
17 - Percussive Organ
25 - Acoustic Guitar Steel
48 - Strings
80 - Square
81 - Sawtooth
83 - Chiff
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x49E128
1 - Bright Acoustic
30 - Distortion Guitar
38 - Synth Bass 1
80 - Square
81 - Sawtooth
82 - Calliope
83 - Chiff
92 - Pad 5 (Bowed)
0x49E884
13 - Xylophone
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
87 - Bass + Lead
0x49F16C
13 - Xylophone
24 - Acoustic Guitar Nylon
80 - Square
81 - Sawtooth
0x49F58C
1 - Bright Acoustic
2 - Electric Grand
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
83 - Chiff
0x4A01E0
47 - Timpani
48 - Strings
56 - Trumpet
58 - Trombone
60 - French Horn
81 - Sawtooth
0x4A0600
24 - Acoustic Guitar Nylon
35 - Fretless Bass
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A1008
14 - Tubular Bells
29 - Overdriven Guitar
30 - Distortion Guitar
33 - Electric Bass (Fingered)
48 - Strings
53 - Voice Oohs
60 - French Horn
62 - SynthBrass 1
78 - Whistle
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
0x4A1C08
01 - Bright Acoustic
24 - Acoustic Guitar Nylon
48 - Strings
56 - Trumpet
60 - French Horn
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A2208
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A2808
17 - Percussive Organ
24 - Acoustic Guitar Nylon
48 - Strings
80 - Square
81 - Sawtooth
82 - Calliope
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)
0x4A0C00
14 - Tubular Bells
31 - Guitar Harmonics
38 - Synth Bass 1
80 - Square
81 - Sawtooth
85 - Voice(For once, it's actually not used as Synth)
0x4A1608
01 - Bright Acoustic
81 - Sawtooth
127 - Gunshot(Used as Drum Noise)
y ahora ¿como acomodo los instrumentos si mi MIDI tiene todas los instrumentos diferentes a todos Los VG? pues aqui entra Anvil studio, con el podemos cambiar los instrumentos que toca cada track de la MIDI, para cambialo solo abre tu ROM en el anvil studio, abajo se desplegara la lista de tracks que tiene la melodia, el engine de GBA solo lee un máximo de 10 canales por melodía (la mia por suerte tiene 6 tracks), si tienes más de 1 puedes borrar o fusionar canales que contengan muy pocas notas; En el lado derecho de cada track podemos ver el instrumento que toca.
Para cambiarlo solo da click sobre el nombre del instrumento y se desplegara una ventanita que contiene todos los instrumentos disponibles, en azul estara remarcado en azul el instrumento actual, navegamos en la ventana a modo de seleccionar un nuevo instrumento que si este en el VG, le damos aceptar y listo.
Nota: El código interno del juego hace que para que una percusión sea válida esta debe estar en el último canal, y debe tener asignado el intrumento "0. Acoustic Grand"
================
Paso 3: Loopeando
================
¿Que es loopear? pues su nombre lo dice, loop es bucle en español, osea hacer que la MIDI se repita infinitamente, pues si no al terminar la melodia esta terminara y se quedara mudo el ROM.
Para loopear solo sigue Este tutorial de loopeo pero asegurate que guardes la melodia como "MIDI FORMAT-0" o el loop no servira.
==================
Paso 4: Mejorar Melodía
==================
A veces puede que Anvil Studio nos dé problemas con algún loop o que los eventos de sonido se escuchen muy alto, causando una especie de chillidos, o que tambien hayan eventos de la MIDI que midi2agb nos esté tomando mal, para reparar todo eso no hay que ser un experto en MIDIs, pues para ello podemos usar MidFix4agb, herramienta creada por Ipatix que automaticamente repara esos fallos que quedan joder la melodía.
Para usarlo debes descargar la herramienta, (Requiere .Net 3.5), descomprimimos la herramienta donde querramos (de preferencia junto con mid4agb), y solo debemos arrastrar la melodía al programa, este nos desplegará una ventana del simbolo del sistema, se cerrará, y nos creará un archivo idéntico al que arrastramos, pero con la palabra "_FINAL" agregada.
==================
Paso 4: convertir a .s
==================
Esto que viene es mas fácil, ahora tomamos nuestra MIDI generada anteriormente, y con el puntero del mouse la arrastraremos a el icono del programa "Mid2agb", al hacerlo solo se abrira una ventana de la consola de Windows que se cierra de inmediato, pero vemos que se creó un nuevo archivo con el nombre de nuestra MIDI, pero tiene formato. s, pues bien, ahora ya esta convertida al formato de GBA, en mi caso creó un archivo llamado "forest_FINAL.s"
================
Paso 5: Importando
================
Ahora empieza a ponerse bueno, abriremos. nuestra ROM con sappy , y en la ventana de melodias nos dirigiremos a la melodia a reemplazar, yo reemplazare la 292 (tema de intro de Oak) y nos iremos al costado del programa y clickearemos "Assemble Song"
Segundo rectangulo: No se toca, es el ROM de destino
Tercer rectangulo: Es el offset donde se pondra nuestra nueva melodia, busca una offset con bastante espacio libre con FSF, pegalo ahi.
Cuarto rectangulo: Offset del VG que usara la melodia, en el paso 3 deje la lista de offset con los VG disponibles.
Ahora procederemos a darle al boton "Cook it" y despue de un momento nos abre una ventana si queremos guardar la melodia en su indice correspondiente, le diremos que si y ¡listo! ya esta la melodia.
Ahora procedemos a reproducirla, si no se escucha como quisieramos o se escuchan canales con horrendos beeps, pues repetimos el proceso de acomodar instrumentos e insertar hasta que estemos conformes como quedo, ahora solo queda probar en el emulador a ver como quedó.
Mi resultado al final fue este:
El tutorial es largo, pero el proceso no suele llevar mas de 15 minutos cuando le coges practica.
=============
Agradecimientos
=============
A GoGoJJtech porque su tuto me enseñó como acomodar los instrumentos
A Magnius por la lista de VG de FR
A ti por leer esto
Última edición: