Convert DSS to J2B — Free Online Tool
Convert DSS dictation recordings to J2B format by transcoding the OKI ADPCM-encoded speech audio through the LAME MP3 encoder. While this is an unconventional format pairing, it produces a valid J2B container carrying MP3 audio at 128kbps by default.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your DSS file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
DSS files store audio using the ADPCM IMA OKI codec — a low-bitrate, narrow-bandwidth codec optimized for capturing human speech at dictation-grade quality, typically around 8kHz. During this conversion, FFmpeg fully decodes the OKI ADPCM stream to raw PCM audio, then re-encodes it using the LAME MP3 encoder (libmp3lame) and wraps the result in a J2B container. J2B is the audio format native to the Jazz Jackrabbit 2 game engine, based on the ASYLUM Music Format with a lightweight header. Because the source audio is speech-optimized dictation rather than music, the resulting J2B file will contain MP3-encoded voice audio rather than the module-style game music J2B was originally designed for. Both formats are lossy, so quality is capped by the narrow-band source material — the OKI ADPCM input ceiling, not the MP3 encoder, will be the dominant quality constraint.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which handles all decoding, encoding, and container muxing for this DSS-to-J2B conversion. |
-i input.dss
|
Specifies the input DSS file — a Digital Speech Standard container carrying OKI ADPCM-encoded mono speech audio from a digital dictation device. |
-c:a libmp3lame
|
Selects the LAME MP3 encoder for the audio stream, transcoding the decoded OKI ADPCM speech data into MP3 format suitable for embedding in the J2B container. |
-b:a 128k
|
Sets the MP3 output bitrate to 128kbps. For DSS-sourced speech audio this is generous — the narrow-band OKI ADPCM source content is fully representable at lower bitrates like 64kbps — but 128k is the default for reasonable compatibility. |
output.j2b
|
Defines the output filename and triggers FFmpeg to mux the encoded MP3 audio into a J2B container, the audio format used by the Jazz Jackrabbit 2 game engine. |
Common Use Cases
- Feeding DSS dictation recordings into a retro game audio pipeline or modding toolkit that specifically accepts J2B as its import format
- Archiving or cataloging voice recordings from Olympus or Philips dictation devices in a containerized MP3 format that a specific legacy media system expects as J2B
- Extracting usable MP3 audio from DSS files in environments where only J2B output is supported by the downstream tool
- Testing or stress-testing J2B parsers and game audio engines with real-world speech content rather than synthetic music data
- Exploring format interoperability for retro game modding communities that want to embed spoken-word commentary or narration inside Jazz Jackrabbit 2 custom levels using the J2B audio slot
Frequently Asked Questions
Yes, but the primary quality constraint is the DSS source, not the J2B/MP3 output. DSS audio uses OKI ADPCM encoding optimized for speech at very low bitrates and narrow bandwidth (typically 8kHz sample rate), which already sounds telephone-grade. The LAME MP3 encoder at 128kbps can reproduce audio far better than DSS captures, so encoding to MP3 won't degrade your audio further in any meaningful way — the dictation quality ceiling you hear in the DSS file is essentially what you get in the J2B output.
The J2B container wraps MP3 audio regardless of content, so the file will be structurally valid. However, the Jazz Jackrabbit 2 engine expects J2B files to contain module-format music data in the ASYLUM Music Format, not arbitrary MP3-encoded speech. A J2B produced from a DSS dictation recording will not play correctly in the original game engine, but may be usable in tools or parsers that read the MP3 payload directly from the J2B wrapper.
FFmpeg and libmp3lame handle sample rate negotiation automatically. When decoding OKI ADPCM from DSS, FFmpeg outputs raw PCM at the source sample rate (commonly 8000Hz or 11025Hz), and libmp3lame will encode it at that rate unless you explicitly specify otherwise. If you want to upsample to a standard rate like 44100Hz, you can add '-ar 44100' before the output filename — but since the original audio contains no information above the DSS bandwidth ceiling, upsampling will not recover any quality.
Modify the '-b:a' flag value in the command. For example, replace '128k' with '64k' for a smaller file (acceptable for speech) or '192k' for a marginally larger file. For DSS-sourced speech content, 64kbps is typically more than sufficient since the source audio bandwidth is already very limited. The command would look like: ffmpeg -i input.dss -c:a libmp3lame -b:a 64k output.j2b
No. DSS files can carry proprietary metadata fields specific to Olympus and Philips dictation workflows — including author ID, recording timestamp, priority level, and device information. Neither the J2B container format nor the MP3 stream inside it has fields for this dictation-specific metadata, and FFmpeg does not attempt to map DSS metadata to MP3 tags during this conversion. If preserving that information matters, document it separately before converting.
FFmpeg itself processes one file at a time with this command, but you can loop it in a shell script. On Linux or macOS, run: for f in *.dss; do ffmpeg -i "$f" -c:a libmp3lame -b:a 128k "${f%.dss}.j2b"; done — and on Windows Command Prompt: for %f in (*.dss) do ffmpeg -i "%f" -c:a libmp3lame -b:a 128k "%~nf.j2b". The browser-based tool on this page processes files individually, so batch use is better handled locally via the command line.
Technical Notes
The OKI ADPCM codec used in DSS files is a variant of IMA ADPCM tuned for the Oki Semiconductor M6242B chip, operating at 4 bits per sample. DSS audio is strictly mono and sampled at low rates (8kHz being common), which constrains the representable frequency range to roughly 300Hz–3400Hz — adequate for speech intelligibility but well below music-grade fidelity. The J2B format was designed around the ASYLUM Music Format, a tracker-style module format, and wraps it in a 4-byte magic header. When FFmpeg outputs J2B with libmp3lame, it is placing MP3 data into this container rather than true ASYLUM module data, which means the output is structurally a J2B file but semantically atypical. No subtitle, chapter, or metadata structures are available in either format. Since both DSS and J2B are lossy formats, this is a lossy-to-lossy transcode, and the generational quality loss is largely imperceptible given how constrained the DSS source is to begin with. File sizes will generally increase compared to the tiny DSS originals, since MP3 at 128kbps is higher bitrate than OKI ADPCM dictation encoding.