Noteahead is a lightweight, pattern-based MIDI sequencer and "half-daw" for Linux, designed for musicians who prefer the tracker workflow but want a modern, self-contained production environment.
While it excels as a dedicated MIDI "brain" for external synthesizers and drum machines, Noteahead now features a powerful suite of internal instruments, a studio-quality virtual rack for mixing, and high-precision rendering capabilities.
Noteahead is written in Qt/QML/C++20 on top of RtMidi back-end + RtAudio. It builds with CMake and uses CTest + Qt Test framework for unit tests.
![]() | |||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
While many musicians rely on complex DAWs, Noteahead is for Linux musicians who enjoy the precision and keyboard-driven workflow of trackers but want something more integrated than a simple MIDI sequencer. It is the perfect middle ground—a "half-daw" that can act as the central brain of a MIDI setup or as a standalone production tool using its built-in software synths and effects.
Whether you are sequencing external vintage gear via USB-MIDI or building entire tracks in the box, Noteahead offers a clear interface with studio-quality features like 8-band parametric EQ, feedback delay network reverbs, and a high-precision offline renderer.
My own setup runs Noteahead on Ubuntu 24.04 LTS with all gear connected via USB-MIDI hubs. Synths are routed to an external digital mixer connected to the PC via USB. I record with Noteahead and master in Audacity using LSP (mostly) plugins. I have already produced several songs with it, available on SoundCloud, YouTube Music, and Spotify (see links below).
I now also write songs with the internal instruments only. It has been a huge effort to make this possible.
Some example tracks sequenced and recorded with Noteahead (usually mastered in Audacity).
A short synth demo:
Songs with Noteahead's built-in synths and drums only:
- Arctic Music Project - Halla Once More (SoundCloud)
- Arctic Music Project - Fairytale (SoundCloud)
- Arctic Music Project - Massive (SoundCloud)
Noteahead with hardware synths:
- Arctic Music Project - Raindrops (SoundCloud)
- Arctic Music Project - My Real Name (Spotify)
- Arctic Music Project - Epic Success (Epic Piano Remix) (Spotify)
- Arctic Music Project - Incredible Times (Spotify)
- Arctic Music Project - Your Love (Spotify)
- Arctic Music Project - Black Winter (Spotify)
- Arctic Music Project - Pointless (YouTube)
- Arctic Music Project - Pointless (SoundCloud)
- Arctic Music Project - Why (SoundCloud)
- Arctic Music Project - 0035AM (Spotify)
- J.L.P - This Planet (Spotify)
All Arctic Music Project songs:
- Sample-Accurate Timing
- Jitter-free and drift-free internal timing strategy.
- High-Precision Offline Renderer
- Export songs to WAV with sample-accurate timing, preserving all automations and parameters.
- Native Audio Backend Selector
- Explicit support for ALSA, PulseAudio, and JACK with optional transport synchronization.
- Lightweight & Scalable
- Fully scalable UI with a Debian package size of around 1 MB.
- Virtual Device Rack
- Central hub for managing multiple independent instances of internal instruments.
- Per-slot level meter with a gain staging marker, a load readout, and a clip LED that latches on any full-scale output until clicked.
- Faders run from -inf to +10 dB, with unity three quarters up the throw, on devices and Sampler pads alike.
- Synth
- Polyphonic VA synthesizer (up to 6 voices) with dual oscillators, multi-mode filters, ADSR/Mod EGs, LFO, and built-in Delay.
- Wavetable Synth
- 8-voice wavetable synthesizer with two independent wavetable oscillators (Classic and Spectral sets), noise generator, cascaded LPF/HPF filters, Amp and Mod EGs, LFO, and Poly/Unison voice modes with stereo pan spread. Features 2× oversampling and portamento.
- Bass Synth
- Monophonic acid-style synthesizer with sub-oscillator, resonant 24dB LPF, and TB-303 style accent/slide.
- Drum Synth
- Multi-engine drum machine with 11 independent voices (Kick, Snare, Toms, etc.) and dedicated per-voice controls.
- Sampler
- 16-pad internal sampler with WAV support, dual filters, and per-sample panning/volume.
- Piano Synth
- Physically modelled (waveguide) piano with brightness, decay, inharmonicity, LPF/HPF shaping, release, and stereo pan spread.
- String & Voice
- Vintage string/choir ensemble inspired by the Roland VP-330 / Behringer VC340, with strings and voice registers, BBD ensemble chorus, and a sidechain vocoder.
- String Ensemble
- Divide-down string machine in the Solina tradition: twelve master oscillators tapped at 16'/8'/4' by every key, so octaves stay phase-locked and polyphony is unlimited. Bass section (Contrabass, Cello) below the split with its own Volume Bass, upper section (Horn, Viola, Trumpet, Violin) above it, plus Crescendo/Sustain Length, ensemble chorus and a swept phaser.
- Sub Mixer
- Groups other devices so a whole set is mixed and processed as one entity, with its own insert effects, Volume, Gain and Pan. Members keep their own reverb sends, Sub Mixers can be nested, and Volume/Pan can be ridden from a track over MIDI CC.
- Dynamic Routing
- Per-device Effect Sends for flexible mixing.
- Master and Per-Device Effect Racks
- Studio-quality effects hub with support for multiple independent instances. Every effect below is available in both the master rack and each device's insert rack.
- 8-Band Parametric EQ
- High-precision equalizer with multiple filter types (Bell, Shelf, Cut, Notch) per band and Mid/Side processing modes.
- Vintage Passive EQ
- Passive "program equalizer" in the EQP-1A tradition, with interacting low Boost/Atten shelves, a high bell Boost with Bandwidth, and a separate high Atten shelf.
- Air Band EQ
- Six-band parallel-summed "air band" equalizer whose fixed bands (Sub, 40 Hz, 160 Hz, 650 Hz, 2.5 kHz) are taps added back to the dry signal rather than a cascade.
- Simple EQ
- A single "Sounds Good" knob sweeping a fixed loudness-smile curve: low-shelf body, a gentle low-mid scoop and a high-shelf air lift.
- FDN Reverb
- High-quality Feedback Delay Network algorithm with 8 studio presets (Hall, Cathedral, etc.) and fine-grained controls.
- Endless Reverb
- Large ambient reverb built on an 8-line modulated Householder FDN with input diffusion, plus a Freeze switch for an infinite tail.
- Compressor
- Feed-forward compressor with soft-knee interpolation, lookahead support, and real-time gain reduction metering.
- Auto Ducker
- Side-chain driven level rider with Threshold, Knee, Attack, Hold and Release. Amount is signed, so the same effect ducks the signal out of the way or lifts it with the side chain.
- Limiter
- Lookahead brickwall peak limiter with Threshold, Ceiling, Release and Lookahead controls, a Boost switch for maximum loudness, and gain reduction metering.
- Clipper
- Hard/soft clipper with adjustable threshold and output gain.
- Saturator
- Multi-mode saturation/distortion for adding harmonics and warmth.
- Drive
- Overdrive with Drive amount, dry/wet Mix and output Gain, in Soft (tanh), Hard (clip), Fold (wavefolder) and Dist algorithms.
- Chorus
- Stereo chorus with rate, depth, delay, width, and LPF/HPF shaping.
- Delay
- Studio-standard delay with feedback, tempo sync, and Mono/Ping-Pong/Tape modes.
- Panner & Auto Panner
- Static stereo panning plus an LFO-driven auto panner.
- All-Pass Filter
- Multi-stage all-pass filter for phase shaping.
- Metering & Analysis
- LUFS loudness meter, dBTP true-peak meter, and a real-time analyzer (RTA).
- Integrated Effects
- Includes High-Pass/Low-Pass filters and Panning/Volume utilities.
- Keyboard-Driven Workflow
- Fast, tracker-style editing using decimal values (0-127).
- Advanced Automation
- Linear, Sine wave, and Random modulation for MIDI CCs and Pitch Bend.
- Pattern-Based Sequencing
- Flexible play order management with independent pattern lengths.
- Arpeggiator & Chords
- Integrated arpeggiator with multiple patterns (Up, Down, Random) and customizable chord offsets.
- MIDI Side-Chain
- Trigger MIDI CC events based on other tracks or columns.
- Step Recording
- Record notes directly from a MIDI controller into the editor.
- MIDI Hot-Plug
- Automatic detection and setup of MIDI devices as they go online/offline.
- Virtual MIDI Out
- Use Noteahead to control other software or external hardware.
- Wide Hardware Support
- Tested with a vast range of Arturia, Behringer, Korg, Roland, and Yamaha gear.
- Standard Exports
- Export to MIDI File Format 1 (SMF Type 1) including automations.
- Audio Recorder
- Direct-to-disk recording from the selected audio source.
- Calculators
- Built-in Delay time and Note frequency calculators.
- Experimental MIDI Import
- Initial support for importing Standard MIDI Files.
- Horizontal visualization / Piano Roll
Noteahead is written in Qt/QML/C++20, because it's a relevant, stable, and well-known technology stack especially in the Linux-world. Qt also has a very good support for safe threads and it performs well. The MIDI backend is currently based on RtMidi, but the architecture is such that it can be easily changed.
Only one "instrument" can be set per track (it's possible to change patch on-the-fly, however). I don't like the traditional concept where each note includes the instrument number and can be inserted anywhere. In my opinion this easily leads into a mess and the workflow is clumsy.
All values are entered in decimal format, typically ranging from 0 to 127 to align with the MIDI protocol and also used in many synthesizers. I've never been a fan of the hexadecimal notation commonly used in trackers.
The song is rendered into events just before playing. Accurate timestamps are calculated for each event beforehand in order to achieve a drifting-free timing. The player thread syncs to these event timestamps.
Noteahead reads and saves to a custom XML-based format. This has several pros:
- It supports more feature than just a simple MIDI-file.
- A plain text project file works well with version control systems like Git. You can immediately see what you have changed in the project. A binary-formatted project file is a black box and a PITA.
Several..? That was only two, come on!
Noteahead's source code is licensed under GNU GPLv3. See COPYING for the complete license text.
Currently Debian packages for Ubuntu 24.04 LTS and Ubuntu 26.04 LTS are provided. Installation, for example:
$ sudo apt install ./noteahead-0.1.0-ubuntu-24.04_amd64.deb
Currently Noteahead depends on Qt >= 6.4. Actually that's the only thing that defines the Ubuntu version if stock Qt is to be used.
Noteahead is currently being developed on Ubuntu 24.04 LTS and on Ubuntu 26.04 LTS with the stock Qt 6 from repositories.
Packages needed for building:
$ sudo apt install build-essential cmake pkg-config ninja-build qt6-base-dev qt6-declarative-dev qt6-tools-dev librtmidi-dev librtaudio-dev libsndfile-dev libjack-jackd2-dev
Note: As we are in the middle of the PipeWire transition, the Jack development files might not be needed.
Additional packages needed to run:
$ sudo apt install qml6-module-qtcore qml6-module-qtqml qml6-module-qtqml-workerscript qml6-module-qtquick qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qtquick-layouts qml6-module-qtquick-templates qml6-module-qtquick-window
$ mkdir build && cd build
$ cmake -GNinja ..
$ ninja
$ ./noteahead
Optionally install locally:
$ ninja install
$ ctest
$ cpack -G DEB
Noteahead ships with a complete user manual, available in the application under Help => User Manual.... It has a table of contents, follows the current theme, and covers everything in detail: the toolbar, the editor columns, every internal device and effect, automations, synchronization, and audio rendering.
The manual source lives in src/view/qml/Manual.html.
A quick keyboard shortcut reference is also available under Help => Shortcuts....
The section below is only a quick start — the manual is the authoritative reference.
1) Give a track a sound. Click the settings icon on a track header to open Track Settings. A track plays either an external MIDI instrument or one of Noteahead's internal devices:
- External MIDI: pick the MIDI output port and channel of your synth or drum machine. Devices are hot-plugged, so they appear as they come online.
- Internal device: click Device Rack... in the same dialog (also under Devices => Device rack...), press (+) on a free slot, pick an instrument from the Device Gallery — Synth, Wavetable Synth, Bass Synth, Drum Synth, Sampler, Piano Synth, String & Voice, String Ensemble or Sub Mixer — and then select its internal port (e.g. Noteahead Synth 1) back in Track Settings. Nothing external is needed; Noteahead renders these itself.
2) Set up the track. Click the track name to rename it. [+]/[-] in the track header adds or removes note columns.
3) Sequence. Press ESC to enter edit mode and use your PC keyboard as a virtual "piano": Z..M is the lower octave (Z is "C"), Q..U the higher one. The STEP, VEL and OCT spinners in the toolbar control the cursor advance, the default velocity and the base octave.
4) Play. Press SPACE or use the play buttons.
5) Build the song. In the Pattern section, the PAT spinner selects the pattern being edited (increase it to create a new one) and LEN sets its length in lines — each pattern can have its own. Click the pattern name to rename it. In the Song section, POS selects the position in the play order, PAT the pattern assigned to it, and LEN the song length. Right-click a position button to mark it as skipped.
6) Mix. Each device rack slot has Insert FX for its own effect rack, Sends for the shared send effects, and a fader with a level meter and clip LED for gain staging. The master rack is under Effects => Master effect rack....
7) Export. File => Render audio... renders offline to WAV or FLAC, either as a master mix or as per-track stems, with optional normalization and a loudness report. File => Export MIDI file... writes an SMF Type 1 file including automations.
Each note column line has four fields:
C-4 100 00 064
- Note: pitch and octave, or
OFFfor a note off event. - Velocity:
000..127. - Delay: sub-line timing offset for humanizing.
- Pan:
000..127, sent as MIDI CC #10. Only on the first note column of a track; the others show---.
The main context menu is accessed by right-clicking on the editor view. Its actions are grouped by scope — Line, Column, Track, Pattern, Song and Selection — and cover cut/copy/paste, transposition, note-off insertion, velocity and pan interpolation, MIDI CC and pitch bend automations, and line events such as patch changes. Lines that have an event assigned are rendered in an accent color.
| Key | Action |
|---|---|
| ESC | Toggle edit mode |
| SPACE | Toggle play mode |
| INSERT | Insert an empty line and move subsequent lines down |
| BACKSPACE | Delete the current line and pull subsequent lines up |
| DELETE | Clear the current event |
| A | Insert a note off event |
| F3 / F4 | Decrease / increase the current octave |
| Z..M | Play/insert notes of the lower octave |
| Q..U | Play/insert notes of the higher octave |
Cut/Copy/Paste (also available via right-clicking on the editor):
| Scope | Cut | Copy | Paste |
|---|---|---|---|
| Selection | Ctrl + X | Ctrl + C | Ctrl + V |
| Column | Alt + F3 | Alt + F4 | Alt + F5 |
| Track | Shift + F3 | Shift + F4 | Shift + F5 |
| Pattern | Ctrl + F3 | Ctrl + F4 | Ctrl + F5 |
Transposition (also available via right-clicking on the editor):
| Scope | -1 semitone | +1 semitone | -12 semitones | +12 semitones |
|---|---|---|---|---|
| Column | Alt + F9 | Alt + F10 | Alt + F11 | Alt + F12 |
| Track | Shift + F9 | Shift + F10 | Shift + F11 | Shift + F12 |
| Pattern | Ctrl + F9 | Ctrl + F10 | Ctrl + F11 | Ctrl + F12 |
I have tested Noteahead with at least these devices (USB MIDI):
- Arturia Keystep
- Behringer DeepMind 6
- Behringer Model D
- Behringer RD-6
- Behringer RD-8 MK II
- Behringer RD-9
- Behringer Solina String Ensemble
- Behringer TD-3-MO
- Behringer VC340
- Eventide SPACE
- Korg Electribe 2
- Korg KROSS
- Korg Minilogue XD
- Korg Monologue
- Novation Bass Station II
- Roland SP-404 MK II
- Roland TR-8S
- Yamaha CP4
First of all, I'm a tracker musician and also a professional software engineer.
-
I don't want to depend on closed source software with closed file formats for my music work.
-
Because I can.
-
Because I want to live in the past.
















