Skip to main content

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.

Metadata

Release files for pysoundmonitor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysoundmonitor 0.1.0
File Size Uploaded
pysoundmonitor-0.1.0.tar.gz 26.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pysoundmonitor 0.1.0
File Interpreter ABI Platform
pysoundmonitor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 49.1 kB

Release files / pysoundmonitor-0.1.0.tar.gz

Download URL pysoundmonitor-0.1.0.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b57f0ca71313211bdc982f327a8649f8c12fae08cd24b1b4107981d2f6b3f455
BLAKE2b-256 checksum
How to use checksums
916bf355d8881b5db786241356cb49e9cd95cd4f692bfc2d768a55fb012f59b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release files / pysoundmonitor-0.1.0-py3-none-any.whl

Download URL pysoundmonitor-0.1.0-py3-none-any.whl
Size 22.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab479a23f4a789a7b3c2c8fe8e930badf952e7b452142106a09610e3f21220ef
BLAKE2b-256 checksum
How to use checksums
b4d19c3af3ae1a9d3a3233570e7a3ae532af67c3bb4bc8d1099235b1ce408c66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page