NitroStudio2

If Nitro Studio was so good, why isn't there a Nitro Studio 2? Well it was so good so now there's a 2nd one that's even better. It's a lot easier to use over the original and has a ton of new features! Try it out!

View on GitHub

Waves (.swav)

SWAVs or Sound Waves are like WAV files, except are always only one channel and can be IMA-ADPCM encoded.

The Main File

The main file contains of a File Header and an Data Block.

Type Description
SoundFileHeader Sound File Header (Magic: SWAV. Always contains 1 block)
Block Data Block

Data Block Body (Magic: DATA)

Contains audio information and how to read it.

Offset Type Description
0x00 SoundEncoding Type of encoding for the data
0x01 bool If the sound loops
0x02 u16 Sampling rate of the audio
0x04 u16 Clock time of the audio (16756991 / SampleRate)
0x06 u16 Loop start offset. If audio does not loop, this is 1 for IMA-ADPCM and 0 for the other encodings
0x08 u32 Loop end offset. If audio does not loop, this is 1 for IMA-ADPCM and 0 for the other encodings
0x0C AudioData The rest of the block data is audio data for the channel. Its size is BlockSize - 0xC - 0x8

Converting Data Offset To Sample Position

Encoding Algorithm
Signed PCM8 Offset
Signed PCM16 Offset / 2
IMA-ADPCM Offset * 2 - 8