Reads information from .fev and .fsb files in order to display them in a different format.
Suitable only for .fev files created using Designer 4.44.xx (or maybe some earlier versions) that are packed in the RIFF container -- using FourCC RIFF, not FEV1 like earlier versions -- and .fsb files using FourCC FSB5. The version of the RIFF's FMT chunk must be 0x00450000.
Note: Not suitable for
.bankfiles created by Studio, which are also packed asRIFF.
The main library parses the RIFF container for the legacy FEV data, as well as most of the non-legacy chunks.
Note: At this time, the non-legacy interactive music chunk
COMPand its subchunks are not handled correctly if non-empty.
The contents of the FEV can then be output in a couple of different ways, or inspected progammatically.
Three binaries (for use on the command line) can be built at this time:
-
find_fev_to_fsb_connections: Searches a directory or list of directories for files that match the FourCCRIFForFSB5and parses them as.fevand.fsbfiles, identifies the soundbank hashes the.fevfiles contain and the hashes of the.fsbfiles, and prints output determining which of the.fevfiles' hashes have a corresponding matching.fsb. This is useful because.fevfiles can reference unexpected sound banks (i.e. those that don't match their own name), or can flag a hash mismatch. -
examine_fev_data: Prints the data contained in the.fevfile as a human-readable version, as well as any metadata in any referenced.fsbfiles. Needs to be passed a.fevfilepath, as well as paths to any.fsbfiles that the.fevreferences. Such references can be determined usingfind_fev_to_fsb_connections. -
make_fdps_from_directories: Searches a directory or list of directories similarly tofind_fev_to_fsb_connections, but instead builds a.fdpfile for each.fevfile using the file's data and any referenced.fsbfiles. These reconstructed project files can then be used by Designer together with the audio files extracted from the.fsbfiles to modify the audio project and build new.fevand.fsbdata for that project.
Please contact me through Discord hotpocketremix or reddit HotPocketRemix if you have any questions about this project, as I very rarely check GitHub.
Licensed under either of Apache License, Version 2.0 or MIT License at your option.