Skip to content

Releases: chjmartin2/MCS-Convert

Player + Importer 0.2

Choose a tag to compare

@chjmartin2 chjmartin2 released this 07 Jul 03:51

Player + Importer 0.2: the MCS player grows a chiptune importer —
Vortex Tracker .pt3 modules (ZX Spectrum / AY-3-8910) convert to
playable MCS songs.

New: Import (⬆ Import… in the toolbar, or mcs-convert convert)

  • Import Preview dialog — per-channel note counts, pitch ranges, noise
    stats and percussion verdicts, with ▶ solo audition per channel and a
    preview of the checked mix, so your ears make the final call
  • Percussion handling — AY drums (detected from the modules' sample
    tables by noise duty cycle and usage) can be synthesized as clicks
    (dissonant-cluster or wood-block timbre), played as written pitches,
    or dropped; drum clicks are pinned to their register through octave
    shifts
  • Per-channel octave shift and an MCS tempo picker (row rate mapped
    onto the 1984 tempo table)
  • Decay shaping (optional) — truncates notes to their sample's audible
    decay, recovering plucks and staccato that MCS's volume-less voices would
    otherwise smear into legato
  • Pattern-order repeats are fully unrolled; converted files play in the
    original program (one clean pass — no loop)

Also

  • Ties are now decoded per note (matching the engine's tie handler),
    improving chord fidelity in original songs
  • The general Song → MCS encoder behind the importer is verified by
    re-encoding the Maple Leaf Rag demo losslessly
  • Docs corrected: the test corpus is the 12 songs of the original retail
    disk plus user-made songs collected over the years
    (86 files, all
    round-tripping byte-identically)

Download

  • MCS-Player.exe — standalone Windows build (no Python needed).
    SmartScreen will warn about an unrecognized app: More info → Run anyway.
  • MAPLERAG.MCS — the public-domain Maple Leaf Rag demo song

Get .pt3 modules from the ZX scene archives (e.g. zxart.ee), then
⬆ Import… — or from source: python -m mcs_convert convert SONG.pt3 SONG.MCS

Player 0.1

Choose a tag to compare

@chjmartin2 chjmartin2 released this 06 Jul 19:17

First shareable release: a player, viewer, and complete reverse-engineered
format spec for Will Harvey's Music Construction Set (IBM-PC, 1984).

Highlights

  • Tracker-style viewer: 32nd-note grid, 4 voices ranked high-to-low,
    PITCH:DUR notation with dotted/tied/irregular markers, 8va + clef events
  • Playback with a real transport: pause/resume, click-to-seek, live volume,
    scrolling playhead
  • "PC Speaker" voice: faithful model of the original 4-voice 1-bit output
  • Oscilloscope window: four voice scopes + a master mix
  • WAV and tracker-text export
  • docs/mcs-format.md:
    the complete byte-level format, recovered by disassembling the original
    playback engine and validated on 86 songs (all round-trip byte-identically;
    the decode is engine-exact)

Download (no Python needed)

Grab MCS-Player.exe below — a standalone Windows build. Double-click it,
then Open… a song. Windows SmartScreen will warn about an unrecognized app
(the exe isn't code-signed): click More info → Run anyway.

MAPLERAG.MCS below is a ready-to-play demo: Scott Joplin's Maple Leaf
Rag
(1899, public domain), A strain with repeat, arranged for MCS's four
voices — with the echo phrase returning an octave up under an 8va as the
finale. Try the "PC Speaker" voice and open the Scope while it plays.

Quick start from source (Windows)

git clone https://github.com/chjmartin2/MCS-Convert.git
cd MCS-Convert
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
python -m mcs_convert play path\to\SONG.MCS

Song files are not included (copyright) — the 1984 disk is preserved on
archive.org; extract its *.MCS/*.MCD files into samples/.