Ultima Online ambient sounds

Discussion in 'Server & Client Support' started by Saphireena, Sep 22, 2018.

  1. Saphireena

    Saphireena Member

    Joined:
    Jul 11, 2017
    Messages:
    17
    Likes Received:
    35
    Now returning to UO after many many years as I've joined your lovely server, I immediately noticed that some ambient sounds are missing. The most noticeable one for me, is that there are no jungle sounds. At first I thought this was a feature (or bug) of either this server or of Razor, however when searching through UO videos on YouTube I quickly realized that they are missing from UO in general. Regardless of what server, what client. I had to go back back back to a video from 2011 to find them!



    Anyone remember that? Wonderful, absolutely wonderful and so relaxing. I always loved building houses in the jungles for that sound alone.

    So I thought I would make a suggestion here to see whether we could get these restored for at least the UOR shard. Surely the files are in there somewhere.
    Andrakus, JimmyTheHand and Ahirman like this.
  2. PaddyOBrien

    PaddyOBrien Well-Known Member

    Joined:
    Aug 12, 2014
    Messages:
    3,250
    Likes Received:
    4,470
    I just looked in the Ultima Online\ music folder... there is a "jungle_a.mp3" file in it. Seems like I remember back in the day you could wander into the forest and there would be other mp3s that would play. Maybe some of it is hardcoded... but yes it would be awesome to get them restored. I wonder if anyone else knows if and how some of these others are triggered in game?
    JimmyTheHand, Ahirman and Saphireena like this.
  3. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    One of many things I've been planning on taking a closer look at.
    I also hate the fact that music seems to just loop, you can interrupt it by going in to warmode, but it was definitely dynamic based on location. Enter a town and music begins, enter a section of forest or jungle, or a specific dungeon and different tracks would cycle.

    The ambient, yeah... I will just blanket blame when they 'remastered' the music as the fault :p surely not a freeshard community error!
    Original MIDI's are still better. Even just converted from MIDI to MP3 affects how they sound (although I'm no master audio engineer).
    Unfortunately the client (at least the one we use here) requires mp3 format, as far as I know.

    I might bump the audio investigation up my list and take a look and see what I can rustle up.
    PaddyOBrien and Saphireena like this.
  4. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    Ah yes... Sound.def and Music.def files.

    Someone please check their UO directory for Music.def and see if it has anything more than the following content:

    0 {0} 0

    Sound.def also looks strange, massive portions have a -1 value.
    I think I remember though that, music at least, can or is always directed by the server based on the region you're in. Which, at least for me is the case, doesn't recognize a change.

    I'm interested to learn of a non-empty Music.def file, google-fu has thus far failed me.
    PaddyOBrien and Saphireena like this.
  5. Saphireena

    Saphireena Member

    Joined:
    Jul 11, 2017
    Messages:
    17
    Likes Received:
    35
    Thank you guys! I'm glad to see I'm not the only one who finds the audio experience of the game important! It really does feel like they've just turned off all the environmental sounds and only left the animals to chirp or whinny instead. So strange!
    PaddyOBrien likes this.
  6. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462
    Saphireena, are you the same from andrea.net and Wurm UO recaretion?

    I really would like to have music playing fine, UO music is a masterpiece.

    @JimmyTheHand My music.def contains the same as yours, I'm not sure how music is handled at client 5.0.8.3, newer clients also has an additional config.txt file inside Music/Digital folder, I think it is something like an index, looks like this:

    Code:
    0 turfin,loop
    1 turfin,loop
    2 turfin,loop
    3 turfin,loop
    4 turfin,loop
    5 turfin,loop
    6 turfin,loop
    7 turfin,loop
    8 stones1
    9 britainpos,lop
    10 britain1
    11 bucsden,loop
    12 jhelom
    13 lbc
    14 linelle
    15 newmagincia,loop
    16 minocpos,loop
    17 valoriapos,loop
    18 ambrosia,loop
    19 stones
    20 scarabreapos,loop
    21 trinsicpos,loop
    22 vesper1
    23 yew1
    ..........

    I'll investigate a bit, also I have another question, who triggers the music? server o client?

    If the client determines the music to play by zone, ok... something we can fix, if it is handled server side and a packet is sent to the client to make it play a particular song, we will need to bother Chris.


    EDIT: Looks like a server side file named Regions.xml determines the music to play, kinda, by a number... it depends on your client .mp3 files or config.txt but our client is a bit older and it does not have that config.txt files so I still dunno how it works.
    Last edited: Sep 25, 2018
    JimmyTheHand and PaddyOBrien like this.
  7. Saphireena

    Saphireena Member

    Joined:
    Jul 11, 2017
    Messages:
    17
    Likes Received:
    35
    Hey there Buga, yep that's me!

    And just in case there was any misunderstanding, what I'm asking about in the original post is about why the ambient "environment" jungle (and other) sounds are not playing. So for instance in the jungle areas you're supposed to hear this kind of sound with the frogs croaking etc. (like you can hear in the video I embedded)

    Now when you go to the jungle it's just really silent.
    JimmyTheHand likes this.
  8. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462
    Wow, nice to have you around, you do amazing artworks, I read your UO related posts, it's a pitty that you weren't hired by UO team back then!

    Yes, I understand what you mean, it also happens in some towns, no music at all, but looks like it is handled server side, I'll keep investigating a bit then we can ask Chris, I'm sure he can explain this.

    Cheers!
    PaddyOBrien likes this.
  9. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    @Buga Yeah. I've learned most of this as well. Thanks for the insights :)

    I'll get around to some more investigations... ambient audio tracks though, I can't even find any...
  10. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462
    I did a bit more research about this, I found the file name for jungle background, well or maybe City at Night background.

    Citynightedit.mp3

    BUT it is not in the UORenaissance install package, I found it in the latest client install, not sure what era that background music belongs to.

    You can listen it here:

    So how can we check if this was from Renaissance era? maybe installing a clean copy from that expansion... I will try to get one.
  11. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462
    Well, I installed a clean .iso from Renaissance era.

    Source: https://mirror.ashkantra.de/joinuo/Clients/1.26.4i (UOR)/UOR_US_1407907.iso

    Client version 1.26.4i.

    I picked this version because I found it online to download and seems that it is the exact patch number that Renaissance expansion files were included.

    http://www.uoguide.com/Client_Patch_1.26.4i

    Conclusions:

    1) The music folder contains .mid audio files instead of .mp3 as our UOR package has, does not sound exactly as the old midis but the music is the same.
    2) There is no Jungle music background or "Citynightedit" in this era, at least not present in this specific patch.

    I already sent a message to Chris about this and he agreed to take a look after hallowen event, so I think that the solution will be review the regions.xml file server side and check that client plays music accordingly. There are music files for Lord British Castle, Lord Blackthorn Castle, Tarverns.. etc. that I never heard here, I hope we can bring back those tracks :)


    Another find was a great work made by @Grimoric to bring back uopatch to work "offline"

    PaddyOBrien, JimmyTheHand and Ahirman like this.
  12. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    @Buga I think we are now both up to the same point in research.

    The old MIDIs are great. Far superior imo to the revamped and madtered versions.

    I thought I posted this, guess I didnt...
    Im almost convinced there are no tracks, they're "mixed" per region.
    It cant be tested, but I bet you theyre different each time in some way.

    A little RNG on an array of sound files dependant on region.

    The Sound.def has numerous refs with a return of -1, which is either null or default.
    Without access to the client source its basically impossible to know how it was done.
    However! Sound and Music is something that Ive tinkered with already in one of the many app/addon/items/features intended for inclusion in the as yet unannounced "Jimmy's Toolkit" package(s) (coming to a UO:R near you, Soon™)

    I think what actually may be happening is that the audio player in our client (also probably why mac audio is stuffed) steals the thread when playing the mp3s. Which results in superdeath of course. This can be shown as I predicted and quick experienced when simply sending the play music command to the client.

    So... if my hunch is correct, theres some things on the table:

    1. Determine if we can do this inside the client.
    1a. If yes, proceed to 3.
    2. If no, get on Jimmy's back to finish up JTKUltimateAudio (titles are pending real thought) or other solution.
    3. Spend time watching videos of old clients, reading uo content/lore/stuff, spend time in game/databases noting pertinent wildlife and ambient audio sources.
    4. Look at the regions in game add applicable entries to a little table/db to build a soundboard/mixtape for each region.

    Should I make up something to help with this? Some public write only access db we can dump in to and peer review?

    Please give thoughts on any and all of this :)
    PaddyOBrien likes this.
  13. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    Here are the earliest I've found for MIDI files, they're all amazing tbh.
    (Includes JungleA, no CityNight though)

    UO MIDI's

    For immediate epic nostalgia I recommend:

    BRITAIN1
    BRITAIN2

    followed by two of my all time favourites;

    STONES2
    YEW

    Here are MP3 versions of them, they're not as good. Although they're not the crap kids today are listening to, that's for sure!

    UO MP3's of MIDI's
    PaddyOBrien likes this.
  14. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462

    Ok, they could be mixed in some way by region, that's fine.

    Do you know when Sounds.def was included? in the Client_Patch_1.26.4i install that I did there was no Sounds.def, so not sure if "-1" content means something for us, at least for the files that we want to reproduce, it seems that Midi "playlist" was hardcoded in the client.exe. (Will research about this further... someone may already reversed that part)

    About the audio player in our client, it was modified to play "the hardcoded playlist list" of midi files, but instead of midi reproduce mp3 files, this was done to prevent crashing trying to play midi files since windows started to have issues after XP IIRC. (if you google a bit will find this) Maybe related with the MAC issue?

    So I think that client side is ok, we don't need to fix anything, it works as it worked back before with midi files, it was just modified to play mp3 using the same old method, not making use of config.txt, or newer music management.

    Thanks for your input and would like to know more about the Jimmy's Toolkit :)
  15. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    I'm not speculating on the -1, that is persistent through RunUO as well as Razor and the UltimaSDK.
    Example:

    Code:
    public static Packet GetInstance( MusicName name )
            {
                if ( name == MusicName.Invalid )
                    return InvalidInstance;
    Note MusicName.Invalid

    When we look at what that enumerable value equates to:

    Code:
    public enum MusicName
        {
            Invalid = -1,
            OldUlt01 = 0,
    Which means masses of the Sound.def file have a return value of invalid.
    It could be a problem, it could be intended due to the version we have and this .def being shared amongst many versions. Not sure on that.

    Keep in mind we aren't running the old client as was built by OSI, nor are we playing on their servers. It's the server that informs us what to play, that file is a reference for the client. The same goes for sound, there are packets from the server that dictate:

    soundID, flags, volume, position to play from.

    This is why the idea of a client side fix is viable, we don't run the server, as well as this is just one server (an extremely excellent and highly customized one).
    I'm not opposed to fixing it just here - but I think there'll be more to it, RunUO has been around a long while, the issue remains.

    Also, patch reference from:
    http://www.uoguide.com/Client_Patch_5.0.1d

    Client Patch 5.0.1d

    This patch was for the Classic and Third Dawn Clients.

    Patch Notes
    Today, October 24th, 2005 at 2:00PM PDT (9:00PM GMT), we will deploy client patch 5.0.1d.

    • Ambient jungle sounds no longer persist when you leave the jungle
  16. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    683
    Likes Received:
    462
    Nice we have something more to check! But.. I'm not understanding your point, this code is part of RunUO, that's fine, and it is related to packet
    0x6D who tells the client which music to play. This is working now, maybe not perfect, because the random that you said and some tracks not playing at all.

    BUT I still don't get why you ensure that sounds.def is important, please try to explain :D

    Yes I agree,I know that our client is way newer that the era we are trying to reproduce, but it is needed because compatibility, performance, estability etc..

    But I feel that we need to understand first what is server sending to our client, then we can fix client side to play correct files.

    So I think that is best to ask Chris, once we have feedback we can work client side, maybe it is just a bug at RunUO server code, as you said this remained for a long time.

    I'm sorry if I misunderstood something.

    Cheers

    PS: I will research a bit more about packet 0x6D, is the same packet for different versions? midi / mp3? (always talking about OSI) This may give me a clue...
  17. PaddyOBrien

    PaddyOBrien Well-Known Member

    Joined:
    Aug 12, 2014
    Messages:
    3,250
    Likes Received:
    4,470
    It would be very awesome to get the music functional as it used to be again!
  18. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    No, not really at all hehe. Currently music simply loops through the list. Maybe it's different for you? It definitely isn't working as it should be.

    Sound.def seems important; why? Well, the server tells our client to play sounds. Constantly.
    If the server sends a packet and we have an invalid reference for it, it of course will play nothing.


    Yep.
    It's sending a packet with an ID :) Actually there's even a check to see if our client can see it nor not. Which leads me to...

    It is possible that the ambient sounds are triggered from (invisible, thus can't see) objects, which I don't believe any of which exist in RunUO, I checked (half assed check tbh) and there's no such code supporting it. But it could be quite possible that there are 'spawners' for lack of a better word, that used to trigger a random audio file to play.


    *nods* He's a busy man though, the more accurate information we can gather together and provide, the better. I'll do a few tests on a local RunUO server and see if I can produce something useful.
    I need to reiterate though, there doesn't appear to be ANY code that EVER triggers a sound as ambient in the wild. The music? That's there, but we know that's broken. Probably, but not certain to be, related to the empty Music.def file.

    I'm not sure on if there is a difference in packets for midi / mp3, I doubt it, there should be no reason for that packet to have changed. The reference wouldn't need to be different, and that's what points to the file. Packet 0x6D actually seems to send a short value, which is the name of the file. So, perhaps the .def means nothing, but no, mp3/midi, wouldn't make a difference I don't believe, as long as the filename was the same.

    For your own reference:

    PlaySound : Packet
    Has a base type of 0x54

    I think all this packet talk is useless though as there's no references anywhere in any code that plays sounds in the manner of ambient audio. (and we know it isn't a music file).
    Probably the solution will be to fix client side references for both music and sound.
    Then see if either code can be added to region enter/exist/leave to trigger the ambient random selection, or if we're looking at spawner type items in the game that trigger on player proximity.

    I might just write some code and see if it works out, I hate theorizing over and over, Rapid Prototyping = results! Theoretical Devs = overpaid and slow! Pah! :p hehe
  19. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    I agree, I'd love to have the music playing properly. The looping from directory top to bottom is annoying as hell.
    I want to enter Britain and have it fire up with the right track!

    I do NOT want to be strolling through the forest on a lovely day in Yew, enjoying picking flowers and dancing through the scattering sunlight as it peeks through the canopy, only, to have the aggressive combat music begin and scare the crap out of me! :p
    PaddyOBrien likes this.
  20. Baler

    Baler Well-Known Member

    Joined:
    Nov 15, 2015
    Messages:
    718
    Likes Received:
    564
    All the ambient sound effects can be found with UOFiddler under the Sounds tab.
    The runuo devs never gave a shit about implementing 100% sound support.

    If it were implemented on UO:R they'd be the only emu shard with this feature.

    ps. most of them as mentioned are "annoying as hell". :p

Share This Page