-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skyrim NX sound support - MCADPCM and FUZ with OPUS #111
base: master
Are you sure you want to change the base?
Conversation
With latest change the FUZ logic is now entire contained (no PUN intended) in containers/NxOpusWriter.cs. Much better than previous spaghetti in convert.cs. |
I played around with your additions and wasn't able to convert the created opus with a Skyrim header back to wav. Does vgmstream support the Skyrim header opus files? If MCADPCM is just a container for Nintendo's ADPCM, it wouldn't be added to the audio format enum. I don't know about adding the fuz code. In the past, the decision was that parsing and creating archives/containers that audio files might come in was out-of-scope for the library. I'll have more detailed feedback when I'm back at my computer and not on my phone. |
Fixed the header check on Skyrim OPUS reader but producing an empty wav. will take a look later as had seen this issue before. At least the header recognition is fixed. Made McAdpcm an audio format as it slightly differs from DSP on header data. Header on McAdpcm is little-endian and data follows this pattern: channel0 header, channel0 data, channel1 header, channel1 data. DSP does all channels headers first (big-endian) and then DSP data. |
I've made some small tweaks to match the code style. Creating a Skyrim Opus file won't work unless you're writing it to a FileStream. VGAudio only operates on plain Streams and isn't aware of any kind of underlying filesystem. Any metadata should be passed to the library some other way. The audio format of mcadpcm files should be GcAdpcm because mcadpcm is a container for audio in that format, just like containers such as brstm contain that formst. |
Nintendo Switch Skyrim uses 2 container types for sound:
Added the FUZ logic in VGAudioCli convert.cs itself instead of creating a new container as I did for MCADPCM. Maybe not the best solution but good enough for our requirements on https://github.com/Lord-Akkrand/Skyrim-NX-Toolkit/