I haven't touched this game since 2016 and I certainly won't be reverse engineering proprietary formats (again) for a multi-million dollars company just because they've decided to pull a Bethesda and release a "new" version that breaks mods. Hey CDPR, here is a crazy idea; how about working on and releasing the devkit you'd promised 8 years ago instead of putting effort and time into a re-release of an 8 years old game that breaks community work?
Modders themselves could've made those changes with a proper devkit (see TES games), while also keeping it optional (just don't install the mod) or splitting the mod into parts (visuals, audio, gameplay, etc).
Nothing is going to come out of me. All the work (coding and reverse engineering) I did is licenseless and you are free to use/fix/expand/rewrite as you deem fit. Remember, these scripts are merely prototypes which I never got to finish. The fact that people still use them shows there is no one around with the knowledge and interest to reverse engineer bad private and proprietary systems/formats.
TL;DR: Blame CDPR for using proprietary 3rd party libraries for systems that should be obviously moddable in a mod-friendly game; also blame them for PR stunt re-releases instead of a proper modding sdk.
Despite the twat above being your typical Nexus user, I wonder if he has figured it by now that REDKit doesn't seem to support sound/music modding, probably for the exact same reason pointed out in this post, they're using Wwise, a closed-source proprietary format, and the license probably doesn't allow them to share any of that.
Does this mean it is not possible for Music Overhaul Project (MOP) to be updated despite the dev kit? The author expressed an interest in doing so but stated awhile back it cannot be done without you.
^ Apparently, other modders finally found out how to edit sound/music through REDKit. I can't comment on it as there seem to be zero documentation online on the subject and I am not going to download it just to see how it works. If that doesn't work with older releases of the game, modders can always fallback to these prototype scripts with limited functionality, but don't expect support or updates.
Hi, modding genius, I have a question for you. Where did you go?. I can't play other games after the Roach School fashion..That's not the point. Thanks for this mod. The mod is perfect, I added it a little bit and it got even better. Come back, a new mod creation tool will be available soon.
I am rather new to Witcher 3 modding. Recently I found the Geralt Doppler Reborn mod, which allows you to turn Geralt into any humanoid character, including the female ones. But by changing Geralt into a female character, hearing his rough, masculine voice kinda ruins the immersion. So I thought about replacing/overwriting all of the ~16k voice files of Geralt with female voice files (generated by xVASynth).
Now to the question: Is it possible to place modified versions of those voice files into the mods\modXYZ\content folder? If yes, in what format do they have to be? I have already extracted and converted all the files to .ogg using a tool I found in the CDPR forum, so I have a reference for my new voice files. But how does that work with soundbanks etc.? Does it even matter and I can just place my modified .cr2w/.wav files into my mods\modXYZ\content directory?
I'd be super happy, if someone more experienced than me could help me out here. Thx :3
In case you're still stuck, if the files audio files that you got are from a .bnk file, you have to rebuild the new files to a new .bnk with the same name that it came from. Then you need to pack the new .bnk into a soundspc.cache file, and that will be your final file for the mod you just need to put it in the mods folder followed by the other folders
This is the error I'm getting while rebuilding sounbank--> ?Traceback (most recent call last): File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 2725, in <module> main(len(sys.argv), sys.argv) File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 2665, in main soundbank.read() File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 1917, in read self.header = SBHeader(self.file) File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 138, in __init__ raise SBHeaderError("Invalid version") __main__.SBHeaderError: Invalid version Looks like the header in either Soundbank or the WEMs seems to be causing the issue. Looks like tweaking the tool should solve the issue, but I'm out of my depth with programming. So if anybody has any idea, please share your ideas. All the music mods are depending on this for the NextGen updates.
Have you managed to get any further with this? It seems like you're on the verge of great progress, and with the right help you might be able to fix it. I wish I could help :(
C:\Games\Witchering\batches>rebuild_soundbank.py music_nomansgrad.bnk C:\Games\Witchering\EditedMusic\382494060.wem Reading soundbank...Traceback (most recent call last): File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 2725, in <module> main(len(sys.argv), sys.argv) File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 2664, in main soundbank = Soundbank(bnk) File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 1898, in __init__ raise SoundbankError("Could not open soundbank") __main__.SoundbankError: Could not open soundbank
ok i solved both my problems, if anyone's struggling with the rebuild and the create bats :
For the rebuild, be sure to put your music_blablabla.bnk INSIDE your batches' folder and then run the rebuild_sounds.bat
For the create_sounds_cache.bat : be sure to copy your wems inside a "merged" folder, and then write its directory inside the create_sounds_cache.bat with notepad++ !
hey man i need help with the rebuild im stuck its so frustrating i ready so many guides all vague af i replaced all combat music with one song now how can i rebuild them they ar wem
where can I find voice lines? And can I also find voice lines from other languages (like polish for ecample) if I can only select german and english in my game?
In prepare_wave.py Python gives me an error that 'print' has to be 'print(...)'. Should I change it to print ("Usage: %s <FILE> [COUNT]") % (os.path.basename(argv[0])) or to print ("Usage: %s <FILE> [COUNT]" % (os.path.basename(argv[0]))) ?
77 comments
You also only need to cue (by running prepare_wave.py) for music files.
Normal SFX should not need to be cued.
Hey CDPR, here is a crazy idea; how about working on and releasing the devkit you'd promised 8 years ago instead of putting effort and time into a re-release of an 8 years old game that breaks community work?
Modders themselves could've made those changes with a proper devkit (see TES games), while also keeping it optional (just don't install the mod) or splitting the mod into parts (visuals, audio, gameplay, etc).
Nothing is going to come out of me. All the work (coding and reverse engineering) I did is licenseless and you are free to use/fix/expand/rewrite as you deem fit.
Remember, these scripts are merely prototypes which I never got to finish. The fact that people still use them shows there is no one around with the knowledge and interest to reverse engineer bad private and proprietary systems/formats.
TL;DR: Blame CDPR for using proprietary 3rd party libraries for systems that should be obviously moddable in a mod-friendly game; also blame them for PR stunt re-releases instead of a proper modding sdk.
I am rather new to Witcher 3 modding. Recently I found the Geralt Doppler Reborn mod, which allows you to turn Geralt into any humanoid character, including the female ones. But by changing Geralt into a female character, hearing his rough, masculine voice kinda ruins the immersion.
So I thought about replacing/overwriting all of the ~16k voice files of Geralt with female voice files (generated by xVASynth).
Now to the question:
Is it possible to place modified versions of those voice files into the mods\modXYZ\content folder? If yes, in what format do they have to be?
I have already extracted and converted all the files to .ogg using a tool I found in the CDPR forum, so I have a reference for my new voice files.
But how does that work with soundbanks etc.? Does it even matter and I can just place my modified .cr2w/.wav files into my mods\modXYZ\content directory?
I'd be super happy, if someone more experienced than me could help me out here.
Thx :3
?Traceback (most recent call last):
Looks like the header in either Soundbank or the WEMs seems to be causing the issue. Looks like tweaking the tool should solve the issue, but I'm out of my depth with programming. So if anybody has any idea, please share your ideas. All the music mods are depending on this for the NextGen updates.File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 2725, in <module>
main(len(sys.argv), sys.argv)
File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 2665, in main
soundbank.read()
File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 1917, in read
self.header = SBHeader(self.file)
File "F:\Witcher 3 mods\SOund Editing\rebuild_soundbank.py", line 138, in __init__
raise SBHeaderError("Invalid version")
__main__.SBHeaderError: Invalid version
Rebuilding with older soundbanks is working fine.
C:\Games\Witchering\batches>rebuild_soundbank.py music_nomansgrad.bnk C:\Games\Witchering\EditedMusic\382494060.wem
Reading soundbank...Traceback (most recent call last):
File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 2725, in <module>
main(len(sys.argv), sys.argv)
File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 2664, in main
soundbank = Soundbank(bnk)
File "C:\Games\Witchering\batches\rebuild_soundbank.py", line 1898, in __init__
raise SoundbankError("Could not open soundbank")
__main__.SoundbankError: Could not open soundbank
For the rebuild, be sure to put your music_blablabla.bnk INSIDE your batches' folder and then run the rebuild_sounds.bat
For the create_sounds_cache.bat : be sure to copy your wems inside a "merged" folder, and then write its directory inside the create_sounds_cache.bat with notepad++ !
Should I change it to
print ("Usage: %s <FILE> [COUNT]") % (os.path.basename(argv[0])) or to
print ("Usage: %s <FILE> [COUNT]" % (os.path.basename(argv[0]))) ?