BNVIB
From DoomWiki.org
BNVIB, an abbreviation for binary NX vibration, is a proprietary Nintendo data format which contains controller rumble information. The data is encoded into two interlaced streams, one in frequency domain and the other in amplitude domain, which is used by the Nintendo Switch SDK and hardware to drive the HD Rumble feature of the system's Joy-Con controllers. It is used in the 2024 release of Doom + Doom II. BNVIB files are typically authored offline by converting a sound wave into vibration data using a fast Fourier transform to extract the required frequency samples. Low-pass filtering and bass boost are typically also applied to strengthen low frequencies and eliminate high-pitched noise.
Use of the format is allowed outside Nintendo platforms so long as Nintendo-authored data is not specifically used. As such, the KEX Engine contains a bespoke multiplatform playback engine for this data which can target multiple different types of controllers, and also utilizes the BNVIB files on Microsoft Windows, Xbox One, Xbox Series, and PlayStation 4 platforms.
