HearthSim/python-fsb5

Unknown CRC32 for some vorbis samples

synap5e opened this issue · 2 comments

Some vorbis samples fail to decode as the crc32 is not known, so the encoding options cannot be derived.

This seems to have something to do with specifying quality when creating samples with Unity3D's fsbtool.

this crc = crc32b(header info) as in 38e3efa

The reason this doesn't work is these setup headers are generated using an older or modified version of libvorbis with potentially different codebook generation. This also means that this (the lookup tables in particular) will break if a version of libvorbis with different codebook generation is used.

Probably better would be to embed the setup headers themselves (as FMod does) instead of the encoding parameters, although that data is somewhat large.