Convert DSS to M4B — Free Online Tool
Convert DSS dictation recordings to M4B audiobook format, re-encoding the Olympus ADPCM audio to AAC for broad device compatibility. Ideal for archiving or repurposing speech recordings with the bookmarking and chapter support that M4B provides.
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 OKI ADPCM (Adaptive Differential Pulse-Code Modulation), a codec specifically engineered for low-bitrate speech compression on digital dictation hardware like Olympus and Philips recorders. This codec is not natively supported by most media players, streaming apps, or audiobook platforms. During conversion, FFmpeg fully decodes the ADPCM audio to raw PCM, then re-encodes it using the AAC codec at 128kbps and wraps it in the MPEG-4 container with an .m4b extension. Because DSS is audio-only with no video, subtitles, or chapter data, the process is a straightforward audio transcode — the DSS audio stream cannot be stream-copied since AAC and OKI ADPCM are entirely different codecs. The -movflags +faststart flag reorganizes the M4B file's metadata index to the beginning of the file, enabling playback to begin before the full file has loaded, which matters for larger recordings.
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 conversion. |
-i input.dss
|
Specifies the input DSS file. FFmpeg automatically detects the DSS container and its OKI ADPCM audio stream, loading it for decoding. |
-c:a aac
|
Instructs FFmpeg to encode the audio output using AAC (Advanced Audio Coding), replacing the proprietary OKI ADPCM codec from the DSS source with a universally supported codec compatible with all modern devices and audiobook platforms. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. For speech-only dictation content this is a comfortable quality level that balances clarity and file size, well above the original DSS bitrate while remaining space-efficient. |
-movflags +faststart
|
Moves the M4B file's metadata index (the moov atom) to the beginning of the file after encoding completes. This is essential for M4B files intended for streaming or playback on Apple devices, as it allows the player to begin playback immediately without downloading the entire file first. |
output.m4b
|
Defines the output filename and signals to FFmpeg to write the result into an MPEG-4 container with the .m4b extension, which identifies the file to compatible players like Apple Books as an audiobook with bookmarking support. |
Common Use Cases
- Archiving old dictation recordings from an Olympus or Philips recorder into a universally playable format that will remain accessible as DSS software becomes obsolete
- Transferring recorded meeting notes or interview dictations to an iPhone or iPad for playback in Apple Books or Podcasts, which natively support M4B
- Converting medical or legal dictation recordings to M4B so they can be organized with chapter markers and bookmarks for easier review by transcriptionists
- Repurposing a series of recorded voice memos or lecture dictations into a structured M4B audiobook that supports resume-playback bookmarking
- Preparing speech recordings captured on a DSS dictaphone for upload to audiobook or podcast distribution platforms that accept AAC-based M4B files
- Migrating a library of historical DSS dictation files to M4B for long-term storage in a container format supported by modern multimedia tools and libraries
Frequently Asked Questions
DSS files already use heavy lossy compression via OKI ADPCM, which is optimized for speech intelligibility at very low bitrates rather than high fidelity. Re-encoding to AAC at 128kbps will introduce a second generation of lossy compression, but because AAC is a far more efficient codec than OKI ADPCM, the output will typically sound equal to or cleaner than the original DSS at that bitrate. For voice recordings — as opposed to music — 128kbps AAC is more than sufficient to preserve full speech clarity.
The OKI ADPCM codec used in DSS files is proprietary and not included in the codec libraries of most general-purpose media players. Olympus DSS Player software ships with a bundled decoder specifically for this format. Converting to M4B with AAC audio resolves this entirely, since AAC is natively supported on virtually every modern device, operating system, and media player without requiring any additional software.
M4B as a container fully supports chapters and bookmarking, and Apple devices and compatible audiobook players will remember your playback position automatically. However, DSS files do not contain any chapter or bookmark metadata, so the converted M4B will be a single continuous audio track without chapter markers. To add chapters, you would need to use a tool like mp4chaps or FFmpeg's chapter metadata features as a separate post-processing step after this conversion.
Replace the 128k value in the -b:a 128k flag with your desired bitrate. For voice recordings where file size matters, 64k or 96k AAC will still produce highly intelligible speech and results in a significantly smaller file. If you want higher quality, 192k or 256k are options, though for speech-only content derived from a DSS source, anything above 128k offers diminishing returns given the quality ceiling of the original recording.
Yes. On Linux or macOS, you can run a shell loop such as: for f in *.dss; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.dss}.m4b"; done. On Windows Command Prompt, use: for %f in (*.dss) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b". This processes each DSS file individually and outputs a corresponding M4B file with the same base filename.
DSS files may carry embedded metadata such as author name, recording date, and priority flags that are specific to the DSS dictation workflow. FFmpeg will attempt to map any readable metadata tags to the M4B container's ID3/MP4 tag structure, but DSS-specific fields like dictation priority or instruction markers have no M4B equivalent and will be discarded. Standard fields like recording date may carry over depending on how your recorder wrote them. You can inspect and edit the output M4B's tags with a tool like mp3tag or AtomicParsley if needed.
Technical Notes
DSS (Digital Speech Standard) was jointly developed by Olympus, Philips, and Grundig as a proprietary format for portable dictation devices, and its OKI ADPCM audio codec is engineered exclusively for narrow-band speech at bitrates typically between 13kbps and 28kbps. Because this codec is not part of any widely distributed open-source codec library outside of FFmpeg, the format has become increasingly difficult to work with as dedicated DSS software is discontinued. FFmpeg's adpcm_ima_oki decoder handles DSS audio reliably for conversion purposes. On the output side, M4B is structurally an MPEG-4 Part 14 container (essentially an MP4) with an .m4b extension that signals audiobook behavior to compatible players. The AAC encoder used here is FFmpeg's built-in native AAC encoder, which produces standards-compliant AAC-LC audio. For maximum compatibility with Apple Books, iTunes, and Audible-compatible players, AAC-LC at 128kbps stereo (or mono if the source is mono, as most DSS recordings are) is the appropriate target. Note that DSS recordings are almost universally single-channel mono, so the output M4B will also be mono unless you explicitly upmix with FFmpeg's -ac 2 flag — doing so increases file size without adding real audio information. The -movflags +faststart flag is technically important for any M4B intended for streaming or network playback, as it moves the moov atom to the file header so playback can begin without buffering the entire file.