Post Dynamic Music related stuff here.
Available at Nexusmods: https://www.nexusmods.com/morrowind/mods/53568
1 messages · Page 1 of 1 (latest)
Post Dynamic Music related stuff here.
Available at Nexusmods: https://www.nexusmods.com/morrowind/mods/53568
Version 0.13 is now available on Nexusmods, It provides options to create day/night specific music + some new options for combat music in the script configuration menu. https://www.nexusmods.com/morrowind/mods/53568
If you want to make day/night music you can use my personal files for aanthirin and ascadian isles as a reference. Night music starts at 9pm. Day music starts at 6am. Times are not hardcoded and can be configured for each soundbank individually. Download is available here: https://we.tl/t-oBpXLzjHBX
1 file sent via WeTransfer, the simplest way to send your files around the world
Any idea how far along the engine is until it allows a drag/drop function for your mod?
As soon as the native playlist feature makes a return. It already was there for a short wile in May but then was removed from the OpenMW dev build again.
how do I add combat music?
Depends on what you need exactly. If you want combat music for some specific enemies, create a new soundbank, add the enemy names to the enemyNames filter and add some combat tracks to the soundbank. There's an example soundbank in the readme where each property is explained: https://github.com/eMOElein/DynamicMusic/blob/master/README.md
Could you give a step-by-step process on how to make a new soundbank for an area like Solsteim/make a new combat soundbank for a specific foe like a named vampire....please?
You can look at the builtin region specific soundbanks for the tamriel rebuilt OST. They'll show you how to do region specific music. For enemy specific music I recommend to check the builtin 6th house enemies soundbank which shows how to enable enemy specific music for 6th house creatures. All you need to do is copy the soundbanks and and alter them for your needs.
Never worked for me for some regions, despite getting their actual region IDs
Do you have a soundbank file that should play in the regions and the lua log when entering/exiting one of these regions and music does not play but you think it should?
I don't have any of that anymore but I always followed the directions from a reply I got somewhere on your comments. Some soundbanks worked but others didn't, and soundbanks I made from scratch never did
Wish I could give you more details
Wuddup guys! So I installed all the dynamic music related mods from the open mw modding guide. Each one in it's own folder. Exactly as they come packaged.. Then a "data=" line in the cfg for each corresponding dynamic music mod. Plus the MUSE ones. Then the main dynamic music is of course toggled in the launcher. My question is... Besides the "main" dynamic music mod, do aaaaalllll those other ones require specific folder paths? Or do they get installed as is? For example, should it be:
Data files, muse mod X, muse, music,...
Or Data files, muse mod X, music
The open mw compatibility ones have the same folder structure as their parent dynamic music master mod. But all the muse ones are weird. So just wanna make sure I package em right so they work
Install everything as normal. The DM compatibility packages should automatically detect the respective MUSE files if they are installed.
So don't change any of their folder paths. Okay
How can you determine The length on a Track added I term of the mod handle the time plays in game
I don't understand your question.
If possible set the track to fully play the hole length in determining situation not count the change make by cell of combat situation?
So did I get you right? You only want a music switch to happen when the current track has finished? No music switch because of a cell change, region change, combat situation or whatsoever?
I wonder if posible to implement the hole length of a track to play in expecific situations I Know they had time configuration
At the moment you cannot force a track to play till the end when some ingame situation forces a music switch. I'll see if I can add new config options in the future where you can control what trigger (cell change, region change, etc.) forces a music switch. This should allow you to configure DM in a way that it does exactly what you want.
That would be kinda nice. If the track fully plays out. Or if engaging in combat, it'll do combat music then go back to where the non combat track previously was at beforehand
Hey there, I tried to make a mod only for Charach, a town added by Cyrodiil and I can't understand why it doesn't work. I thought maybe there's a line missing somewhere, but I simply can't find it:) Any help would be appreciated.
That's very likely because of the backslashes in your track paths. backslashes are used for escaping special characters. Try to replace the backslashes with normal slashes. OpenMW should understand these on Windos aswell. Hopefully this fixes your issue.
Thank you, that was the problem.
One last question, how can I differentiate between region and settlements within the same file? For instance, I want a song to play in Stirk Isle Region but to ignore the Charach town cell. (I tried something like this - the Charach town cell has the same id as Stirk Isle Region).
Actually it seems to work if I add a separate list for the town itself and give a bigger number to the town soundbank. Thanks for your help and your great mod!
There's the cellNamePatternsExclude filter. Unfortunately this filter is currently bugged. But you can try the prerelease: https://github.com/eMOElein/DynamicMusic/releases/tag/0.14-dev1 But if you want custom soundtrack in Carrach and overrule the regional tracks your current approach with a separate soundbank that has priority is the way to go. If two or more soundbanks are allowed to play for the current gamestate then the one that comse LAST in alphabetical order by filename has priority.
Ok, I'll try this one too. I'm fiddling with a Colovian Barrows file to see what happens. So far I was able to make custom tracks for the Stirk Isle, the Abecean Sea, Charach, and the local Temple of Kynareth. The Barrows and the Ayleids are last on the list. Along with existing files for the Mages Guild and the local taverns I can say this mod is an absolute must for immersion:)
Question
i have a bunch of music mods
when i enter this one building
it plays a track
for a few seconds
then immediately swaps to another track
every time
the music that plays initially is a non dynamic music song
then it swaps to a dynamic music song i have, how do i prevent it from changing without cell change
Can you share your logfile?
Will do
idk when though as i cant get on atm
but i will make sure to send it by tomorrow atleast
Nevermind. Discord just does not show the whole file content. I donwloaded it and will take a look.
What's the cell where the issue occurs? is the default soundbank enabled?
Can you enable it and try again? The default soundbank is for all gamestates that are not covered by any other soundbank. Things can get very messy if the music is not actively controlled through DM itself.
doesnt change the music abruptly anymore so thats good
my non dynamic music songs no longer play now
Gonna take a look st the readme
I dont really understand the soundbank stuff
I dont have any cell specific music i want to add
Just exploration and combat
How would I go about doing that
The default soundbank only covers the vanilla tracks. I know that's unfortunate but the current API state does not allow to scan for unknown tracks at runtime. Things will get better when the OpenMW playlist feature makes a return. For now you can manually add your additional non-vanilla tracks to the default soundbank.
i see a bunch of lua files in the soundbank for dynamic music
bit confused
do i just drop the mp3s in there
im not familiar with lua
You have to edit the DEFAULT.lua file. It's pretty straight forward. Theres a "tracks" element which holds the music tracks. You need to add new elements there. One for each track that you manually put in the "/music/explore" folder
{
path="Music/Explore/yourtrack.mp3",
length=12345
}
lenght is the runtime of that track in seconds
[19:44:27.506 E] Can't start L@0x1[scripts/dynamicmusic/player.lua]; Lua error: [string "scripts/omw/settings/common.lua"]:79: Group with key Settings_openmw_dynamic_music_2000_combat was already registered
Getting this error
this is after i edited the lua file
to add music
Are you just trying to get the mod working " at all ". Or are you trying to alter it in some way. Add a track to it or something
This is what I did and it seems to work from what I can tell
Get rid of the second muse folder. So it should be "MUSE mod x>music". And I loaded each mod as it's own data= line in the open mw cfg
For example, when I stepped into a dwemer ruin, the tracks deff changed to a spooky mysterious type of vibe
There was some talk in the comments of those mods that you gotta like add some "region" folder or some sh*t in there but I'm not quite sure if that's necessary. And there's a "use default soundbanks" option in the in-game pause + scripts + dynamic music menu (i believe thats what the setting is called). You leave that off
the mod works already
i was just trying to add tracks to it
one sec
yeah im confused
so i took it out of default lua as i think you just said
when into the mod that adds music
and changed the paths as well as add the path for soundbanks
the path in the mod is E:\Morrowind Modlist\mods\Payams Music Mod - Dynamic Music\scripts\DynamicMusic\soundBanks
i didnt know what to name it as i am not sure it matters
but i named it 1000_explore_music.lua
in that same mod, the path for music is the mod E:\Morrowind Modlist\mods\Payams Music Mod - Dynamic Music\music\MS\Explore
ill try changing the path for music now
ok so i changed it to music\explore
i noticed every other dynamic music compatible lua file has specific regions but i really dont want to do that
just normal explore
so i hope that lua file i posted is sufficient
gonna test it now tho
[02:00:26.818 E] L@0x1[scripts/dynamicmusic/player.lua] eventHandler[globalDataCollected] failed. Lua error: Lua error: [string "scripts/dynamicmusic/soundbanks/1000_explore_..."]:41: unfinished string near '"Music/Explore/Guild Wars II - A Land Restored.mp3,'
[02:00:26.818 E] stack traceback:
[02:00:26.818 E] [C]: in function 'loadFn'
[02:00:26.818 E] [string "..."]:15: in function 'require'
[02:00:26.818 E] [string "scripts/dynamicmusic/core/dynamicmusic.lua"]:32: in function 'collectSoundbanks'
[02:00:26.818 E] [string "scripts/dynamicmusic/core/dynamicmusic.lua"]:77: in function 'initialize'
[02:00:26.818 E] [string "scripts/dynamicmusic/player.lua"]:163: in function <[string "scripts/dynamicmusic/player.lua"]:160>
[02:00:26.818 E] [C]: in ?
getting this error
There were two trackpaths where the string was not properly closed with " Try this file.
So i have other dynamic music compatible mods
since they have the scripts in them i dont need to add them to the default soundbank right
Would ReplayGain support require some changes to the engine itself?
It's great
I have a mod that plays a custom battle song using ambient.streamMusic(), but this mod plays its own battle music over that. I checked the readme and didn't see any way to overcome this, did I just miss something?
Could I also request an option to disable all log output? Thanks!
For my purposes it's probably enough to have some kind of cell ignore list where this mod doesn't try to affect music for the given cell. But maybe there's another, better approach!
I think it would work best to add your own soundbank script that overrides the combat music in your specific cells and name it something like "5000_johnnyhostile". Soundbanks are loaded alphabetically and the last one loaded takes priority in the case of multiple soundbanks applying to the same situation.
DM cannot work reliable when it's not in full control over the game's music. As @candid orbit mentioned creating your own soundbank with a high enough priority seems to be the best solution at the moment. What exactly are you trying to achieve?
I didn't like how abruptly tracks change so I tweaked the scripts and added a setting to control the fade-out time for the previous track before a new track is played with separate controls for combat tracks and explore tracks. I find that having combat tracks do the default 1-second fade is fine, but 3-5 seconds is much nicer for explore tracks so it's not such a hard cut when entering/exiting buildings and towns and whatnot. @marsh quarry Is that a feature you'd be interested in adding and if so would you like me to make a pull request on github? I'm not a LUA master so my solution might not be the best, most performant implementation but it seems durable enough to spamming rapid fire playlist changes without breaking at least.
I am not completely sure what you mean with abrupt track changes. Is it when you change between two cells that play different soundbanks and it constantly switches tracks when you move back and forth the cell boundaries? Or do you just want the tracks slowly reducing the volume before playing the next track?
The latter, yeah. I know the former already has the delay time setting to help.
OK. Have you tried what happens when a track faded out and the next track is played? Does it play correctly to the end? There's currently no reliable way to detect when a track finishes playing. That's why DM needs to measure playback time on it's own. The fadout might screw up time measurements.
Not sure how the engine behaves here.
So the fade out is a function of ambient.streamMusic, which means it fades out the current track when a new track is requested. My solution, then, was to just subtract the fade out time setting from the length of the current track in the function that tests whether it's time to start a new track or not. If I don't do that, it seems like the track ends, a new random track begins for a few seconds, and then the actual requested track starts playing.
Unfortunately this does create an issue that I'm trying to figure out right now. When loading a savegame, the game starts playing a random music track immediately, then that fades out to the first track that the Dynamic Music script plays. So I need to somehow make sure that fade out time is always zero for the first music track played after the script initializes.
What you are doing is basically changing the actual configuration of the soundbank. Setting a tarcklenght for a track that it does not actually have.
Could lead to the unintended behaviour you are experiencing.
You can send you PR if you want. When I have some time I'll do some testing how this fadeout stuff works under the hood and how the engine behaves. Surely there is a way to make this work in a reliable way.
I'll just test my implementation in regular gameplay over the next couple days and see if anything else weird comes up
What exactly are you trying to achieve?
Thanks for your responses! When certain hostile NPCs appear, I want to play "boss music".
I don't know if a soundbank will work for me given that; I only want my special music to play while the player is fighting these NPCs
Is it possible to use a soundbank to say "don't let Dynamic Music affect music in this cell"?
You can actually do exactly that in a soundbank
Just use the enemyNames = {} filter and give the names of your NPCs, then provide a list of specific tracks to play when fighting them.
would it be possible for DM to send an event when it changes tracks? i'd like to silence background music during performances in my bard mod, but dynamic music can change tracks during the silence clip and the lua api doesn't have any way of detecting that; would be really helpful so i could just restart the clip on a dm track change instead of spamming the log restarting it every 5 seconds. not sure if any of the soundbank methods above would work for this use case as performances can happen pretty much anywhere
Would it help if you could temporarily disable DM completely? I think I saw documentation how to provide interfaces for other lua mods so this should be doable. But you'd have to activate it again when your silent tracks no longer need to be played.
yes, that should work!
Any advice on optimizing soundbanks? I'm making some soundbanks for caves, ruins, etc. but because of how those cells are named (and because I'm including TR) I have some cellNamePatterns filters that are well over 100 lines.
This seems to manifest in the game freezing for a few hundred milliseconds on load, presumably as it does some processing of all this data. It's not a huge problem since as far as I can tell everything is smooth after that, but it's definitely noticeable.
Thanks for this, I'll try that!
There's an initialization for each soundbank that fills some lookup tables with the allowed cells for each soundbank so we don't need to rerun every check whenever the current cell changes. Unfortunately that means that every possible check is done once for each cell and soundbank on startup. With bigger modlists and a large amount of soundbanks this gets quite noticeable as it seems.
I'll see if the initialization can be done in batches. Will take a few frames till DM is finally active in the game but I guess that's negligible.
Hmm, actually it might be better for me to just set this up by making all interiors use the "dungeon" soundbank by default and then defining a soundbank just for the areas that I don't want it in. I think that's going to be a much shorter list.
By the way, I noticed some of your included soundbanks have a cellNamePatternsExclude filter in them but as far as I can tell it doesn't do anything. Is that just an old feature that was removed?
Was broken but should work again since version 0.14. If it's still not working then I did a crappy job during testing.
Alright, maybe I just fucked up then, I'll double check
I found a little issue, it seems that dead enemies can have health greater than zero. If an enemy dies while under the effects of drain health it seems to get the health back after the effect ends (when it dies) so the music gets stuck in combat mode until you leave the cell or otherwise unload the actors. Maybe the script could check Actor.isDeathFinished or something instead of Actor.stats.dynamic.health?
Does the new release fix the issue for you? https://github.com/eMOElein/DynamicMusic/releases/tag/0.14.2
Yep, that did the trick, thanks! I still can't seem to get cellNamePatternsExclude to work though. Maybe I'm misunderstanding how the filters work. Here's a stripped-down test soundbank. As I understand it, this should be a soundbank that plays in every interior except for interior cells with "Gnisis" in the name (such as "Gnisis, Madach Tradehouse"), but it plays there anyway.
I checked the coding and it currently only works in combination with cellNames and cellNamePatterns to further reduce the list of allowed cells. I'll check what needs to be changed so that it behaves the way you expected it to work.
Ohhh, okay I see. Well you don't need to change it on my account if it's too much hassle, there's still other ways I can approach the problem for the soundbanks I'm making
Where do I put the project cyrodil music file to get it to work with dynamic music? I added the sound banks to the sound bank channel but I’m not really sure where to put the soundtrack itself
Do I add the songs to the morrowind folder individually?
here?
Think I might have figured it out I’ll update if it doesn’t work ^_^
I can’t get it to work not sure why
I put the sound banks in the dynamic music sound banks, and made sure they aligned with the folders in which they were in. It still only plays vanilla music as far as I can tell though. tamriel rebuilt soundtrack does work, so im not sure why anvil isnt.
If you press F10 after you enter an Anvil cell you'll probably see some kind of output from dynamic music that can help you figure out what's going on. Probably either can't find the files or isn't finding the soundbank.
Thank you! They do pop up but it’s followed by “no tracks available”
im at a loss though because the tamriel rebuilt soundtrack has the same information and works just fine
note that i am adding this to the i heart vanilla directors cut if that matters at all
Don't know, I'd just suggest double checking that your config points to the right data directory and isn't one above or below the correct directory, easy error to make
Like, you need to point it at that 00 Core folder I think, if you have 00 Core/music, it won't work
I tried editing it before but maybe I did it wrong. I’ll try it again
still didn’t work, I guess I’ll try to figure it out again later
I’ve spent way too long on this lol
but thank you for the help regardless!!
well I quickly checked again and it turned out this was the case lmao tysm
it’s working!
Just want to give HUGE shoutout and thank everyone who's worked and contributed to this mod. I'm actually crying because I'm so overwhelmed from hearing amazing Hans Zimmer level of sophisticated music in my favorite zones 😭