Download Latest Version mdd-1.0.1-windows-x86_64-setup.exe (25.8 MB) Google Add to Preferred Sources
Home / v0.7.0
Name Modified Size InfoDownloads / Week
Parent folder
mdd-0.7.0-linux-arm64-installer.tar.gz 2026-09-23 42.5 MB
mdd-0.7.0-linux-arm64-installer.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-linux-arm64-portable.tar.gz 2026-09-23 19.9 MB
mdd-0.7.0-linux-arm64-portable.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-linux-x86_64-installer.tar.gz 2026-09-23 42.1 MB
mdd-0.7.0-linux-x86_64-installer.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-linux-x86_64-portable.tar.gz 2026-09-23 19.6 MB
mdd-0.7.0-linux-x86_64-portable.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-mac-arm64-portable.tar.gz 2026-09-23 8.9 MB
mdd-0.7.0-mac-arm64-portable.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-mac-arm64.dmg 2026-09-23 35.3 MB
mdd-0.7.0-mac-arm64.dmg.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-mac-x86_64-portable.tar.gz 2026-09-23 9.3 MB
mdd-0.7.0-mac-x86_64-portable.tar.gz.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-mac-x86_64.dmg 2026-09-23 35.5 MB
mdd-0.7.0-mac-x86_64.dmg.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-windows-x86_64-portable.zip 2026-09-23 9.4 MB
mdd-0.7.0-windows-x86_64-portable.zip.sigstore 2026-09-23 8.8 kB
mdd-0.7.0-windows-x86_64-setup.exe 2026-09-23 25.6 MB
mdd-0.7.0-windows-x86_64-setup.exe.sigstore 2026-09-23 8.8 kB
SHA256SUMS 2026-09-23 1.0 kB
SHA256SUMS.sigstore 2026-09-23 8.8 kB
MD Synth DAW v0.7.0 source code.tar.gz 2026-09-23 3.7 MB
MD Synth DAW v0.7.0 source code.zip 2026-09-23 3.9 MB
README.md 2026-09-23 6.9 kB
Totals: 25 Items   255.7 MB 0

A hardware-aware DAW for the Sega Mega Drive.

67 changes since v0.6.0.

Downloads

platform portable installed
Windows x86-64 mdd-0.7.0-windows-x86_64-portable.zip mdd-0.7.0-windows-x86_64-setup.exe
Linux x86-64 mdd-0.7.0-linux-x86_64-portable.tar.gz mdd-0.7.0-linux-x86_64-installer.tar.gz
Linux arm64 mdd-0.7.0-linux-arm64-portable.tar.gz mdd-0.7.0-linux-arm64-installer.tar.gz
macOS x86-64 mdd-0.7.0-mac-x86_64-portable.tar.gz mdd-0.7.0-mac-x86_64.dmg
macOS arm64 mdd-0.7.0-mac-arm64-portable.tar.gz mdd-0.7.0-mac-arm64.dmg

A portable copy keeps its settings, projects and banks in a userdata folder beside the executable, so it can live on a memory stick and leaves nothing behind. An installed copy keeps them under your documents. Both are the same application, and the updater offers whichever kind you already have.

Checking a download

SHA256SUMS lists every file, and each file has a .sigstore bundle beside it, SHA256SUMS included. The signature is what proves a download came from this repository: a checksum on its own only proves the file matches whichever list you read it from.

:::sh
sha256sum -c SHA256SUMS --ignore-missing

cosign verify-blob --bundle SHA256SUMS.sigstore \
  --certificate-identity-regexp '^https://github.com/MeguminBOT/md-synth-daw/' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  SHA256SUMS

The same workflow records build provenance, which the GitHub CLI reads:

:::sh
gh attestation verify mdd-0.7.0-windows-x86_64-portable.zip --repo MeguminBOT/md-synth-daw

What changed

67 changes, grouped by the part of the application they moved ### Sound chips (3) - **Sn76489** The part keeps its summed level instead of summing every step - **Ym2612** A sample walks its slots as four passes of six channels - **Ym2612** Channels and operators are held in arrays rather than vectors ### The song model (13) - **Edit** A channel takes a copy of the preset it loads - **Patch** Only the Default bank is compiled in, and the others ship as files - **Patch** The library stays out of a piece, which carries only what it plays - **Patch** A preset's identity is the MD5 of its sound, not its name - **Patch** The detune of a preset file is centred, not a register value - **Patch** 67 CC0 FM patches ship as the Instruments bank - **Patch** The presets that ship are named for what they are for - **Patch** One patch under several names is offered once - **Patch** The presets from the finished pieces ship as the default bank - **Patch** A presets folder read once is read back from one file - **Patch** A preset is what it holds rather than what it is called - **Patch** Filing a piece's presets keeps its kit in one bank - **Patch** The presets folder is laid out by family of part ### Playback and export (6) - **Render** The resampler's kernels run eight products at a time natively - **Render** The resampler sums each kernel in four runs over a doubled history - **Sequencer** The lanes and levels it reads are arrays rather than vectors - **Sequencer** A span only asks what can reach the writes it makes - **Sequencer** The note lookups search the lane rather than walk it from the start - **Stream** A write is a tick and one packed word rather than four numbers ### File formats (6) - **Preset** One format for every kind of preset, as records rather than as text - **Project** A project zip is packed with Deflate - **Project** A hit's identity is taken once its recording has loaded - **Project** A file carries the piece rather than the presets library beside it - **Project** A kit converted in the application is written as records - **Vgm** Cutting converter runs sorts once and slides its windows ### Editors and panels (12) - **Bar** Every field and switch on the transport bar says what it does - **Editor** The rulers, track headers, keys and lane controls say what they do - **Editor** Shedding an automation lane takes its points with it - **Editor** The tracker has a bar on each axis - **Monitor** The scope's lanes, the register log and the warnings say what a click does - **Overlay** The first run sheet picks a language only from the row under the pointer - **Overlay** Every preference, export setting and import strand says what it does - **Rack** A channel's volume and a sample's row say what they do - **Synth** The FM and square dials, the envelope and the preset toolbar say what they do - **Synth** Presets group, sort and filter, and a number in a name sorts as one - **Synth** Preset banks start folded and the toolbar follows the sidebar - **Synth** A preset is starred by what it holds, and the browser lists the starred on their own ### The interface (7) - **Locale** Swedish spells spår, för, från, låt and två with their letters - **Locale** Swedish reads nytt spår for adding a lane - **Locale** Swedish says a machine translated it - **Locale** Each language keeps its own word for import, bank and project - **Paint** A fan works out its spokes once for its fill and its feather - **Widget** A widget can name its tooltip by key, read as the pointer arrives - **Widget** A drag ends when its release never arrives ### The application (8) - **Files** A preset or bank opened from the desktop imports, and says what it did - **Files** The presets folder is organised from the browser, and imports ask about duplicates - **Files** A preset dialog opens where presets are kept - **Files** A preset file left loose in the presets folder is sorted by family - **Files** Lifting a piece's patches keeps what a patch file cannot hold - **Files** A preset, a hit and a whole bank are written out and read back - **Session** A preset swapped out of a channel stays the piece's own until a save by hand - **Session** A start that fails says why, and fonts come only from beside the program ### Building and packaging (4) - Wrap lanes array in build target conditions - Clearing a language in the installer deletes the font it fetched too - A package takes what it names, and the portable one leaves out fetched fonts - A bank whose document was deleted stops shipping ### The repository (1) - Bump version 0.7.0 ### Documentation (3) - The default bank, the five kits lifted with it, and the program that wrote them - What a project file carries - What a preset is as a file, and where the shipped banks are edited ### Checks (4) - The weigh program reports the events the sequencer lost, not the writes it made - The tag check reads back every tag a shipped preset arrives with - A program that plays every preset in a bank and measures what came out - A program that clears out the presets a folder holds copies of

Every commit: https://github.com/MeguminBOT/md-synth-daw/compare/v0.6.0...v0.7.0

Source: README.md, updated 2026-09-23