SHR-DAW source code, Velvet Tines.synthv1, the 20 newly authored presets, and
the bundled original drum-pattern data are released under the MIT license in
LICENSE. MIT permits commercial and non-commercial use, modification, and
redistribution, but the copyright and license notice must be kept. No
MIT/Apache/GPL license is literally obligation-free.
The direct Rust crates are permissive:
- anyhow, libc, serde, serde_json, signal-hook: MIT or Apache-2.0;
- hound: Apache-2.0;
- crossterm, midir, quick-xml, ratatui: MIT.
Their transitive dependencies reported by cargo metadata --locked are also
permissive (MIT, Apache-2.0, ISC-style combinations, Unicode-3.0, or Unlicense).
Before publishing binary releases, generate and ship the exact notices for the
locked target dependency set with a tool such as cargo-about or
cargo-deny.
SHR-DAW launches these separately installed programs; it does not copy or link their source into this project:
- synthv1: GPL-2.0-or-later;
- Yoshimi: GPL-2.0-or-later overall, with some source under compatible LGPL/CC/ISC terms as documented by its package;
- FluidSynth: LGPL-2.1-or-later;
- JACK2 tools/libraries: primarily LGPL-2.1-or-later;
aconnectfrom alsa-utils: GPL-2.0;- ALSA library used by the Rust MIDI backend: LGPL-2.1-or-later.
SHR-DAW indexes Yoshimi .xiz banks and FluidSynth .sf2/.sf3 files at
their configured system/user paths; it does not copy them into this project.
The Debian yoshimi-data package is GPL-2.0-or-later overall (with a few bank
files under GPL-3), and the packaged TimGM6mb SoundFont is GPL-2-only. Their
copyright files remain the authority for redistribution of an appliance image.
Using system-installed executables/data does not force SHR-DAW itself to use GPL. Anyone distributing an appliance image or bundling those binaries must comply with each package separately and provide their notices/source offers as required. This is a practical audit, not legal advice.
SHR-DAW can update its own MIT-licensed, hardware-verified controller catalog.
It does not redistribute or execute mappings from Ardour, Mixxx, or Zynthian.
Those copyleft-licensed projects are documented as useful research sources in
docs/CONTROLLER_PROFILES.md; application-specific bindings are not copied
into this repository. Pencil Research's CC BY-SA 4.0 MIDI dataset documents
external instruments rather than USB controller surfaces and is likewise not
included.
The deterministic TUI screenshots are generated from SHR-DAW's own seeded
screen data by scripts/render-readme-screenshots.py. That maintainer helper
uses Pillow as a PNG container/writer and reads the host's
Uni2-TerminusBold24x12.psf.gz Linux console font; it does not bundle Pillow
or the PSF font into the installed product-data directory. The helper accepts
the repository-local fallback only when its decompressed bytes match the
approved host font's pinned SHA-256. Anyone redistributing the generated
documentation or a fallback copy of that font should retain and review the
copyright/licence information supplied by the corresponding Pillow and
console-font packages. The images are presentation fixtures, not evidence that
JACK, MIDI hardware, playback, or recording was active.
The tracked presets/synthv1/ directory and public installation contain only
the 21 MIT-cleared presets identified by
presets/synthv1/cleared-presets.txt and described in this file. That manifest
is the single packaging and schema-test allowlist. Legacy or downloaded
presets without verified authorship and redistribution terms belong only in the
ignored private user/presets/synthv1/ tree. They must not be committed,
packaged, mirrored, or relabelled as MIT merely because a copy exists locally.
The 392 Synthv1 Presets archive published by LinuxSynths was inspected on
2026-07-13. It contains 392 .synthv1 files but no README, license, author
notice, or redistribution grant. Twenty-eight filenames overlapped the legacy
local bank, although those local files were modified rather than byte-identical,
so the collection is a likely source for part of that private bank. A private
extraction described in docs/WORKSPACE_HANDOFF.md remains below the ignored
user/ tree; none of it was imported into the tracked or installed public
collection. Source:
https://linuxsynths.com/Synthv1PatchesDemos/synthv1.html.
The following complete synthv1 0.9.29 presets were authored for SHR-DAW on
2026-07-13 from the MIT-cleared Velvet Tines schema/template, with new
parameter designs. They contain no imported samples or third-party preset
content and are released under this repository's MIT license:
- basses: Deep Sub, Liquid Acid, Rubber Circuit, Compact Bass;
- leads: Mono Pulse Lead, PWM Horizon, Glass Saw Lead;
- pads: Warm Cloud, Dark Canopy, Shimmer Veil;
- plucks/bells: Copper Pluck, Reed Pluck, Silver Bell, Soft Chime;
- organs: Drawbar Glow, Hollow Organ;
- drones/effects: Low Orbit Drone, Frozen Drone, Dust Delay, Restrained Sweep.
scripts/generate_cleared_presets.sh records the exact authored parameter
choices. Add a newly cleared file to presets/synthv1/cleared-presets.txt only
after its provenance is recorded here. Static tests verify the manifest, all
145 indices and names, and mapped values against the current schema. Sound
quality still requires authorized listening tests; none were run while adding
this set.
The 60 compact catalog entries and 12 standalone .shdrum files in
drum-patterns/ were authored as editable SHR-DAW MIDI data and are released
under MIT. They use conventional General MIDI-style drum-note assignments, but
they do not copy or transcribe third-party MIDI files or protected recordings.
Genre names are creative navigation hints rather than claims of an
authoritative cultural transcription. The structural and naming audit is in
docs/DRUM_PATTERN_AUDIT.md; groove, feel, and final curation still require
human listening.
The in-process drum engine is the separate MIT-licensed
SHR Drums repository. Version 0.2
keeps the strict format 1 package boundary and adds an optional advanced
modeled-voice graph. The public
format contract
defines validation and compatibility. Its
source record
owns sample provenance. kits/cleared-kits.txt is this repository's single
public kit allowlist.
SHR-DAW pins the public SHR Drums 0.2.0 source revision in both Cargo.toml
and install/compatibility.json. Cargo compiles it into shr; the installer
does not create a separate executable, service, or runtime source checkout.
The bundled Acid package is an original fully modeled 27-voice kit. Electronic House has its original 27 modeled voices plus deterministic House Impact and Long Pressure synthetic one-shot exports authored by the CC0 Moj Sint project; they occupy notes 27 and 28 without replacing its existing note-33 through note-36 kicks. Neither package contains recordings or downloaded audio. Their manifests release the package content under CC0 1.0.
The bundled Big Rock (Muldjord) and Experimental Noise (Muldjord) packages use selected recordings from MuldjordKit SFZ+WAV 2020-10-18 under Creative Commons Attribution 4.0 International. Lars Muldjord made the original recordings; roberto@zenvoid.org assembled the stereo SFZ/WAV release for FreePats. Each package retains the upstream licence and README, while its manifest records the source release, selected-file hashes, modifications, and required attribution. Upstream sources are the FreePats release, FreePats kit page, and DrumGizmo kit page.
No other compiled .shrkit, source archive, or private review render is
bundled. A local package's presence does not grant redistribution rights; add
one to cleared-kits.txt only after reviewing its complete contents, manifest,
source record, asset licence, and required notices.
The whole-system installer fetches the exact public Moj Sint 0.2.3 and SHR
Sampler 0.1.2 revisions recorded in install/compatibility.json. Each
repository's THIRD_PARTY.md owns its dependency and content provenance. Only
Moj Sint files named by presets/cleared-presets.txt and SHR Sampler packages
named by instruments/cleared-instruments.txt enter the payload. The initial
SHR Sampler package is a project-authored deterministic waveform released as
CC0-1.0; no private or third-party sample library is copied or converted.
The ten demo arrangements in demos/ are newly programmed for SHR-DAW and are
released under MIT. The underlying compositions are traditional or old enough
to be public domain; no MIDI file, harmony, production, or orchestration was
copied from a modern recording. demos/cleared-demos.json is the explicit
packaging manifest and records separate public-domain reasoning, institutional
source links, musical metadata, filenames, and SHA-256 hashes for House of the
Rising Sun, Whiskey in the Jar, Cotton-Eyed Joe, Scarborough Fair, Greensleeves,
Amazing Grace, Drunken Sailor, Wellerman, Auld Lang Syne, and Danny Boy.
scripts/generate_demo_songs.py is the deterministic authorship recipe. Its
normal mode validates every byte and refuses extra files; the Makefile installs
only its manifest-derived output after that check. Adding a composition
requires source-backed clearance in the manifest, an original arrangement,
both MIDI and current native Project forms, and matching structural tests.
The four WAVs named in loops/cleared-loops.txt are redistributable under CC0
1.0 rather than MIT. Their authors, source pages, conversions, exact tempo and
hashes are recorded in loops/SOURCES.md. The three starter-100-step-*.wav
files come from obscure music's CC0 Music loop variations pack; the
war-drums-130.wav file is William Hector's CC0 Horde War Drums loop.
Packaging must continue to use the manifest allowlist.
shr-setup can also download four tempo-labelled WAVs from MusicRadar's
SampleRadar: 183 free 80s pop drums samples directly into the user's loop
inbox. MusicRadar permits use in music but says not to redistribute the raw
samples, so neither the 78 MB archive nor extracted WAVs may be committed,
packaged, mirrored, or copied into a public release. Setup asks first, stores a
source/terms note beside the private files, and downloads from:
https://www.musicradar.com/news/sampleradar-free-80s-pop-drums-samples.
Moj's Open303 model incorporates Robin Schmidt's MIT core and Takuya Ooura's
separately permitted FFT. The installer retains both notices under
share/doc/moj-sint/open303. Its four factory starts are newly authored Moj
parameter documents, with no imported factory programs or samples.