Remuxing DSP and BFSTM by thecoreyburton at 12:32 AM EDT on October 24, 2018
I'd like to know if it's possible to remux DSP and BFSTM files without re-encoding the audio streams.
Wario World uses mono .dsp files with suffixes of _0 and _1 to output stereo audio. Whilst vgmstream handles this properly, I'd like to be able to merge both streams into a single .dsp file without degrading the quality.
Super Mario Odyssey uses multi-track BFSTM files. I'd like to be able to take particular stereo tracks from these multi-track files (channels 1 and 2, channels 3 and 4, etc) and remux them into separate files so that each resulting file represents a single track.
I set up two batch files (one for each situation) and tested it out. It splits the .bfstm files perfectly, but I've not had any luck with merging the DSP files. When using DSP files as input (even in a non-merging situation), it fails with the error: "Unable to read beyond the end of the stream" and no output file is created.
revb should be capable of merging the DSP files together as BRSTMs. If you want to keep the output product as DSP, you can always write a script to first convert the DSP files via revb and then map the output to VGAudio to make another conversion. Although somebody please correct me if VGAudio actually can handle this without the need for revb.
If I were to use revb, would the process still be lossless? I'm aware the input files are already lossy, but I'm looking to prevent further degradation via re-encoding and want to be sure before I start the process.