Lokai

Moderator
Hello ServUO,

Been working in Fiddler, getting items, gumps, animations, tiledata, etc. all working in my Client and Server environment.

However, I have run into a snag getting Sound to work. I have UOFiddler importing sound into the next available slots, at 0x684 (1668) and 0x685 (1669) and they play in Fiddler fine, but when I go in game the sounds do not play. I can play the sound before them, at 0x683 (although I have to use sound ID 0x682 in game) but I just can't get my custom sounds to play in the game.

I have saved them as Single-channel audio files, WAV format, at 22k Hz or whatever it was. I am not sure what else to try. Is there a reliable program (I have tried Audacity and VLC media player) that someone has successfully used to export audio and import it into UO?

Thanks,

Lokai
 
Even after those years, there was perhaps no person who could solve the sounds in the UO. This is the hardest job in the whole game. I remember that it must have the exact data values that the client uses. But what, I don't know. I think it would be good to use a better professional program for creating sounds, such as adobe audio or a recording professional program for radio studios or similar. This will be a problem. It will not be simple. Not many people have experience with this. My fellow sound engineer used to do it, but he also couldn't figure it out.
 
If you export existing sound from uo files and import it on that slot does it work? Which version of UOFiddler are you using?
 
If you export existing sound from uo files and import it on that slot does it work? Which version of UOFiddler are you using?

This was a good suggestion. When I exported a sound and imported it back directly into a free slot, it does not play at all either.

I am using 4.9.7
 
Well it looks like the client itself somehow limits max sound id. But I don't know how it's doing this. Replacing sounds works just fine. But for any client version nothing can be added past it's max current sound id (for version 6.x it's 0x5D0, for v7.0.15 it's 0x669 and for more recent clients it's 0x683).

Maybe someone with some reverse engineering skills can help with this.

Sound.mul entry format is kinda simple. It's 40 bytes of header I think it's ~36 bytes for file name or even all is for the name and then there is data for wav. The RIFF/WAV header needs to be added by hand if you want to play the sound. And as usual with indexed muls the idx points to where entry starts and how long it is.

I've found few minor issues with how Fiddler is currently saving the sounds but this does not change anything. After patching those sounds still can't be played by client if the id is greater than current max id.

wav files needs to be: PCM 16bit 22 050 kHz mono
 
Last edited:
After patching those sounds still can't be played by client if the id is greater than current max id.

This is not precisely true. I was unable to play a sound I had imported even though I had inserted it into an empty spot within the range of current sounds. I did NOT however try replacing an existing sound.
 
Back