Convert DSS to AMR — Free Online Tool

Convert DSS dictation recordings to AMR format using the libopencore_amrnb codec, transforming Olympus/Philips/Grundig digital dictation files into the mobile-telephony-standard speech format. Both formats are speech-optimized and low-bitrate, making this conversion particularly clean with minimal perceptible quality loss.

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

During this conversion, FFmpeg decodes the DSS file's ADPCM IMA OKI audio stream — a proprietary adaptive delta PCM variant developed specifically for digital dictation hardware — into raw PCM audio in memory. That raw audio is then re-encoded using the libopencore_amrnb encoder into Adaptive Multi-Rate Narrowband, a codec standardized by 3GPP for mobile voice transmission. Because both formats are narrowband, speech-optimized, and lossy, the transcoding pipeline is well-matched: DSS typically captures at 8 kHz sample rate, which aligns directly with AMR-NB's native 8 kHz operating rate, so no sample rate conversion is needed. The output AMR file at 12.2 kbps (the highest AMR-NB bitrate mode, equivalent to the Enhanced Full Rate used in GSM networks) will be broadly compatible with mobile devices, transcription platforms, and voice processing tools that do not support the proprietary DSS container.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool, which handles decoding the proprietary DSS container and ADPCM IMA OKI audio stream, then re-encoding to AMR-NB.
-i input.dss Specifies the input DSS file. FFmpeg reads the Digital Speech Standard container, identifies the ADPCM IMA OKI audio codec, and prepares the stream for decoding into raw PCM.
-c:a libopencore_amrnb Sets the audio encoder to libopencore_amrnb, the open-source implementation of the 3GPP Adaptive Multi-Rate Narrowband codec. This is required because AMR is a standardized but patent-encumbered format, and libopencore is the standard library FFmpeg uses to encode it.
-b:a 12200 Sets the AMR-NB encoding bitrate to 12,200 bits per second (12.2 kbps), which corresponds to the highest quality mode of AMR-NB and is equivalent to the Enhanced Full Rate (EFR) mode used in GSM mobile networks. For dictation recordings, this bitrate delivers the best intelligibility the AMR-NB codec can provide.
output.amr Defines the output filename with the .amr extension. FFmpeg uses this extension to write a raw AMR-NB bitstream file with the standard 3GPP magic header, making it natively playable on Android devices and compatible with mobile telephony and transcription platforms.

Common Use Cases

  • Sending dictation recordings from an Olympus or Philips digital voice recorder to a mobile transcription app that accepts AMR but not DSS files
  • Archiving legacy DSS dictation files in AMR format for compatibility with modern voice memo and communication platforms
  • Preparing legal or medical dictation recordings for upload to cloud transcription services that support AMR-NB but reject proprietary DSS containers
  • Converting DSS files recorded on older Grundig Digta devices so they can be played back natively on Android phones and other mobile devices
  • Integrating DSS dictation recordings into VoIP or telephony workflows that expect AMR-formatted audio streams
  • Batch-converting a folder of archived DSS dictations for use with speech recognition engines that have native AMR decoding support

Frequently Asked Questions

Quality loss is minimal for speech content in this specific conversion. Both DSS (using ADPCM IMA OKI) and AMR-NB (at 12.2 kbps) are narrowband speech codecs operating at 8 kHz, so they target the same frequency range. The default 12.2 kbps AMR-NB bitrate used by this tool is the highest available AMR-NB mode and matches the quality tier of Enhanced Full Rate GSM, which is well above the minimum needed for intelligible speech. You are unlikely to notice any meaningful difference in a dictation recording.
DSS is a proprietary container format developed jointly by Olympus, Philips, and Grundig, and its ADPCM IMA OKI codec is not part of any open standard. As a result, native DSS decoding is absent from most operating systems, mobile platforms, and web-based transcription services. AMR, by contrast, is a 3GPP open standard and is natively supported on virtually all Android devices, many iOS apps, and a wide range of voice processing and transcription services. Converting to AMR eliminates the proprietary dependency.
DSS files can embed metadata fields like author name, work type, and recording timestamp that are specific to the DSS specification and digital dictation workflows. The AMR container format has very limited metadata support and does not have equivalent fields for this dictation-specific information. During conversion, this metadata will be lost. If preserving recording metadata is important, consider documenting it separately or using a format like WAV or MP4 that supports more flexible metadata tagging.
AMR-NB supports eight standardized bitrate modes ranging from 4.75 kbps to 12.2 kbps. Lower bitrates produce smaller files but introduce more compression artifacts and can make speech harder to understand, especially with fast speakers or background noise. The 12.2 kbps default used by this tool gives the best speech quality AMR-NB can offer and is the right choice for dictation recordings where word accuracy matters. You would only choose a lower bitrate like 4.75 or 5.15 kbps if file size were a critical constraint, such as for transmission over a very low-bandwidth connection.
In the FFmpeg command, the '-b:a 12200' flag sets the audio bitrate to 12,200 bits per second (12.2 kbps). To reduce the file size, replace '12200' with one of the other valid AMR-NB bitrate values: 4750, 5150, 5900, 6700, 7400, or 7950. For example, use '-b:a 7400' for a moderate reduction in file size with acceptable speech quality. Note that AMR-NB only accepts these exact bitrate values — specifying an arbitrary number will result in FFmpeg snapping to the nearest valid mode or an error.
The displayed command processes one file at a time, but FFmpeg supports batch conversion through shell scripting. On Linux or macOS, you can run: 'for f in *.dss; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.dss}.amr"; done' to convert every DSS file in a folder. On Windows Command Prompt, use: 'for %f in (*.dss) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr"'. This is especially practical for converting large archives of Olympus or Philips dictation recordings that exceed the 1GB browser limit.

Technical Notes

DSS files use the ADPCM IMA OKI codec, an Olympus-proprietary variant of Dialogic OKI ADPCM that compresses audio at a fixed low bitrate suited to narrowband voice capture. The codec operates at 8 kHz sample rate with 4-bit ADPCM encoding, yielding roughly 4–8 kbps depending on the DSS variant (DS2 is a newer variant with slightly different encoding). AMR-NB (libopencore_amrnb) also operates natively at 8 kHz, which means FFmpeg does not need to resample the audio during this conversion — the sample rate is already aligned between the two codecs, preserving as much of the original frequency content as possible. One important limitation to be aware of: libopencore_amrnb only supports mono audio (one channel). If your DSS file contains stereo audio — uncommon but possible on some recorders — FFmpeg will downmix it to mono automatically. The resulting AMR file will be a raw AMR-NB bitstream with the standard .amr file extension and magic number header, compatible with 3GPP-compliant players. Unlike formats such as M4A or OGG, the AMR container does not support embedded cover art, chapter markers, or extended metadata. For transcription workflows, be aware that the AMR output from this tool is in narrowband (8 kHz) format; if your transcription service offers better accuracy with wideband audio, you may want to consider converting to AMR-WB (using libopencore_amrwb at 16 kHz) or a lossless intermediate like WAV instead.

Related Tools