BWAV (File Format): Difference between revisions
From Wexos's Wiki
Jump to navigationJump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
'''BWAV''' ('''B'''inary '''WAV'''e) is a sound format used in Nintendo Switch games such as [[Super Mario Maker 2]] and [[Ring Fit Adventure]]. It is located both as files and sub files into [[BARS]] files. | '''BWAV''' ('''B'''inary '''WAV'''e) is a sound format used in Nintendo Switch and Nintendo Switch 2 games such as [[Super Mario Maker 2]] and [[Ring Fit Adventure]]. It is located both as files and sub files into [[BARS]] files. | ||
<!-- https://gota7.github.io/Citric-Composer/specs/binaryWav.html --> | <!-- https://gota7.github.io/Citric-Composer/specs/binaryWav.html --> | ||
= File Format = | = File Format = | ||
| Line 59: | Line 59: | ||
| | | | ||
* [[Animal Crossing: New Horizons]] | * [[Animal Crossing: New Horizons]] | ||
* [[Mario Kart World]] | |||
* [[Nintendo Switch Online Playtest Program]] | * [[Nintendo Switch Online Playtest Program]] | ||
* [[Nintendo Switch Sports]] | * [[Nintendo Switch Sports]] | ||
Revision as of 23:35, 27 October 2026
BWAV (Binary WAVe) is a sound format used in Nintendo Switch and Nintendo Switch 2 games such as Super Mario Maker 2 and Ring Fit Adventure. It is located both as files and sub files into BARS files.
File Format
Header
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | File magic. Always BWAV in ASCII. |
| 0x04 | UInt16 | Byte-order-mark. FE FF for big endian, FF FE for little endian. |
| 0x06 | UInt16 | Version number. |
| 0x08 | UInt32 | Unknown. |
| 0x0C | UInt16 | Audio type: 0 = stream, 1 = prefetch. |
| 0x0E | UInt16 | Number of channels. |
Channel Info
A list of channel infos follow the header. It is unknown why some parameters is specified for each individual channel instead of the whole stream. Each entry has the following structure:
| Offset | Type | Description |
|---|---|---|
| 0x00 | UInt16 | Unknown. |
| 0x02 | UInt16 | Unknown. |
| 0x04 | UInt32 | Sample rate. |
| 0x08 | UInt32 | Total number of sound samples in the channel. This value corrusponds to the full stream number of sound samples, thus if audio type is prefetch, this value is incorrect. |
| 0x0C | UInt32 | Total number of sound samples in the channel. |
| 0x10 | UInt16[8][2] | Coefficients, used for DSP ADPCM decoding. |
| 0x30 | UInt32 | Absolute channel data offset. This value corrusponds to the full stream offset, thus if audio type is prefetch, this value is incorrect. |
| 0x34 | UInt32 | Absolute channel data offset. |
| 0x38 | UInt32 | Unknown. |
| 0x3C | UInt32 | Loop end in samples. FF FF FF FF if looping is disabled. |
| 0x40 | UInt32 | Loop start in samples. |
| 0x44 | UInt32 | Unknown. |
| 0x48 | UInt32 | Unknown. |
Version List
| Version | Found in |
|---|---|
| 0.1 |
Tools
The following tools can handle BWAV files:
- (none)