Mehrspurige Musikaufnahme-Anwendung — Version 0.1.1
2026-04-13
Musician's Canvas ist eine Mehrspuranwendung zur Musikaufnahme für Desktop-PCs. Sie unterstützt Audioaufnahmen von Mikrofonen und Line-In-Geräten, MIDI-Aufnahmen von Keyboards und Controllern sowie das Abmischen aller Spuren in eine einzelne WAV- oder FLAC-Datei. Eine Begleitanwendung, Virtual MIDI Keyboard, stellt eine Software-Klaviertastatur zum Senden von MIDI-Noten bereit.
Musician's Canvas ist auf einfache Bedienung ausgelegt und bietet gleichzeitig Funktionen, die häufig in digitalen Audio-Workstations (DAWs) zu finden sind:
Führen Sie die ausführbare Datei musicians_canvas aus dem Build-Verzeichnis oder Ihrem
Installationsort aus:
./musicians_canvas
Beim ersten Start öffnet die Anwendung ein leeres Projekt. Sie müssen ein Projektverzeichnis festlegen, bevor Sie aufnehmen können.
Beim Starten wendet die Anwendung das gespeicherte Design (dunkel oder hell) an, und wenn
zuvor ein Projektverzeichnis verwendet wurde, das eine project.json-Datei enthält, wird
das Projekt automatisch geladen.
Projektverzeichnis festlegen: Geben Sie im Feld "Project Location" oben im Fenster einen Ordnerpfad ein oder navigieren Sie dorthin. Hier werden Aufnahmen und die Projektdatei gespeichert.
Eine Spur hinzufügen: Klicken Sie auf die Schaltfläche + Add Track. Eine neue Spur erscheint mit Standardeinstellungen. Wenn es die einzige Spur im Projekt ist und noch nicht aufgenommen wurde, wird sie automatisch für die Aufnahme scharfgeschaltet.
Die Spur benennen: Geben Sie einen Namen in das Textfeld neben der Schaltfläche "Options" ein. Dieser Name wird als Dateiname für die aufgenommene Audiodatei verwendet.

Direkt unter der Menüleiste befindet sich eine Werkzeugleiste mit Schnellzugriffs-Schaltflächen:

Die Projektdatei (project.json) speichert Spurnamen, -typen, MIDI-Noten,
Audiodatei-Referenzen und alle projektspezifischen Einstellungen. Audiodateien werden im
selben Verzeichnis wie project.json gespeichert und nach ihren Spuren benannt (z.B.
My_Track.flac).
Wenn Sie die Anwendung mit ungespeicherten Änderungen schließen, fragt ein Bestätigungsdialog, ob Sie vor dem Beenden speichern möchten.
Während ein Projekt geöffnet ist, können Sie eine oder mehrere unterstützte Audiodateien aus Ihrem Dateimanager (Windows Explorer, macOS Finder, Linux- Dateimanager usw.) direkt auf das Musician's Canvas-Fenster ziehen, um sie als neue Audiospuren hinzuzufügen.
.wav und .flac. Dateien in anderen Formaten
werden stillschweigend übersprungen, und am Ende zeigt ein Dialog an,
welche Dateien übersprungen wurden.Bass Line.wav erstellt beispielsweise
eine Audiospur mit dem Namen "Bass Line".Jede Spur kann entweder als Audio (für Mikrofon-/Line-In-Aufnahme) oder MIDI (für Keyboard-/Controller-Aufnahme) konfiguriert werden.
Um den Spurtyp zu ändern:
Dies öffnet den Dialog zur Spurkonfiguration, in dem Sie die Eingangsqülle auswählen können.

Jede Spurzeile bietet folgende Steuerungen:
Wenn ein Projekt genau eine Spur hat und diese Spur noch nicht aufgenommen wurde, wird sie automatisch für die Aufnahme scharfgeschaltet. Dies gilt sowohl beim Hinzufügen der ersten Spur zu einem neuen Projekt als auch beim Öffnen eines bestehenden Projekts mit einer einzelnen leeren Spur.
Das aufgenommene Audio wird als FLAC-Datei im Projektverzeichnis gespeichert und nach der Spur benannt.
Während der Aufnahme und Wiedergabe werden alle interaktiven Steuerelemente (Spur- Schaltflächen, Einstellungen usw.) deaktiviert, um versehentliche Änderungen zu verhindern.
Audiospuren haben eine Schaltfläche Effekte direkt unter Optionen. Sie öffnet den Dialog Spureffekte, in dem Sie eine geordnete Kette von Insert-Effekten für Aufnahmen auf dieser Spur einrichten:

Zur Verfügung stehen u. a. Hall, Chorus, Flanger, Overdrive / distortion, Amp & cabinet (Modellierung von Verstärker und Lautsprecherbox: Amp-Typ, Box, Gain, Bass/Mitten/Höhen, Air und Mischung) sowie Vibrato (Tremolo).
Vibrato (Tremolo) ist das klassische Fender‑„Vibrato“ aus vielen Verstärkern: eine periodische Lautstärkemodulation. Mit Speed stellen Sie die Puls‑Geschwindigkeit ein, mit Intensity (Depth) die Stärke (von dezentem Schimmern bis zum „Chop“).
Screenshots des Effekts Amp & cabinet:


Die Effekte werden auf das Audio angewendet, wenn Sie die Aufnahme beenden – nach der
üblichen Capture- und SRC-Pipeline. Die Konfiguration wird in project.json unter
audioEffectChain der Spur gespeichert.
Unter Project → Project Settings → Mix Effects legen Sie dieselbe Art von Effektkette wie bei Track effects fest, angewendet auf die komplette Mischung aller aktivierten Spuren: beim Abspielen des ganzen Projekts und beim Export als gemischte Datei (WAV/FLAC). Die Kette wird in project.json unter projectSettings → mixEffectChain gespeichert.
Project → Project Settings → Aux / Send Bus legt eine gemeinsame Effektkette fest, die von jedem Aux-Senderegler auf der Spurzeile gespeist wird. Zuerst wird das Trockensignal aller Spuren summiert; das Signal jeder Spur nach Gain und Pan wird mit dem Aux-Pegel skaliert, durch diese Bus-Kette verarbeitet und der nasse Aux-Anteil wird zum Trockensum zurückaddiert, bevor Mix Effects laufen. So nutzen Sie z. B. einen gemeinsamen Hall oder Delay bei unabhängigen Insert-Effekten pro Spur.
Um hartes digitales Clipping zu vermeiden, wenn Pegel nahe Vollaussteuerung steigen, wendet die Engine eine weiche Begrenzung auf normalisierte Float-Samples an, unmittelbar bevor sie in 16-Bit-PCM gewandelt werden. Die Basisklasse EffectWidget dokumentiert guardFloatSampleForInt16Pcm() und softLimitFloatSampleForInt16Pcm() für neuen DSP-Code.
Jede Spurzeile enthält einen kompakten Mixer-Bereich:
Options → Track Configuration bietet Clip trim (nicht-destruktiv): Trim start und Trim end lassen so viele Sekunden am Anfang und Ende des Clips für Wiedergabe, Mix und Export weg, ohne die zugrundeliegende Aufnahme zu löschen.
MIDI-Spuren können Control-Change- (CC-)Automatisierung im Projekt und in exportierten .mid-Dateien tragen; Offline-Wiedergabe und Mix verwenden diese Ereignisse beim Rendern von MIDI zu Audio.
Edit → Undo / Redo (übliche Tastenkürzel) gelten für Mixer- und Trim-Änderungen auf den Spuren.
Neben der Zeitanzeige steuert das Kontrollkästchen Ton während der Aufnahme mithören, ob Live-Eingang während der Aufnahme an den Projekt-Audioausgang geleitet wird:
Die Einstellung wird im Projekt gespeichert (monitorWhileRecording in project.json).
Deaktivieren Sie das Mithören, um z. B. Rückkopplung vom Mikrofon zu vermeiden.
Wenn Sie eine neue Spur aufnehmen, während andere aktivierte Spuren bereits Audio- oder MIDI-Daten enthalten, führt Musician's Canvas eine Overdub-Aufnahme durch: Die vorhandenen Spuren werden zusammengemischt und in Echtzeit wiedergegeben, während die neue Spur aufgenommen wird. So können Sie zuvor aufgenommene Teile hören, während Sie einen neuen einspielen.
Die Mischung der vorhandenen Spuren wird vor Beginn der Aufnahme vorbereitet, sodass Aufnahme und Wiedergabe annähernd gleichzeitig starten und alle Spuren synchron bleiben.
Musician's Canvas unterstützt zwei Audio-Aufnahme-Backends:
Das Aufnahme-Backend kann projektspezifisch unter Project > Project Settings > Audio konfiguriert werden.
Musician's Canvas nimmt mit der nativen Abtastrate des Audio-Eingangsgeräts auf und konvertiert anschließend automatisch in die konfigurierte Projekt-Abtastrate mittels hochwertiger Neuabtastung. Das bedeutet, Sie können jede Projekt-Abtastrate festlegen (z.B. 44100 Hz oder 48000 Hz), unabhängig von der nativen Rate des Geräts. Die Konvertierung bewahrt Tonhöhe und Daür exakt.
Einige Audiogeräte (z.B. USB-Webcam-Mikrofone) sind physisch mono, werden aber vom Betriebssystem als Stereo angezeigt. Musician's Canvas erkennt dies automatisch und passt die Kanalanzahl entsprechend an. Wenn das Projekt für Stereo konfiguriert ist, wird das Mono-Signal auf beide Kanäle dupliziert.
MIDI-Noten werden in einer Piano-Roll-Visualisierung auf der Spur angezeigt.
Musician's Canvas enthält ein integriertes Metronom, das während der Aufnahme zum Halten des Takts verwendet werden kann. Klicken Sie auf die Metronom-Schaltfläche in der Schaltflächenleiste (unter der Menüleiste), um den Dialog der Metronom-Einstellungen zu öffnen:

Der Dialog bietet:
Wenn das Metronom aktiviert ist, beginnt es zu ticken, sobald die Aufnahme tatsächlich startet (nach Ablauf des 3-Sekunden-Countdowns), und stoppt, wenn die Aufnahme endet.
Klicken Sie auf die Schaltfläche Play, um alle aktivierten Spuren abzumischen und wiederzugeben. Der Tooltip der Schaltfläche zeigt an, ob sie abspielen oder aufnehmen wird, je nachdem ob eine Spur scharfgeschaltet ist. Deaktivierte Spuren (nicht angehakt) werden von der Wiedergabe ausgeschlossen.
Während der Wiedergabe werden Audiospuren aus ihren FLAC-Dateien dekodiert und MIDI-Spuren mit dem integrierten FluidSynth-Synthesizer in Audio umgewandelt. Alle Spuren werden zusammengemischt und über das Audio-Ausgabegerät des Systems wiedergegeben.
Klicken Sie jederzeit auf die Schaltfläche Stop, um die Wiedergabe zu beenden.
Verwenden Sie Tools > Mix tracks to file (Ctrl+M), um alle aktivierten Spuren in eine einzelne Audiodatei zu exportieren. Ein Dialog ermöglicht die Auswahl des Ausgabepfads und Formats:
Die Abmischung verwendet die konfigurierte Projekt-Abtastrate. MIDI-Spuren werden mit dem konfigurierten SoundFont gerendert. Gain, Pan, Stumm/Solo, Aux-Send und Trim pro Spur werden wie bei der Wiedergabe angewendet.
Tools → Export stems to folder schreibt eine WAV-Datei pro Spur (aktivierte Spuren, die am Mix teilnehmen). Jeder Stem übernimmt die Mixer-Einstellungen und den Trim dieser Spur; die Mix Effects des Gesamtprogramms werden nicht auf einzelne Stems angewendet.
Verwenden Sie Settings > Configuration (Ctrl+,), um globale Standardwerte festzulegen, die für alle Projekte gelten:

recording_debug.txt
im Projektverzeichnis. Dies umfasst das Aufnahme-Backend, den Gerätenamen, die
Abtastrate, die Kanalanzahl und Zeitdaten. Diese Option ist standardmäßig deaktiviert
und dient hauptsächlich zur Fehlerbehebung bei Aufnahmeproblemen.

.sf2 SoundFont-Datei für die MIDI-Synthese.
Unter Linux kann ein System-SoundFont automatisch erkannt werden, wenn das Paket
fluid-soundfont-gm installiert ist. Unter Windows und macOS müssen Sie den
SoundFont-Pfad manuell konfigurieren.

Verwenden Sie Project > Project Settings (Ctrl+P), um die globalen Standardwerte nur
für das aktuelle Projekt zu überschreiben. Dies ist nützlich für Projekte, die eine
bestimmte Abtastrate, ein bestimmtes SoundFont oder ein bestimmtes Audiogerät benötigen.
Projektspezifische Einstellungen werden in der Datei project.json gespeichert.


Wie bei Track effects: scrollbare Liste mit Effekt hinzufügen…, ≡ zum Neuordnen, ✕ zum Entfernen. Die Reihenfolge ist von oben nach unten auf dem Summensignal, nachdem alle aktivierten Spuren gemischt wurden. Diese Effekte laufen bei Wiedergabe aller Spuren und beim Mix zu einer Datei; sie werden nicht in die einzelnen Spurdateien auf der Festplatte „eingebacken“. Eine leere Liste lässt den Mix unverändert (abgesehen von der internen Pegelführung des Mixers).
Hier konfigurieren Sie die gemeinsame Aux-Effektkette (dieselben Effekttypen wie bei Spur-Inserts). Der Aux-Regler jeder Spur steuert, wie viel des Signals dieser Spur durch diesen Bus läuft; der nasse Aux-Rückweg wird zum Trockensum addiert, bevor Mix Effects angewendet werden.
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Save Project | Ctrl+S | Aktülles Projekt auf der Festplatte speichern |
| Open Project | Ctrl+O | Ein bestehendes Projekt öffnen |
| Close | Ctrl+Q | Die Anwendung beenden |
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Project Settings | Ctrl+P | Projektspezifische Einstellungen konfigurieren (inkl. Aux / Send Bus) |
| Tempo map | Tempoänderungen (Sekunden vs. BPM) bearbeiten; Metronom-Hinweise und MIDI-Quantisierung | |
| Add Demo Data to Selected Track | Beispiel-MIDI-Noten zur Demonstration hinzufügen |
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Undo | Ctrl+Z | Mixer-/Trim-Änderungen rückgängig machen |
| Redo | Ctrl+Shift+Z | Wiederholen |
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Configuration | Ctrl+, | Globale Anwendungseinstellungen öffnen |
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Mix tracks to file | Ctrl+M | Alle aktivierten Spuren in eine Datei exportieren |
| Export stems to folder | Ein WAV-Stem pro Spur (Gain/Pan/Trim; ohne Master-Mix-Effects) | |
| Recording options | Punch-in-Bereich für Audio-Retakes; Loop-Wiedergabe für das ganze Projekt | |
| Quantize MIDI | MIDI-Notenanfänge auf ein Raster rastern (alle MIDI-Spuren oder nur scharfgeschaltete) | |
| Add drum track | D | MIDI-Schlagzeugspur anlegen und .mid-Groove schreiben |
| Virtual MIDI Keyboard | Die Begleit-Tastaturanwendung starten |
| Menüeintrag | Tastenkürzel | Beschreibung |
|---|---|---|
| Manual | Alt+M | Öffnet das PDF‑Benutzerhandbuch in der aktuell ausgewählten Sprache |
| About | Zeigt Versions- und Programminformationen |
| Tastenkürzel | Aktion |
|---|---|
| Ctrl+S | Projekt speichern |
| Ctrl+O | Projekt öffnen |
| Ctrl+Z | Rückgängig (Mixer/Trim) |
| Ctrl+Shift+Z | Wiederholen |
| Ctrl+M | Spuren in eine Datei abmischen |
| D | Schlagzeugspur hinzufügen (Tools-Menü) |
| Ctrl+P | Projekteinstellungen |
| Ctrl+, | Einstellungen / Konfiguration |
| Alt+M | PDF-Handbuch öffnen (Help) |
| Ctrl+Q / Alt+F4 | Beenden |
Tools → Add drum track (Tastenkürzel D) erzeugt eine MIDI-Spur für Schlagzeug auf MIDI-Kanal 10 (General MIDI; intern Kanalindex 9). Standardname z. B. Drums (mit Nummer bei Bedarf).
Sofort wird eine Standard-MIDI-Datei (.mid) im Projektordner geschrieben: zwei Takte 4/4 mit Kick, Snare und geschlossenem Hi-Hat. Tempo:
Hinweis: Die Schätzung ist bewusst einfach (Onset-Autokorrelation); bei manchem Material kann Halb-/Doppelzeit auftreten.
Weiterführend: Audient — realistische MIDI-Drums, Melda MDrummer, Reddit — Drum-Patterns aus Audio, Stanford CS229 — Automated Music Track Generation.
Das Virtual MIDI Keyboard ist eine Begleitanwendung (virtual_midi_keyboard), die eine
Bildschirm-Klaviertastatur zum Senden von MIDI-Noten bereitstellt. Es kann über das Menue
Tools > Virtual MIDI Keyboard in der Hauptanwendung gestartet oder unabhängig
ausgeführt werden.

Die Computertastatur ist über zwei Oktaven auf Klaviertasten abgebildet:
Untere Oktave (beginnend bei der aktuellen Oktave):
| Taste | Note |
|---|---|
| Z | C |
| S | C#/Db |
| X | D |
| D | D#/Eb |
| C | E |
| V | F |
| G | F#/Gb |
| B | G |
| H | G#/Ab |
| N | A |
| J | A#/Bb |
| M | B |
Obere Oktave (eine Oktave höher):
| Taste | Note |
|---|---|
| Q | C |
| 2 | C#/Db |
| W | D |
| 3 | D#/Eb |
| E | E |
| R | F |
| 5 | F#/Gb |
| T | G |
| 6 | G#/Ab |
| Y | A |
| 7 | A#/Bb |
| U | B |
| I | C (nächste Oktave) |
| 9 | C#/Db |
| O | D |
| 0 | D#/Eb |
| P | E |
Tasten leuchten beim Drücken visuell auf (weiße Tasten werden hellblau, schwarze Tasten werden dunkler).
Öffnen Sie den Konfigurationsdialog (Settings > Configuration, Ctrl+,), um MIDI- und Audiogeräte einzurichten:

.sf2 SoundFont-Datei für den integrierten
Synthesizer.| Tastenkürzel | Aktion |
|---|---|
| Ctrl+, | Konfigurationsdialog |
| Ctrl+U | Hilfe / Nutzungsinformationen |
| Ctrl+Q | Schließen |
.sf2) für die spätere Wiedergabe.Die Noten erscheinen in der Piano-Roll-Ansicht. File > Save Project schreibt eine .mid-Datei (und project.json) in den Projektordner.
Die Wiedergabe nutzt FluidSynth mit dem SoundFont aus Ihren Einstellungen. Prüfen Sie Settings > Configuration > MIDI (oder Project > Project Settings bei Projekt-Overrides): ein gültiger .sf2-Pfad muss gesetzt sein. Unter Linux wird ein System-SoundFont oft automatisch gefunden; unter Windows und macOS müssen Sie meist manuell eine SoundFont-Datei wählen.
Es sind zwei getrennte Programme. Starten Sie Virtual MIDI Keyboard über Tools > Virtual MIDI Keyboard (oder eigenständig). Damit die Bildschirmtastatur in Musician's Canvas auf einer MIDI-Spur aufgenommen wird, muss das Betriebssystem den MIDI-Ausgang der Tastatur zu einem Eingangsport routen, den Musician's Canvas nutzt—z. B. über ein virtuelles MIDI-Kabel oder passende Portwahl in beiden Apps. Die Programme verbinden sich nicht automatisch.
Settings > Configuration legt globale Standardwerte (Theme, Sprache, MIDI/Audio, SoundFont usw.) in den Programmeinstellungen fest. Project > Project Settings überschreibt einige Werte nur für das aktuelle Projekt und wird in project.json gespeichert. Steht ein Feld auf dem Projekt-Default, gilt der globale Wert aus der Configuration.
Dateien werden nur akzeptiert, wenn ein Projektverzeichnis gesetzt ist und weder Wiedergabe noch Aufnahme läuft. Unterstützt werden .wav und .flac; andere Endungen werden übersprungen und in einem Dialog aufgelistet. Jede Datei wird eine neue Audio-Spur mit Namen aus dem Dateinamen (ohne Erweiterung).
Audioaufnahmen liegen im Projektverzeichnis als <Spurname>.flac (Zeichen wie / \ : * ? " < > | werden zu Unterstrichen). Die Projektdatei ist project.json im gleichen Ordner. MIDI-Spuren werden beim Speichern als <Spurname>.mid abgelegt (zusätzlich zu den Noten in project.json).
Beim Mischen oder Abspielen wird MIDI intern zunächst in ein temporäres WAV gerendert. Ist der Projektpfad bekannt, schreibt Musician's Canvas zusätzlich einen FLAC-Cache im Projektordner: <bereinigter_Spurname>.flac (gleiche Bereinigung wie bei anderen Spurdateien). Der Name folgt dem Spurnamen, nicht einer internen ID.
Nein. Nur eine Spur kann armed sein; sie erhält die nächste Aufnahme. Sie bauen ein Stück, indem Sie nacheinander aufnehmen (Overdub spielt bestehende Spuren während einer neuen Aufnahme ab).
Nein. Das Metronom läuft über die Systemwiedergabe nur für Sie. Es landet nicht in der Aufnahmedatei.
Unter Windows erwartet die Hauptanwendung einen ASIO-Treiber für zuverlässige niedrige Latenz. Installieren Sie z. B. ASIO4ALL oder einen Herstellertreiber, wenn Start- oder Audiofehler auftreten.
Im .app-Bundle wird die Virtual-MIDI-Keyboard-Programmdatei in Musician's Canvas.app kopiert (Contents/MacOS/), damit ein einzelner App-Ordner verteilt werden kann. Start weiterhin über Tools > Virtual MIDI Keyboard.
amixer oder die Klangeinstellungen Ihres Desktops, um
die Lautstärkepegel zu überprüfen..sf2-Datei) unter Settings > Configuration >
MIDI konfiguriert ist.fluid-soundfont-gm installiert ist.libpipewire-0.3-dev
installiert ist (wird für die PipeWire-Integration mit dem FluidSynth-Synthesizer
benötigt).Siehe die README für vollständige Build-Anleitungen für Linux, macOS und Windows, einschliesslich aller erforderlichen Abhängigkeiten.