Tree of Savior Forum

[Suggestion] Custom Music Options

So this has been in my mind for a while =o but I would like to suggest a way to sort of customize what music is played.

I mean, I do love the music in-game but I would like to change what I am listening to at certain moments on a whim.
I think a optimal way to implement it is by using both methods…

The players can use a in-game command to tell the client to ‘play this bgm until map change or until I say so’
Ex. command ‘/music 01’ … assuming the players have the file names organized with ‘01 - [name of music]’
That would tell the client to play the music for the map’s duration or until /music default(or somethin) tells the client to return to default.

The players can edit a txt/xml file that tells the client to ‘play this music instead of default’
Ex. On a line of code it could be like… ‘tos_SoundTeMP_Evil_All_Around - 23 Ys Seven An Assault’
This will tell the client that instead of playing ‘tos_SoundTeMP_Evil_All_Around’ it would then play the other music instead.

… maybe try to see if there is a way to make it loop xD similar to A-B Repeat

2 Likes

Hey there, little Ice-Kino Yulia :wink:

I never tried it but I’m pretty sure you can just play around with the files in your release folder - such as in, replacing the song you dont like with a song you’d prefer by naming the new song like the old one.

It will pretty much play the new one then instead xD

Isn’t muting the bgm and playing your selected music much easier

Well, there is the factor of pressing escape to bring up the system menu and then manually muting the game’s music and turning it back up after a while.
As well as alt tabbing to the music player/files and play it.

It would also make it easier to use custom BGM along side with ToS without having to mess with the bgm folder.

Sure it may be a lot of work to manually input code, But it would open a option and maybe have users create a bgm theme for their ToS experience.

I often come across MMO players that used to overwrite files of the bgm folder… so yeah xD

1 Like

This seems like a good idea!
Since the game is utilizing customizable .xml files then might as well have a something like a music.xml where you could input entries for an in-game music selector with a UI or something like that.

Entries would likewise include a Name=“samplemusic” and a Directory=“C:/Music/samplemusic.wav” or Directory=“C:/Music/samplemusic.mp3” or Directory=“C:/Music/samplemusic.flac” (I do hope .flac files would be supported if this gets implemented because lossless music is :heart_decoration: ) etc.

And that’s pretty much what’s needed for this possible implementation :+1:

Hmm, probably don’t need to go with the directories like that… make it simple with a custom folder and have the music.xml default to that directory… maybe like “./custombgm/music.mp3”

That way if people may wanna share it they could and not worry about specific directories not being present… given all music is freely to be used. I am sure there will be little issues of touhou music being used as a custom bgm theme for example.

Welp seems like I’m not used to the simple approach anymore so my bad xD

But yeah that approach seems like the easiest way to go at it which is just piling up all the music in one folder for simplicity :+1:

Eh, don’t be sorry much xD
I think it’s good to have a view point of complex and simple approaches.

I mean, thinking of complexity… what if people can make a custom codec for other special audio formats such as PSF2?
Then it may expand to having a built-in music player for ToS and with a custom playlist for each area/boss 0_0;

1 Like

That would be amazing if there would be in the future cause I’m gonna partially cry if ToS can’t read my lovely .flac collection D:

<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by imc (imc) --> <PlayList> <BGM PlayListName="Login_Barrack" Volume="90" FileName1="tos_Tree_of_Savior.mp3"/> <BGM PlayListName="test_zone" Volume="90" FileName1="tos_Tree_of_Savior.mp3"/> <BGM PlayListName="f_siauliai" Volume="90" FileName1="tos_Questrosound_First_Step.mp3" FileName2="tos_SFA_The_Dignity_of_Wrath.mp3" FileName3="tos_SFA_Fiesta_bloom.mp3" FileName4="tos_SFA_In_My_Dreams.mp3"/> <BGM PlayListName="f_siauliai_out" Volume="90" FileName1="tos_SFA_Due_Solo.mp3" FileName2="tos_Kevin_Charty_of_fire.mp3"/> <BGM PlayListName="d_crystal_mine" Volume="90" FileName1="tos_ESTi_Amusement.mp3" FileName2="tos_Symphonix_burning_groove.mp3" FileName3="tos_Symphonix_Dawn_To_Dusk.mp3"/> <BGM PlayListName="f_gele" Volume="90" FileName1="tos_Questrosound_3rd_Wave.mp3" FileName2="tos_SoundTeMP_Nu_Motion.mp3" FileName3="tos_SFA_Hommage_to_zborovye.mp3" FileName4="tos_SFA_Nagon_Kontakta.mp3"/> <BGM PlayListName="d_cathedral_1" Volume="90" FileName1="tos_SoundTeMP_Omerta.mp3" FileName2="tos_SoundTeMP_Angelus.mp3" FileName3="tos_SoundTeMP_Bonjour_Tristesse.mp3" FileName4="tos_Symphonix_you_as_well.mp3"/> <BGM PlayListName="f_7coloredvalley" Volume="90" FileName1="tos_SoundTeMP_Cerulean_Wind.mp3" FileName2="tos_SFA_Milden_Miles.mp3" FileName3="tos_Kevin_Dream_of_Gold.mp3" FileName4="tos_SoundTeMP_Boy's_Anthem.mp3"/> <BGM PlayListName="d_thorn" Volume="90" FileName1="tos_SFA_D_Lejano.mp3" FileName2="tos_Questrosound_Rain_Maker.mp3" FileName3="tos_SFA_Pas_le_Leste.mp3" FileName4="tos_Symphonix_floating_mirror.mp3"/> <BGM PlayListName="f_rokas_1" Volume="90" FileName1="tos_Questrosound_Titan_Flame.mp3" FileName2="tos_Questrosound_Forest_Shadows.mp3" FileName3="tos_SFA_Bodacious_definition.mp3" FileName4="tos_SFA_Amicably.mp3"/> <BGM PlayListName="f_rokas_2" Volume="90" FileName1="tos_Questrosound_Ghost_Riders.mp3" FileName2="tos_SFA_Outcry.mp3" FileName3="tos_SFA_Virtue_and_Vice.mp3" FileName4="tos_SoundTeMP_Heavenly_Hell.mp3"/> <BGM PlayListName="d_zachariel" Volume="90" FileName1="tos_SFA_etnica.mp3" FileName2="tos_SFA_Raging_Trigger.mp3" FileName3="tos_Symphonix_funky_hostage.mp3" FileName4="tos_Symphonix_ping_pong.mp3"/> <BGM PlayListName="f_remains" Volume="90" FileName1="tos_SFA_Voidance.mp3" FileName2="tos_Questrosound_To_the_Higher_Sky.mp3" FileName3="tos_SFA_La_Patria.mp3" FileName4="tos_SFA_Eye_on_Conflict.mp3"/> <BGM PlayListName="d_firetower" Volume="90" FileName1="tos_Questrosound_Sunset_Tracer.mp3" FileName2="tos_Symphonix_smooth_vibes.mp3" FileName3="tos_Symphonix_rhythm_in_motion.mp3" FileName4="tos_SoundTeMP_Red_and_the_Blue.mp3"/> <BGM PlayListName="f_katyn" Volume="90" FileName1="tos_SFA_Eclipsed_Road.mp3" FileName2="tos_SFA_Xanadu.mp3" FileName3="tos_SFA_Chariots_of_fire.mp3" FileName4="tos_SFA_Wild_Violet.mp3"/> <BGM PlayListName="f_pilgrimroad" Volume="90" FileName1="tos_Questrosound_Knightage.mp3" FileName2="tos_SFA_Viento.mp3" FileName3="tos_SFA_Obebodd_Dans.mp3" FileName4="tos_SFA_The_Die_is_Cast.mp3"/> <BGM PlayListName="d_cathedral_2" Volume="90" FileName1="tos_SFA_Pristinee.mp3" FileName2="tos_SFA_Eleminuete.mp3" FileName3="tos_SoundTeMP_Topaz.mp3"/> <BGM PlayListName="f_stonecursed" Volume="90" FileName1="tos_SFA_Journey_In_Heaven.mp3" FileName2="tos_SoundTeMP_Rondo_of_Tedium.mp3" FileName3="tos_SoundTeMP_Evil_Blood.mp3" FileName4="tos_Symphonix_Ask_For_Permission.mp3"/> <BGM PlayListName="p_cathedral" Volume="90" FileName1="tos_SFA_November_Rain.mp3"/> <BGM PlayListName="c_Klaipe" Volume="90" FileName1="tos_SFA_Triste.mp3"/> <BGM PlayListName="c_fedimian" Volume="90" FileName1="tos_SoundTeMP_Rebirth.mp3" FileName2="tos_SoundTeMP_World_is_Missing_You.mp3"/> <BGM PlayListName="m_boss_a" Volume="100" FileName1="tos_Symphonix_Dawn_To_Dusk.mp3"/> <BGM PlayListName="m_boss_b" Volume="120" FileName1="tos_SFA_Wings_of_courage.mp3"/> <BGM PlayListName="m_boss_c" Volume="140" FileName1="tos_SoundTeMP_Evil_All_Around.mp3"/> <BGM PlayListName="m_boss_d" Volume="140" FileName1="tos_SoundTeMP_Woman_Peeling_Potatoes.mp3"/> <BGM PlayListName="m_boss_scenario" Volume="130" FileName1="tos_SFA_O_Deive.mp3"/> <BGM PlayListName="boss_field" Volume="120" FileName1="tos_SFA_All_of_fury.mp3"/> <BGM PlayListName="mission_1" Volume="90" FileName1="tos_Symphonix_music_prostitute.mp3" FileName2="tos_Symphonix_resting_voltage.mp3"/> <BGM PlayListName="d_velniasprison" Volume="90" FileName1="tos_SFA_Tori_March.mp3" FileName2="tos_SoundTeMP_Judas_Inferno.mp3" FileName3="tos_SoundTeMP_Reborn_Devilizer.mp3" FileName4="tos_Chronos_Tetra_Window_Room.mp3"/> <BGM PlayListName="f_farm" Volume="90" FileName1="tos_Questrosound_Moonlight_Walk.mp3" FileName2="tos_SFA_Pintura_Cueva.mp3" FileName3="tos_SFA_Night_Paradise.mp3"/> <BGM PlayListName="d_free" Volume="90" FileName1="tos_Symphonix_Dirty_Minds.mp3" FileName2="tos_Symphonix_Feel_Free.mp3"/> <BGM PlayListName="d_abbey" Volume="90" FileName1="tos_SoundTeMP_Red_and_the_Sun.mp3" FileName2="tos_SoundTeMP_The_Fall_of_the_Rebel_Angels.mp3" FileName3="tos_SFA_Victoria_Chanter.mp3" FileName4="tos_SoundTeMP_The_Satanic_Verses.mp3"/> <BGM PlayListName="d_catacomb" Volume="90" FileName1="tos_SFA_Divine_Destiny.mp3" FileName2="tos_SoundTeMP_One_Hundred_Years_of_Solitude.mp3" FileName3="tos_SoundTeMP_Dope_and_Baroque.mp3"/> <BGM PlayListName="c_detectiveagency" Volume="90" FileName1="tos_SoundTeMP_Village_School.mp3"/> <BGM PlayListName="m_teambattle" Volume="90" FileName1="tos_Symphonix_You_as_well.mp3"/> <BGM PlayListName="track" Volume="90" FileName1="track.mp3"/> </PlayList>
I wish they opened this .xml to public access…

1 Like

Now that’s what I’m talking about :sunglasses:

Though at this current stage, I doubt the client could play .flac files oh well xD

@nizidr

… Well hahaha xD I did not see that xml.

How would I code that to make the client look into a previous/different directory? So I can make a custom folder for it.

just use full path for filenames maybe?

Hmm, maybe xD either way. What filename do I need to put to the release folder? Or rather… how do I access it?
Just make a music.xml and go from there?

nope, that is internal .xml inside one of .ipf packs. If you modify it client will redownload whole .ipf upon start - hence my “wish”.
It also doesnt allow to switch tracks “on fly”.

xD internal I see. well so much for that plan. Thanks for showing this.

When I played Cabal, the game had an option to select musics named jukebox… you just press an hotkey to open this jukebox menu and select your music.
Jukebox: