You need :
Sm4shexplorer and a sm4sh dump on your pc (obviously)
Your voice mod
How to have one sfx mod for a single costume
1st - in the folder you put the files you need , make a copy paste of your voice mod , it should look like this : snd_vc_Mario_cXX and snd_vc_Mario .
2nd - Open HxD and drag-n-drop these 2 files (i picked mario as an example , if the voice is for dk , it should be donkey instead of mario) onto the hex editor , you should now have a messy pile of numbers in left and in the right.
3rd - Ignore the left pile and search for GRP 17 in the right pile , we need to care of the 4 characters before this ( ,...GRP 17) underline these , open notepad and note these number in backwards order and with a 0x behind it (mario as an example , from 71170000 to 0x00007117)
4th - After you wrote in your notepad the hex value (0x00007117 as an ex.) , you should go to the snd_vc_(yourchar)_cXX and go for the same numbers of the last step ( ,...GRP 17) but we need to change the last number of this list so the game picks the SFX we inserted instead of the vanilla voice / mute voice. (same example , 0x00007117 to 0x0C007117) and make sure you save the changes.
5th - open MTB Editor (make sure you put the fightermodelbanktable.mtb file and your voice mod) and, when it opens , tap the number 10 , after that , drag and drop your voice mod and put the same address as the one you modified before (0x0C007117 as an example) .
6th - tap the number 5 for add the entry , name it ( it's recommended that you put your char's name for be sure you remember it next time you make something. then it needs the default internal ID , put the unmoddified one (ex. 0x00007117 and not 0x0C007117) and after that , it wants a number between 1 to 4 , you only need to care to put 2 because it's a voice mod . and then , the most confusing part , the assigning voices part , when MTB editor says "number of internal ids" put the number of alts your char has - 1 , because if forget to make that , MTB Editor thinks you have X + 1 costumes (as an example , if the char you want to add a voice mod has 24 alts , put 23) and then , it shows you some numbers , but you must to pay attention (again) because this number is the alt's number - 1 (so if MTB Editor says 6 , it means c07 or if it says 14 , it means c15) , after that , it will redirect to the MTB Editor's main menu , and you must tap number 9 to save, then close it.
7th - rename the snd_vc_(yourchar)_cXX to snd_vc_(yourchar)_c(costume slot is going to replace) , open sm4sh explorer and add the file on your char's sound folder and the fightermodelbanktable.mtb in the sound>config folder so the game can play these sounds.
8th - build the mod and enjoy
How to add 1 voice mod to multiple slots
Almost the same process , but you must put the modded address into all the slots you want to have that voice and then copy-paste the snd_vc_(yourchar)_cXX so you can put them over the slots you want to have that voice (as an example , i want slots c08 and c09 having the voice mod , so it would be snd_vc_(yourchar)_c08 and snd_vc_(yourchar)_c09)
How to have more than a voice mod on the same char
It's almost the same , but you need to rename the other voice mods with a name that it's kinda the same (ex. snd_vc_(yourchar)_cXX , snd_vc_(yourchar)_cYY and snd_vc_(yourchar)_cZZ ) , in the hex editor , you need to put different addresses on the 4 last characters behind GRP 17 and put a letter from A to F ( fun fact : in hex , A = 10, B=11 , C = 12 , D = 13 , E = 14 and F = 15 ) so that the game doesn't mute any voice (as an ex. snd_vc_(yourchar)_cXX = 0x0C007117 , snd_vc_(yourchar)_cYY = 0x0D007117 and snd_vc_(yourchar)_cZZ = 0x0B007117) and in MTB Editor, you must tap the number 10 as many times as more voice slots you have ( 10 = changing ID from nus3bank ) and add these "new" addresses , then , do the same as we only want one voice to one char, i'll put an ex. list below
1 - 0x0C007117
2 - 0x0D007117
3 - 0x0B007117
and so on...
You can't have one-slot SFX for these chars :
That's it , if you see anything wrong , say me.