Skip to main content

Pure-Python reader and detector for Soundmonitor (64'er / Hulsbeck) SID tunes

Project description

pysoundmonitor

Pure-Python reader and detector for Soundmonitor (64'er / Chris Hulsbeck) SID tunes — HVSC tracker #6. Built on pysidtracker.

The Soundmonitor player is relocatable and the SID-header addresses are not a reliable locator, so the engine is found by a small relocation-invariant hardware-register fingerprint and the documented section→stream song data is decoded into a model. Scope is container/detection + a song-data reader, not a byte-exact playback engine.

Install

pip install pysoundmonitor

Usage

import pysoundmonitor as psm

song = psm.read("tune.sid")            # or psm.parse(raw_bytes)
print(song.cia_latch, len(song.sections), len(song.instruments))
for section in song.sections:
    print(section.cadence, section.tempo, section.pattern_length)

# Relocation-tolerant detection (untrustworthy header):
det = psm.SoundMonitorSidParser().detect("tune.sid")
print(det.kind)          # DIRECT / RELOCATED / PACKED / UNKNOWN

Development

pip install -e ".[dev]"
pytest                    # offline synthetic fixtures
python scripts/fetch_tunes.py   # cache the HVSC reference tune (never committed)

Test tunes are HVSC copyright works: fetched + cached on demand (gitignored), never committed.

Docs

  • docs/format.md — Soundmonitor container, detection, and song-data model.

License

Apache-2.0.

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

pysoundmonitor-0.1.0.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

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

pysoundmonitor-0.1.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file pysoundmonitor-0.1.0.tar.gz.

File metadata

  • Download URL: pysoundmonitor-0.1.0.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pysoundmonitor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b57f0ca71313211bdc982f327a8649f8c12fae08cd24b1b4107981d2f6b3f455
MD5 a2251b790f298a252444c85ff399269d
BLAKE2b-256 916bf355d8881b5db786241356cb49e9cd95cd4f692bfc2d768a55fb012f59b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysoundmonitor-0.1.0.tar.gz:

Publisher: publish.yml on anarkiwi/pysoundmonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pysoundmonitor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pysoundmonitor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pysoundmonitor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab479a23f4a789a7b3c2c8fe8e930badf952e7b452142106a09610e3f21220ef
MD5 9bc540e0e523e3d44d99aba83b039da6
BLAKE2b-256 b4d19c3af3ae1a9d3a3233570e7a3ae532af67c3bb4bc8d1099235b1ce408c66

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysoundmonitor-0.1.0-py3-none-any.whl:

Publisher: publish.yml on anarkiwi/pysoundmonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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