Ginsu Wave Content

From Burnout Wiki

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.

Offset Length Type Name Description Comments
0x0 0x4 char[4] id Magic Gnsu
0x4 0x2 char[2] ver Version number 20
0x6 0x2 short flags Always null
0x8 0x4 float minFrequency Minimum RPM
0xc 0x4 float maxFrequency Maximum RPM
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[1] data Ginsu data See data
0x21 0x3 Padding

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.