Skip to content
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

support for parsing fev file #9

Open
MarStarck opened this issue Jan 5, 2017 · 4 comments
Open

support for parsing fev file #9

MarStarck opened this issue Jan 5, 2017 · 4 comments

Comments

@MarStarck
Copy link

i wanna parse information in fev file, any suggestions?
thanks in advance

@MarStarck
Copy link
Author

I have read part of the code and wanna try to parse the header of fev file, but i stucked here:
you provide FSB5Header and fmt("4s I I I I I I 8s 16s 8s") for your binaryReader, but
could I get the information of fev.... ?
And what does the fmt("4s I I I I I I 8s 16s 8s") mean?

@MarStarck
Copy link
Author

i found that 4s i i .. thing is the format of fsb5.
typedef struct {
char id[4]; /* ‘FSB5’ /
int32_t version; // ???
int32_t numsamples; / number of samples in the file /
int32_t shdrsize; / size in bytes of all of the sample headers including extended information /
int32_t namesize; // size of the name table
int32_t datasize; / size in bytes of compressed sample data /
uint32_t mode; / flags that apply to all samples in the fsb /
char zero[8]; / ??? /
uint8_t hash[16]; / hash??? /
char dummy[8]; / ??? */
} FSOUND_FSB_HEADER_FSB5;

but i searched almost everywhere and found nothing about fev file struct...

@synap5e
Copy link
Collaborator

synap5e commented Jan 12, 2017

The format string is a python struct format string, which, as you found corresponds to the struct definition. It is used to deserialize the header into the namedtuple FSB5Header.

I'm not sure how fev files are structured either, but as I understand it they just contain extra data about playing the fsbs. Maybe try creating some known fevs using fmod studio and see if you can find patterns in the fev files. e.g. you could change a single parameter and check what bytes it changes in the fev using a hex editor.

@lukasjuhrich
Copy link

With “fev file”, do you mean .bank files whose first proper RIFF chunk starts with FEV[…]? They contain more data than just the sounds and I haven't found a complete spec yet, but in essence they're just RIFF files optionally containing the FSB5 data in a last SND chunk.

For instance, it can look like this (printing chunks to level 1):
image

(yes, I know I'm a little late to the game, but perhaps this is helpful to anyone else reading this)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants