Native Instrument Map

I’ve been testing this a little bit and I don’t think you got a lot of the addresses correct - it seems that most of them aren’t the same. From memory, I think 57 and 109 weren’t the same ones as FE7’s, and there’s no 61 where there should be a 61 (since I know that sample is available in FE8). May have to do some revisions…

For the record, my current corrections would be as follows:

33 - 0x0227988 (33 and 34 in Mike's FE7NIM are identical, but the sample is definitely a finger bass and not a pick bass)
57 - 0x0274F48
61 - 0x02B3F54
109 - 0x023B5FC
124 - 0x02228F0

I’m also going to change all the hex values to decimal values; given the fact that most of us have shifted to using Mid2AGB and .s files there’s little reason to use any hex for instrument numbers over decimal.

1 Like

Yeah I’m not surprised it’s got problems. Thanks for catching some, I’ll update it with the fixes.

so, um, do you know the link for fe7 is broken?

FE6 native instrument map

If for some reason you are modding FE6 and your name isn’t Onmi, or you just want to dump FE6’s samples (orchestra hit! actual synthbrass! ride bell!) for importation into 7 or 8, I’ve put together a native instrument map for FE6 to expedite the process.
edit 2018-6-13: Updated the download to include the readme and soundfont. The instrument map has also been revised slightly.

notes on sample locations

FE6 native instrument information

·“№” refers to instrument number; “#” refers to song number.
·Samples with brackets =same as that № sample.
·For example, №0 acoustic grand saying [1] means it uses the same sample as №1 bright acoustic.

·When using the soundfont in your midi editing app, I suggest using instrument №125 (helicopter) for the drums.

·Keep in mind that any slots that are shown not to have samples here (for example, №23 harmonica)
are set by default as “square wave 1”, meaning it will play bleepbloop noises if you use it. Be
especially vigilant with drums; FE6’s native drum palette is rather limited and actually erroneously
includes some samples from other instruments (edit: this is actually a consequence of the way voice tables are set up and is just the drum table overlapping other tables a bit). I do not recommend using hardware square waves
as instruments because the GBAFE engine can only play one of these at the same time, and
they are usually already used for menu sounds (for example, the “boopboop” that plays when you
move the cursor on the map).

0x0381254 location of voicegroup for song #1 (the main FE theme). This is a safe place to slap
down the native instrument map if you don’t want to put it in your usual free space.

Instrument information:

[1] —— 0 acoustic grand (no sustain)
0x03F2E9C — 1 bright acoustic
0x043860C — 2 electric grand
[5] —— 3 honky-tonk (faster decay than №5)
0x03FE644 — 4 elec piano 1
0x0436AF8 — 5 elec piano 2; sounds like square wave
0x03FF4D8 — 6 harpsichord
[6] —— 7 clavichord (faster decay/release but louder attack/sustain than №6; better for low or staccato notes)
0x03E7EFC — 8 celesta (no sustain)
0x03FD8D8 — 9 glockenspiel (Idunn theme background)
0x03FBF34 — 10 music box (Idunn theme)
[8] —— 11 celesta w/ sustain
[14] —— 12 tubular bells w/ faster decay/release
0x03A149C — 13 xylophone (also works for agogo)
0x03E96F4 — 14 tubular bells
[9] —— 15 dulcimer
[18] —— 16 drawbar organ (rock organ but w/ lower attack)
0x03BE054 — 17 percussive organ
0x03A29D0 — 18 rock organ (comparable to perc organ at lower pitches)
0x03B8384 — 19 church organ
[68] —— 20 reed organ (oboe with lower atk)
0x04344E8 — 21 accordion
[21] —— 22 tango accord (higher atk/dec)

[46] —— 24 acoustic guitar (nylon) (orch strings w/ lower decay)
[33] —— 25 acoustic guitar (steel) (bass w/ decay)

[4] —— 27 electric guitar (clean) (elec piano w/ faster decay more more sus)
0x03AABDC — 28 elec guitar muted (chord)
0x03D4764 — 29 over guitar
0x03B525C — 30 distort guitar; also works for heavy/fat synthbrass

0x03A7CE4 — 33 elec bass finger (the main bass of the game; a bit more impactful than you’d expect)
[33] —— 34 elec bass pick (№33 plus fast decay to make it sound pick-y)

0x03A4028 — 36 slap bass 1

[51] —— 40 violin (synthstrings1 with fast decay)
[48] —— 41 viola (strings1 with fast decay)

0x03A9750 — 44 tremolo strings (actual strings; not a harp); can be used as pizzicato
[44] —— 45 pizzicato strings (no sustain)
0x03CFD14 — 46 orch strings (harp) (also works for acoustic guitar (nylon)?)
0x03BFA6C — 47 timpani
0x039A844 — 48 strings1
0x03D6830 — 49 strings2; good for high strings
0x03D23C8 — 50 synthstrings1; high/light, but more synthy than №49
0x03EE500 — 51 synthstrings2; fifths?; sounds kind of like synthstrings and synthbrass at the same time
0x03DAF94 — 52 choir aah
0x03ADB08 — 53 voice ooh (also synth voice or pad?)
[53] —— 54 synth voice (slower atk/rel)
0x03C4594 — 55 orch hit
0x039CE98 — 56 trumpet (№1 in #2)
0x03A5518 — 57 trombone or tuba; “arng” sound at higher pitches
0x03B9D60 — 58 low brass
0x0455098 — 59 high brass; sounds like FE8’s trumpet; used in level-up jingle
0x039EFFC — 60 French horn
0x03B0630 — 61 brass section (bad loop, so best for short notes); kinda synthy
0x03B35A8 — 62 synthbrass1
[51] —— 63 synthbrass2 (less atk)
0x03D9274 — 64 high brass; used in song #18; kinda echoey?
0x03C6978 — 65 “swoo” brass; light; sounds almost like strings at high pitches
0x0453730 — 66 alternate brass section; sounds more like a real brass section

0x03B2218 — 68 oboe
0x03C9280 — 69 high brass; background of FoW player phase theme; unsure sound; used in Shadow of Triumph
0x03CAEFC — 70 bassoon (cross btwn French horn and woodwind?)
0x03EC748 — 71 clarinet
0x0401B5C — 72 high oboe or clarinet
0x039F824 — 73 flute

[73] —— 79 ocarina
[5] —— 80 lead (square)

[62] —— 87 lead (bass plus lead)

[53] —— 89 pad warm
[62] —— 90 pad polysynth
0x04CA510 — 91 pad choir
0x0462F0C — 92 pad bowed (sounds kinda sci-fi/abstract)

[52] —— 94 pad halo

0x03E1A88 — 98 light strings with crystalline, glassy sounds playing in the bg; used in healing themes

[52] —— 100 fx brightness

0x03CCC0C — 103 some kind of fx; cool robotic sound used as pizzicato in “Frontier”
0x03AB6C0 — 104 sitar

[13] —— 113 agogo

0x0404390 — 116 melodic bass drum
0x0432AC4 — 117 melodic tom

0x04B2FC0 — 121 brigand scream :wink:
0x04C443C — 122 rumbling sound (use as accenting sfx)

0x0393650 — 124 drumkit1 (drum part)
0x048D294 — 125 drumkit2 (drum part)
0x04460EC — 126 applause
0x03931AC — 127 drumkit2 (drum part) (identical to 125 for compatibility purposes; use one or the other)

№124 drumkit1 information:

0x0428A00 — 0 ride cymbal

0x040E398 — 3 tambourine

0x0414310 — 9 high bongo
0x0414BA4 — 10 low bongo
0x0415868 — 11 mute high conga
0x0415DAC — 12 open high conga
0x0416320 — 13 low conga

0x041B0D0 — 14 bass drum (same as 36)
0x042AC64 — 16 a tight, tinny snare; could use as electric snare

0x042C2BC — 29 ride bell or triangle?

0x042D2D0 — 31 ride bell (same as 37)

0x0424BEC — 35 crash cymbal; kinda splashy
0x041B0D0 — 36 bass drum; sounds like a true bass drum
0x042D2D0 — 37 ride bell (yes, FE6 has an actual ride bell)
0x042F5BC — 38 a shorter, more electric/synthy-sounding bass drum
— *to save yourself headaches, I recommend you put this bass drum
— somewhere else and put 127’s acoustic snare in the above slot.

0x041C894 — 39 hand clap
— NOTE: there is no electric snare; add an electric snare
— by editing the voice table yourself or just use acoustic snares.

0x04300A0 — 41 low floor tom
0x041E4E0 — 42 closed highhat

0x0431654 — 45 low tom
0x041FF28 — 46 open highhat; sounds like a bright ride cymbal

0x0432AC4 — 48 high mid tom
0x0424BEC — 49 crash cymbal

0x03E7EFC — 59 an electric piano sample? seems to be the end of the drums in the drum part

0x039A844 — 98 strings1 sample
0x03D6830 — 99 strings2 sample
0x03D23C8 — 100 synthstrings sample

№125/127 drumkit2 information:

0x03EC748 — 35 a clarinet sample??
0x0404390 — 36 bass drum; sounds like a low timpani
0x0405BE4 — 37 side kick
0x0405ED8 — 38 acou snare
0x0406B58 — 39 drumroll (like a marching band’s snare drum)

0x0409304 — 41 bass drum plus timpani

0x03BFA6C — 43 bass drum plus timpani (higher than 41)

0x040E398 — 54 tambourine

0x040EC4C — 57 crash cymbal
0x0412D58 — 58 vibrastrap

0x0414310 — 60 high bongo
0x0414BA4 — 61 low bongo
0x0415868 — 62 mute high conga
0x0415DAC — 63 open high conga
0x0416320 — 64 low conga

0x04169B4 — 81 triangle

0x041929C — 83 sleigh bells
0x041B0D0 — 84 124’s bass drum (a true bass drum, not a low timpani)
0x0405BE4 — 85 another side kick
0x041B868 — 86 another snare; more melodic but less impactful than 38
0x041C894 — 87 hand clap

0x041D19C — 89 an impactful low floor tom?
0x041E4E0 — 90 mute triangle or pedal highhat

0x041E8D4 — 93 low impactful tom
0x041FF28 — 94 open highhat; sounds like a bright ride cymbal

0x0422978 — 96 high mid tom?
0x0424BEC — 97 crash cymbal 2

0x0428A00 — 99 ride cymbal

0x040E398 — 102 tambourine again?

0x0414310 — 108 high bongo again
0x0414BA4 — 109 low bongo again
0x0415868 — 110 mute high conga again
0x0415DAC — 111 open high conga again
0x0416320 — 112 low conga again
0x041B0D0 — 113 true bass drum again

0x042AC64 — 115 a tight, tinny snare

5 Likes

I’ve made a revised version of the FE8 instrument map that adds a missing string ensemble (the strings1 from FE7) as well as fixes some instruments that were in unexpected or strange places. I plan to make an updated soundfont to reflect the changes made but for now it does not exist so pay close attention to the readme for which instruments you can use. This is just an instrument map so it does not include the FE8 drum fix, which I highly recommend using.
https://www.dropbox.com/s/lybqae3hy7pnxxq/FE8%20revised%20native%20instrument%20map.zip?dl=0
edit 2018-6-13: Soundfont is now included.
edit 2018-6-14: Soundfont now assumes you are using the FE8 drum fix (so you can use more drums, e.g. electric snare, crash cymbal 2, etc).
edit 2019-2-24: I’ve learned/made some realizations about what some instruments actually are over the months and edited the in-post contents of the readme below. I’m not going to re-upload the .zip unless I make changes to the actual map, however. I now strongly believe that many of the alternate piano/strings/brass samples that are spread throughout the map can be incorporated into multi-sample instruments (e.g. a piano that uses 0 for low notes, 1 for middle notes, and 24 for high notes) and am keeping this in mind for the next time I make an instrument overhaul patch. I’m not going to compile them in this instrument map because each multi-sample instrument uses its own instrument pointer table, meaning that installation would no longer be a plug-in-and-you’re-done affair when you have those pointers to keep track of.
edit 2019-7-16: I’ve slightly amended instrument names to be clearer (did you know the “overdrive guitar” is actually a piano? use 103 or 104 instead) and added the base note for each sample (for example, 41 sounds like the same instrument as 40 but it’s meant for notes an octave higher, so it will sound better for a track that mostly has mid-to-high notes). If your music is sounding shrill on the ears, it’s likely because you have instruments that stray too far from their base note; referring to this list will help you to prevent that from happening. If you have a track that plays very high and very low notes at the same time, consider using Anvil Studio’s “split track at keyboard split point” function to split it into separate tracks that use the “high” and “low” samples, respectively.

readme contents

This is the documentation for an updated version of the FE8 instrument map, which adds a missing string
ensemble, fixes some instruments that were in the “wrong” slots (e.g. the elec guitar muted and guitar harmonics being flip-flopped), and uses some instrument slots for “alternate” instruments (e.g. several of the many alternate brasses in the 100s were moved to the 50s/60s to encourage people to use them more). Enjoy!

(Keep in mind that Anvil Studio’s interface counts instruments on a basis of 1—128 whereas the event lists of midi songs as well as the GBA rom count them on a basis of 0—127. Don’t get mixed up!)

The note at the end of each instrument is the sample’s base note. It’s good to know this because, for example, if you have a strings track playing a lot of higher notes, you will want to use one of the instruments that have a higher base note because it won’t sound shrill.
As in Sappy, this list refers to middle C (midi note 60) as C3. If you use Anvil Studio, it will refer to middle C as C4 or C5 depending on your settings.

0 - acoustic grand (no loop) (low to mid notes) - 0x0512AB8 - G2
1 - bright acoustic (no loop) (mid to high notes) - 0x02A8068 - C4
2 - acoustic bass - 0x029918C - C1

4 - elec piano 1 (Fly With the Wind) - 0x02BB7F4 - C4

6 - harpsichord - 0x028F524 - C2
7 - same as 6, but more attack/less decay (good for staccato notes) - C2
8 - celesta - 0x04C4758 - C4

10 - vibraphone - 0x02C0D0C - C4
11 - xylophone (with loop) - 0x04C4758 - C4

13 - xylophone (no loop) - 0x029ED58 - C3
14 - tubular bells - 0x02263B4 - C3
15 - dulcimer - 0x04D60BC - G2

18 - rock organ - 0x02B235C - C4
19 - church organ - 0x02903C8 - C3
20 - church organ (high notes) - 0x0293544 - C4
21 - accordion - 0x02AC868 - G2

23 - high oboe or woodwind - 0x04D5A44 - C4
24 - acoustic guitar (nylon) (same as pizzicato) - 0x0281974 - C3

28 - elec guitar muted (swapped from 31) - 0x04C3630 - C3
29 - low electric piano (not a guitar!) - 0x02AE988 - C2
30 - distortion guitar (good for low, chord-sounding background notes) - 0x04C8ED4 - C2
31 - guitar slide (Powerful Foe) (swapped from 28) - 0x04CE300 - C3
32 - acoustic bass 2 - 0x02962B0 - C2
33 - elec bass (finger) - 0x0227988 - C2
34 - elec bass (pick) (same as 33 but faster attack/release) - C2
35 - fretless bass (same as 32; slower attack/release) - C2
36 - slap bass - 0x02AC224 - C2

38 - synth bass 1 - 0x04CD8AC - C1
39 - synth bass 2 - 0x0289978 - C2
40 - violin (the quintessential “FE8 strings”) - 0x022B4DC - C3
41 - viola (40, but higher) - 0x0233650 - C4
42 - cello (even higher) - 0x02A0690 - C5

44 - tremolo strings (same as 41; more staccato) - C4
45 - pizzicato strings - 0x0281974 - C3
46 - orchestral strings (harp) - 0x022807C - C4
47 - timpani - 0x0228C7C - C3
48 - string ensemble 1 (low-to-mid strings; same as FE7’s strings1) - 0x023F698 - C3
49 - same as 40; slower attack/release - C3
50 - synthstrings1 (48, but very low) - 0x0247AE8 - C1
51 - synthstrings2 (48, but low) - 0x02367A8 - C2
52 - choir aah - 0x028DDD0 - C3

54 - synth voice (copied from 85; slower attack) - 0x028CD70 - C4

56 - trumpet (high or background/augmenting notes) - 0x02CD7F4 - C4
57 - trombone - 0x0274F48 - C3
58 - tuba (copied from 98) - 0x028B404 - C3
59 - muted trumpet (moved from 90) - 0x04D8188 - C4
60 - French horn - 0x0287CC4 - C3
61 - brass section (the quintessential brass lead) - 0x02B3F54 - C3
62 - synthbrass1 (for low-sounding notes; down one octave) - 0x025305C - C3
63 - synthbrass2 (104, but lower) - 0x02595BC - C2
64 - clarinet or bassoon (copied from 78) - 0x0280AF0 - C3
65 - alternate trumpet (moved from 91) - 0x024BBAC
66 - alternate trombone (FE8 earlygame enemy phase theme) (copied from 102) - 0x0265DDC - C3
67 - oboe - 0x0296E54 - C3
68 - oboe high - 0x027BBD0 - C4
69 - oboe (67, but more drawn-out loop) - 0x04C4F6C - C3
70 - bassoon or oboe (low) - 0x02A7AA8 - C2
71 - clarinet (high) - 0x027E28C - C4
73 - flute (for very high notes) - 0x027E640 - C5
74 - flute/woodwind (more of a “bor” sound as opposed to 73’s “moop”) - 0x04D373C - C4
75 - pan flute - 0x04D9304 - C4
76 - blown bottle (same as 75; slower attack) - C4
77 - high flute (one octave up; use for high notes; same as FE7’s flute) - 0x04BE7C0 - C4
78 - clarinet or bassoon - 0x0280AF0 - C3
79 - ocarina - 0x02ADD3C - C4
80 - lead (square) (not a true square wave; a synth square lead; one octave up) - 0x02BA464 - C3
81 - lead (sawtooth) (not suitable for lead or high notes; better used for low background notes; not very audible) - 0x02CAC80 - C3

85 - lead (voice) - 0x028CD70 - C4
86 - another trombone (moved from 92) - 0x02A1728

88 - pad (synthbrass2) (63, but very slow attack/release; suitable for use as a pad) - C2
89 - pad (warm) (85, but very slow attack/release; suitable for use as a pad) - C4
90 - muted trumpet (same as 59; kept here for compatibility purposes) - 0x04D8188 - C4
91 - pad (choir) (52, but very slow attack/release; suitable for use as a pad) - C3
92 - pad (bowed) (4; pad) - C4
93 - pad (metallic) (61; pad) - C3
94 - pad (halo) (100; pad) - C4
95 - pad (square) (80; pad) - C3

98 - slow-attack tuba - 0x028B404 - C3
99 - atmosphere (same as 15; slower attack) - G2
100 - fx brightness (swapped from 101) - 0x04BF480 - C4
101 - more low-attack brass (swapped from 100) - 0x026CFD0 - C3
102 - the bandit trombone again (same as 66; slower attack) - C3
103 - overdrive guitar (“arng” sound; for low notes) - 0x04C0120 - C2
104 - synth lead (a quintessential lead, good overdrive guitar replacement) - 0x0261150 - C3
105 - synthstrings1 (looking for actual synthstrings? here they are) - 0x0281DD0 - C3
106 - synthstrings1 high (105, but higher) - 0x04D1AD4 - C4
107 - high strings (48, but higher) - 0x04D4684 - C4
108 - high strings (107, but has somewhat of a delayed onset, like the violinist swipes the bow back and forward an extra time) - 0x0243A54 - C4
109 - “full” strings (48 and 108 playing at the same time; slow attack) - 0x023B5FC - C4
110 - same as 109, but faster attack - C4
111 - legendary weapon noise - 0x029A1EC - C3
112 - jingle bells (this is the acoustic bass drum for both 124 and 127, but with the jingle bell here you can free up that drum slot to have both types of bass drum in one drumset) - 0x05016D8 - C3

116 - bass timpani (127’s bass drum; more impactful than 124’s bass drum) - 0x0502CB4 - C3
117 - melodic tom (124’s high mid tom) - 0x0507D60 - C3
118 - reverse cymbal (slow onset; identical to 124’s Chinese cymbal) - 0x04E7244 - C3
119 - reverse cymbal (faster onset; similar sound to 124’s crash cymbal 2) - 0x04F27CC - C3

121 - drum kit - 0x02231F0
122 - drum kit - 0x0222FB0
123 - drum kit - 0x02226B0
124 - drum kit (rock band): usu better for drums playing a constant rhythm - 0x02228F0
125 - white noise - 0x0516680
126 - applause (fun to use as a background-noise special effect at low or high pitches) - 0x02AF0B0
127 - drum kit (marching band): usu better for drums that play flourishes - 0x0222FB0

8 Likes

:heart_eyes:

why have you got so many duplicates? wouldn’t it be better to just leave them blank?

It makes it easier for non Music Hackers, imo

My philosophy in doing that was that it gives more options to people who don’t want to mess with the voice table (which is more than before, now that buildfiles are a thing and the voice table is just a scary jumble of hex numbers to a layperson). In the case of slots like 49 (strings2), I duplicated №40 there with less attack because the default strings2 in Anvil is also a string ensemble with low attack, and since 40 is such a quintessential “sound” of FE8, people might want the option of having a low-attack/pad-sounding version without having to manually insert a bunch of volume-change events to slowly increase the volume at the beginning of each note. Others like the muted trumpet (58/90) I copied from their old place to a more “appropriate” place but left the “old” place intact for compatibility purposes with songs that already use the old one. If someone wants to use this instrument map as a basis for adding custom samples to they can always change whatever instrument slot they want, but if they just want to insert some music and are afraid of messing with things they have more options.

1 Like

OK! I guess that makes sense when you put it like that.

Is it possible to get a soundfont of this new FE8 instrument map?

1 Like

:soon:

1 Like

Nice find, Alusq. Though, I have two questions:

  1. Is there a soundfont for the FE6 Native Instrument Map?

  2. How would one go for installing songs in buildfiles with the FE8 Instrument Map, and another set of songs with the FE6 Instrument Map?

1, Nope. I made the FE6 map long enough ago that it was made with the assumption that it would be second nature to everyone else to run their midi through mid2agb and feed it to Sappy whenever they wanted to give it a test listen. Given time for me to wrap my head around Viena, there will be a soundfont for it sooner or later.

2, If I’m not mistaken, you want to use some songs with FE8 instruments and others with FE6 instruments? Just putting the FE6 instrument map in an FE8 rom won’t work, because an instrument map is just a collection of pointers that point to audio samples that already exist in the rom (hence the term “native instruments”). What I recommend doing is to install the FE6 instrument map in a dummy FE6 rom, use Sappy to export the samples of whichever song uses the map (.s format is best because you don’t have to worry about manually configuring loop points), then import the samples into a dummy FE8 rom that has the FE8 instrument map installed and use “edit voice table” to make the relevant instruments point to the locations where you inserted the samples. From here, close Sappy, open the rom in a hex editor, and save the instrument map (which should be 0x600 bytes long) and the data of the samples you just inserted (ideally these will be placed one after the other in one big blob) as their own files, which you can then #incbin in your buildfile. I hope to replace this stupidly roundabout method of getting samples for “all” the instruments in one game with a comprehensive collection of samples and a tutorial on how to use them in a buildfile sometime later.

GBAmusRiper can import all the samples and music data in one fell swoop for you if you need an entire soundtrack transplanted

I’ve updated the FE6 native instrument map and FE8 revised instrument map downloads to include soundfonts. There is a slight change to the FE6 instrument map itself (changing 125 to a drumkit for compatibility purposes), so I recommend you update if you are using it.

1 Like

This is amazing

1 Like

thank you but no it’s not

Greetings from one year later! I’ve updated the documentation in this post to have clearer names for some instruments and include the base note of each sample. Some samples have higher or lower frequencies than what you would expect, meaning they are meant for lower/higher notes, respectively (this is why instrument 50 sounds terrible if it plays anything other than a very low note, and 43 is inaudible if it’s not playing a high note). If you stick to instruments that have base notes closest to whatever music they’re playing, your music will sound a lot better; straying too far from these base notes is what makes certain instruments sound so ear-destroyingly shrill when they play high notes.

7 Likes