Drift is a desktop subtractive synthesizer for Windows: Avalonia UI, low-latency ASIO output via NAudio, MIDI input, built-in arpeggiator, stereo delay and reverb, and a library of factory patches. The DSP and audio graph live in Drift.Engine; the shell is Drift.Ui.
- Windows (ASIO host drivers are Windows-oriented in this build).
- .NET 10 SDK (see
global.jsonfor the pinned feature band; newer patch releases roll forward automatically). - An ASIO driver for your audio interface (e.g. vendor ASIO, ASIO4ALL for experimentation).
From the repository root:
dotnet build Drift.sln -c Release
dotnet run --project Drift.Ui/Drift.Ui.csproj -c ReleaseOr open Drift.sln in Visual Studio / Rider and start the Drift.Ui project.
On first launch, the app creates a Presets folder next to the executable and seeds 50 .dpatch.json files from the in-code factory (Drift.Ui/Patches/PresetFactory.cs). You can edit, add, or remove patches there; missing factory files are only re-written if they are absent (your changes are not overwritten).
- Choose an ASIO driver and a comfortable buffer/latency in the UI.
- Select MIDI input if you use a keyboard or controller.
- Pick a patch from the dropdown, or use RANDOM for a new sound.
- Tweak oscillators, filter, envelopes, LFO, delay, reverb, voice mode, and arpeggiator — parameters are saved with the patch.
| Path | Role |
|---|---|
Drift.Engine/ |
Audio engine: AudioEngine, Mixer, voices, DSP, MIDI queue, patch serialize, effects |
Drift.Ui/ |
Avalonia app: main window, controls, view models, preset factory |
docs/ |
Architecture and contributor notes |
See CONTRIBUTING.md and docs/ARCHITECTURE.md.
This project is released under the MIT License.
ASIO is a trademark of Steinberg Media Technologies GmbH. This repository does not redistribute the ASIO SDK; end users rely on drivers installed on their machine.
