Skip to content

Version 1.19.0.0

Choose a tag to compare

@davewalker5 davewalker5 released this 05 Sep 20:54
· 127 commits to main since this release
edcb9f5

This release adds a MIDI Converter for the RC2014 SID-Ulator sound module, together with the first complete musical conversion: Scott Joplin's Pineapple Rag.

The converter runs on a modern Windows, macOS or Linux computer and turns a Standard MIDI File into a self-contained Microsoft BASIC program containing both a three-voice SID player and the converted music as DATA statements.

What's new

MIDI Converter

Added a new .NET 10 command-line MIDI conversion tool for producing RC2014 SID-Ulator programs from Standard MIDI Files.

The converter supports:

  • Standard MIDI File formats 0 and 1
  • MIDI tempo changes and pulses-per-quarter-note timing
  • configurable musical quantisation
  • deterministic reduction of polyphonic MIDI music to the SID's three voices
  • triangle, sawtooth and pulse waveforms
  • configurable SID clock, master volume and pulse width
  • configurable BASIC playback timing
  • generated, self-contained Microsoft BASIC output
  • conversion summaries and safe output-file replacement

When more than three notes overlap, the converter preserves stable voice assignments while favouring melody, bass and the strongest available inner note.

The resulting program is deliberately an SID arrangement rather than a General MIDI reproduction: instrumentation and excess polyphony are discarded, leaving a three-voice interpretation suitable for the RC2014 SID-Ulator.

Pineapple Rag

Added the first full musical example generated by the converter:

Scott Joplin — Pineapple Rag (1908)

The program was converted from a public-domain MIDI file obtained from The Mutopia Project and plays as a three-voice SID-Ulator arrangement on the RC2014.

The PineappleRag folder contains:

  • The original public-domain MIDI source
  • The generated RC2014 Microsoft BASIC program
  • Documentation covering conversion, provenance and attribution

MIDI to RC2014

A MIDI file can now be converted directly into a BASIC program with the following, run from the folder containing the compiled output of the MIDI converter:

./MIDIConverter --convert /path/to/music.mid

The generated .bas file can then be transferred to an RC2014 Mini II using SerialSender or a serial terminal and played with:

RUN

This provides a complete path from a standard MIDI file on a modern computer to three-voice music playing through the SID-Ulator on an RC2014.