Skip to main content

Bit-exact native decoder for Grundig DSS-SP (PH9607) dictation audio — .dss to 16 kHz WAV, no Windows and no vendor software.

Project description

Grundig DSS-SP native decoder

Pure-Python, bit-exact decoder for Grundig .dss files (magic \x06dss, e.g. the Digta 415) — the Grundig SP CELP variant that neither FFmpeg's dss_sp, the Olympus-derived open codecs, nor NCH Switch decode correctly.

Reverse-engineered from Grundig's dss2wav.dll; output is byte-for-byte identical to the reference on every test sample. The full story and the recovered bitstream + synthesis spec are in ../docs/12-cracking-the-grundig-sp-codec.md.

Install

pip install grundig-dss        # from PyPI (pure-Python, zero dependencies)

Usage

grundig-dss input.dss [output.wav]    # console command (out defaults to the input stem)
# or, without installing:
python3 -m grundig input.dss output.wav
./decode.sh input.dss output.wav
from grundig import decode_dss, write_wav
pcm = decode_dss("recording.dss")     # list[int], 16 kHz mono 16-bit
write_wav("recording.wav", pcm)

Files

File What
grundig_dss.py the decoder (no Wine, no DLL, stdlib only)
gtables.json quantization tables (reflection codebooks, gains, pulse/binomial tables, resample FIR) extracted from dss2wav.dll's .data
decode.sh thin CLI wrapper

Olympus DSS/DS2 files (\x02dss/\x03dss/\x03ds2) are handled by the main chain, not this module.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grundig_dss-1.0.0.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grundig_dss-1.0.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file grundig_dss-1.0.0.tar.gz.

File metadata

  • Download URL: grundig_dss-1.0.0.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for grundig_dss-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9c23f044dbfc2bb6488b7fd6f056cd54b2e2e67987b68e49e2a9b678ca45c6db
MD5 93d82df93b6247bc777ae2125e19d49f
BLAKE2b-256 f0233567e6b6d16e3a6a44c0c99104677451ea6984529f432eb06c40a9b52553

See more details on using hashes here.

File details

Details for the file grundig_dss-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: grundig_dss-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for grundig_dss-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63b7ee2f2476a160778ab2155177bf79b5ca633f6c455085aa46b0ae17f06233
MD5 5b0e33d0c1ee0bb1c574956e01c6bdd9
BLAKE2b-256 bd7dd7ea9a52908f8615cd4e6450008dafbb857e53091700ccd3ce413173cff6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page