Convert J2B to AU — Free Online Tool

Convert J2B game audio files from Jazz Jackrabbit 2 into AU format, decoding the ASYLUM Music Format content into raw PCM audio (16-bit big-endian) compatible with Unix systems and legacy audio tools. This conversion moves from a proprietary game module format to one of the simplest, most portable uncompressed audio containers ever standardized.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

J2B files are a proprietary container used by Jazz Jackrabbit 2, wrapping the ASYLUM Music Format — a tracker-style module audio format — inside a simple header. During conversion, FFmpeg decodes the ASYLUM module data by rendering its instrument samples and pattern sequences into a continuous PCM audio stream. That rendered audio is then encoded into the AU container using the pcm_s16be codec (signed 16-bit PCM, big-endian byte order), which is the default and most compatible codec for AU files. Because J2B is a lossy, synthesized format (audio is procedurally generated from module data) and AU with pcm_s16be is lossless PCM, the output represents a faithful rendered capture of the game music — no further audio compression is applied.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles the full pipeline: reading and parsing the J2B container, decoding and rendering the ASYLUM module data into a PCM audio stream, and writing the output AU file.
-i input.j2b Specifies the input file — a J2B file from Jazz Jackrabbit 2. FFmpeg detects the J2B wrapper, strips its header, and passes the ASYLUM Music Format module data to the appropriate decoder for rendering.
-c:a pcm_s16be Sets the audio codec to signed 16-bit PCM with big-endian byte order, which is the standard and most compatible encoding for Sun AU files. This stores the rendered module audio as uncompressed waveform data with no further quality loss.
output.au Defines the output filename and tells FFmpeg to write a Sun AU container. The .au extension triggers FFmpeg to use the AU muxer, which pairs the pcm_s16be audio stream with the minimal 24-byte AU file header.

Common Use Cases

  • Preserving Jazz Jackrabbit 2 game soundtrack music in an uncompressed, archivable format compatible with classic Unix and audio workstation tools
  • Importing J2B game audio into legacy Unix-based audio editors or software synthesizers that natively support AU files but cannot read ASYLUM module formats
  • Extracting and analyzing the rendered waveform output of ASYLUM tracker music for acoustic research or audio fingerprinting
  • Preparing Jazz Jackrabbit 2 music for use in early-internet-era web pages or Sun workstation demos that relied on AU as a standard streaming audio format
  • Converting game module music to a neutral, uncompressed PCM baseline before further processing or re-encoding into a modern format like FLAC or AAC
  • Providing a reference render of J2B music for game modders who need a high-quality WAV-like capture to study timing, instrumentation, and loop points

Frequently Asked Questions

The conversion does not introduce any additional audio degradation beyond what is inherent to J2B's own synthesis process. J2B is a tracker module format, so the 'source' audio is procedurally generated from samples and patterns rather than stored as a pre-rendered waveform. FFmpeg renders this module into PCM audio, and the AU file stores that rendered output as uncompressed 16-bit PCM — so the AU file is a lossless capture of exactly what FFmpeg synthesized from the module data.
Big-endian byte order is the historical standard for Sun AU files, reflecting the architecture of Sun SPARC workstations on which the format was developed. The AU specification defines big-endian as the native byte order, so pcm_s16be is the correct and most widely compatible choice for AU output. Most modern audio software that reads AU files handles big-endian PCM correctly, though if you need little-endian PCM for a specific tool, WAV would be a more appropriate container.
No. The AU format has an extremely minimal header containing only sample rate, channel count, encoding type, and an optional free-form annotation field — it has no support for loop points, pattern data, or tracker-specific metadata. The J2B module's loop and pattern information is used during the rendering step to produce audio, but that structural data cannot be embedded in the AU container. If you need to preserve loop metadata, consider formats like WAV with smpl chunks or OGG with Vorbis loop tags.
You can substitute the codec by replacing pcm_s16be with another AU-compatible codec in the command: for example, use -c:a pcm_mulaw for G.711 mu-law encoding (lossy, telephony-grade, much smaller files) or -c:a pcm_alaw for A-law encoding. For 8-bit unsigned PCM, use -c:a pcm_u8. The command would become: ffmpeg -i input.j2b -c:a pcm_mulaw output.au. Note that mu-law and A-law are lossy and designed for voice; for music archiving, pcm_s16be is the best choice.
Yes. On Linux or macOS, you can run: for f in *.j2b; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.j2b}.au"; done. On Windows Command Prompt, use: for %f in (*.j2b) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". Each J2B file will be individually rendered and saved as a corresponding AU file. This is especially useful when extracting the full Jazz Jackrabbit 2 music library.
AU output files will typically be dramatically larger than the source J2B files. J2B stores music as compact module data — a few kilobytes of pattern instructions and short instrument samples can represent minutes of audio. The AU file stores the fully rendered, uncompressed PCM waveform, which at 16-bit stereo and 44100 Hz is approximately 10 MB per minute. A J2B file that is 50–200 KB might expand to several megabytes as an AU file.

Technical Notes

J2B files are specific to Jazz Jackrabbit 2 and use the ASYLUM Music Format, a tracker module format that stores music as sequences of pattern instructions referencing short instrument samples — similar in concept to MOD or S3M formats. FFmpeg's decoding of J2B relies on its libmodplug or internal module renderer to synthesize the audio in real time during conversion; the quality of the render (sample rate, interpolation) may vary depending on the FFmpeg build. The output AU container with pcm_s16be is one of the simplest audio formats in existence: its header is just 24 bytes, containing a magic number (.snd), data offset, data size, encoding type, sample rate, and channel count. AU supports no metadata fields beyond a single unstructured annotation string, so artist, title, and game information from the J2B file cannot be carried over. The format is inherently mono or multi-channel but does not support multiple discrete audio tracks. Because the AU format was designed for Sun workstations and early internet streaming, it is natively understood by Java (javax.sound.sampled), older Unix utilities like sox and au, and many professional audio tools — making it a useful interchange format for legacy workflows despite being rarely used for modern consumer audio.

Related Tools