Convert J2B to AIF — Free Online Tool

Convert J2B game audio files from Jazz Jackrabbit 2 into AIF format using lossless PCM encoding. This tool decodes the ASYLUM Music Format wrapped in J2B's header and outputs uncompressed 16-bit big-endian PCM audio, preserving the full fidelity of the rendered game music in a format compatible with Apple's professional audio ecosystem.

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 module-based game audio used exclusively in Jazz Jackrabbit 2. They contain sequenced music data in the ASYLUM Music Format (AMF), which FFmpeg decodes by rendering the module's instrument samples and sequence instructions into a continuous PCM audio stream. Because J2B is inherently a lossy, sample-based format with no lossless equivalent, the 'conversion' is actually a one-time render: FFmpeg plays through the module and captures the output as uncompressed audio. That rendered audio is then encoded into AIF using the pcm_s16be codec — signed 16-bit big-endian PCM — which is the standard uncompressed format Apple uses for AIF files. The result is a frozen, flat audio file of the music as it would play in the game, stored without any further compression.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles decoding J2B's ASYLUM module data and encoding it into AIF's uncompressed PCM format.
-i input.j2b Specifies the input file — a J2B game audio file from Jazz Jackrabbit 2. FFmpeg detects the J2B container header and routes the audio to its ASYLUM Music Format module decoder for rendering.
-c:a pcm_s16be Sets the audio codec to signed 16-bit big-endian PCM, which is the standard uncompressed audio encoding used inside AIF files. Big-endian byte order is required by the AIF container specification, distinguishing it from WAV which uses little-endian PCM.
output.aif Defines the output filename with the .aif extension, which tells FFmpeg to wrap the pcm_s16be audio stream in an Audio Interchange File Format container — Apple's standard lossless audio format compatible with Logic Pro, GarageBand, and other Mac audio tools.

Common Use Cases

  • Archiving Jazz Jackrabbit 2 soundtrack music in a high-quality, non-proprietary format for long-term preservation
  • Importing J2B game music into Apple Logic Pro, GarageBand, or Final Cut Pro, which natively support AIF but cannot read J2B
  • Creating a mastered audio version of a J2B track to use as background music in a fan-made video, tribute, or remix project
  • Sampling specific instrument hits or melodic phrases from a rendered J2B track inside a DAW that supports AIF import
  • Providing audio assets to a game historian or retro game database that requires lossless AIF audio rather than proprietary module formats
  • Generating a reference AIF render of a J2B track to compare against a recomposed or remastered version in an audio editor

Frequently Asked Questions

The AIF output itself is lossless and uncompressed, so no quality is lost in the encoding step. However, because J2B is a module format, FFmpeg must first render the sequenced music into PCM audio before writing it to AIF. This rendering is deterministic but is a one-way process — you cannot recover the original ASYLUM module data from the AIF file. The resulting AIF is a perfect, frozen snapshot of how the audio sounded when played back by FFmpeg's module decoder.
J2B files store music as compact sequencing instructions and instrument samples, similar to MIDI but with embedded sounds. This representation is extremely small. When FFmpeg renders the module into audio, it produces a full uncompressed PCM stream — typically tens of megabytes per minute of audio at 16-bit stereo. The AIF file stores every single audio sample explicitly, which is why the size difference can be dramatic, often 50x to 100x larger than the source J2B.
Yes. The default command uses pcm_s16be for 16-bit output, but AIF also supports 24-bit (pcm_s24be) and 32-bit (pcm_s32be) PCM. You can change the codec flag in the command to '-c:a pcm_s24be' for 24-bit output, which is useful if you plan to use the audio in professional mastering workflows. To change the sample rate, add '-ar 44100' or '-ar 48000' to the command before the output filename. Since J2B module audio is rendered in real-time, the sample rate affects rendering quality.
J2B files typically embed very minimal metadata, and AIF has limited metadata support compared to formats like FLAC or MP3. FFmpeg will attempt to pass through any text tags present in the J2B header, but in practice most J2B files carry no readable title or artist fields, and AIF's metadata container (ANNO and NAME chunks) may not be populated. You should plan to add metadata manually in a tag editor or DAW after conversion.
FFmpeg itself processes one file per command, but you can use a shell loop to batch convert. On Linux or macOS, run: 'for f in *.j2b; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.j2b}.aif"; done'. On Windows Command Prompt, use: 'for %f in (*.j2b) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.aif"'. This will render each J2B file in the current directory and save a matching AIF file alongside it.
Yes, AIF is Apple's native uncompressed audio format and has first-class support in Logic Pro, GarageBand, Final Cut Pro, and most third-party DAWs on macOS. The pcm_s16be encoding used in this conversion is standard 16-bit stereo PCM, which is immediately importable as a clip or region in any of these applications. If your workflow requires 24-bit precision for mastering, modify the FFmpeg command to use '-c:a pcm_s24be' before importing.

Technical Notes

J2B is a niche container format specific to Jazz Jackrabbit 2, wrapping ASYLUM Music Format (AMF) module data with a simple proprietary header. FFmpeg's AMF/J2B decoder renders the module by stepping through its sequence patterns and mixing instrument samples in software, much like a vintage tracker player. The output sample rate and channel count depend on FFmpeg's internal module rendering settings, typically 44100 Hz stereo. AIF uses big-endian byte ordering in its PCM data, which is why the codec is pcm_s16be rather than the little-endian pcm_s16le used in WAV. Both formats are uncompressed, but AIF is specifically designed for Apple systems and stores audio in IFF-style chunks (COMM, SSND). No video, subtitle, or chapter data is involved in this conversion — J2B and AIF are both purely audio formats. One known limitation is that loop points embedded in the J2B module (used for in-game music looping) are not preserved in the AIF output; the file will be a linear render from start to the module's end point as interpreted by FFmpeg.

Related Tools