Ginsu Wave Content
Ginsu is the primary audio format used for continuous engine/exhaust sounds.
Decoding[edit | edit source]
Ginsu resources can be decoded using a tool such as Ginsu Converter.
Structures[edit | edit source]
Note: Ginsus begin with a Binary File resource.
rw::audio::core::GinsuDataLayout[edit | edit source]
The header for the audio data.
|0x10||0x4||int||segCount||Number of segments||Always 50|
|0x14||0x4||int||cycleCount||Number of cycles|
|0x18||0x4||int||sampleCount||Total number of samples|
|0x1c||0x4||int||sampleRate||Sample rate (Hz)|
|0x20||0x1||uchar||data||Ginsu data||See data|
Data[edit | edit source]
The header is followed by two tables of 32-bit integers representing sample indices.
The first table defines the segments, likely so only a particular portion of the audio is loaded at a given time. This always has 51 entries (though the count value is always 50) with an additional 4 bytes of padding following it.
The second table defines the cycles. Each cycle is a specific point in the rev range; at any time, it may be played continuously, switched to the next or previous cycle, or stopped altogether. A 10-second Ginsu normally contains around 400 cycles. Cycles can be automatically generated by a tool such as Crankcase Audio REV.
Audio data immediately follows the tables. It uses a proprietary lossy codec most closely related to 4-bit ADPCM.