Flerspors musikkopptaksapplikasjon — Version 0.1.1
2026-04-13
Musician's Canvas er en flerspors musikkopptaksapplikasjon for stasjonære datamaskiner. Den støtter lydopptak fra mikrofoner og line-in-enheter, MIDI-opptak fra keyboards og kontrollere, og miksing av alle spor til en enkelt WAV- eller FLAC-fil. En følgeapplikasjon, Virtual MIDI Keyboard, gir et programvareklaviatur for sending av MIDI-noter.
Musician's Canvas er designet for å være enkel å bruke, samtidig som den tilbyr funksjoner som ofte finnes i digitale lydarbeidsstasjoner (DAW-er):
Kjør den kjørbare filen musicians_canvas fra byggemappen eller installasjonsplasseringen din:
./musicians_canvas
Ved første oppstart åpner applikasjonen med et tomt prosjekt. Du må angi en prosjektmappe før du kan ta opp.
Ved oppstart bruker applikasjonen det lagrede temaet (mørkt eller lyst), og hvis en prosjektmappe tidligere har blitt brukt og inneholder en project.json-fil, lastes prosjektet automatisk inn.
Angi prosjektmappen: Skriv inn eller bla til en mappe i feltet "Project Location" øverst i vinduet. Det er her opptak og prosjektfilen lagres.
Legg til et spor: Klikk på knappen + Add Track. Et nytt spor vises med standardinnstillinger. Hvis det er det eneste sporet i prosjektet og ennå ikke er tatt opp, armeres det automatisk for opptak.
Navngi sporet: Skriv et navn i tekstfeltet ved siden av knappen "Options". Dette navnet brukes som filnavn for den innspilte lydfilen.

Like under menylinjen er det en verktøylinje med hurtigtilgangsknapper:

Prosjektfilen (project.json) lagrer spornavn, typer, MIDI-noter, lydfilreferanser og alle prosjektspesifikke innstillinger. Lydfiler lagres i samme mappe som project.json og navngis etter sporene sine (f.eks. My_Track.flac).
Hvis du lukker applikasjonen med ulagrede endringer, spør en bekreftelsesdialog om du vil lagre før du avslutter.
Mens et prosjekt er åpent, kan du dra én eller flere støttede lydfiler fra filutforskeren din (Windows Utforsker, macOS Finder, Linux-filbehandler osv.) direkte til Musician's Canvas-vinduet for å legge dem til som nye lydspor.
.wav og .flac. Filer i andre formater hoppes
stille over, og en dialog på slutten viser hvilke filer som ble hoppet
over.Bass Line.wav et lydspor
med navnet "Bass Line".Hvert spor kan konfigureres som enten Audio (for mikrofon/line-in-opptak) eller MIDI (for keyboard/kontroller-opptak).
For å endre sportypen:
Dette åpner dialogen Sporkonfigurasjon, der du kan velge inndatakilden.

Hver sporrad har følgende kontroller:
Når et prosjekt har nøyaktig ett spor og det sporet ennå ikke er tatt opp, armeres det automatisk for opptak. Dette gjelder både når det første sporet legges til i et nytt prosjekt, og når et eksisterende prosjekt med et enkelt tomt spor åpnes.
Det innspilte lydsignalet lagres som en FLAC-fil i prosjektmappen, navngitt etter sporet.
Under opptak og avspilling deaktiveres alle interaktive kontroller (sporknapper, innstillinger osv.) for å forhindre utilsiktede endringer.
Lydspor har en knapp Effekter rett under Options. Den åpner dialogen Spor-effekter, der du bygger en ordnet kjede med insert-effekter for opptak på dette sporet:

Effekttypene inkluderer Reverb, Chorus, Flanger, Overdrive / distortion, Amp & cabinet (modellering av forsterker og høyttalerkabinett: amptype, kabinett, gain, bass/mellomtone/discant, luft og blandning) og Vibrato (Tremolo).
Vibrato (Tremolo) er klassisk Fender‑“Vibrato” (tremolo): en periodisk volum-modulasjon. Bruk Speed for pulshastighet og Intensity (Depth) for dybde (fra subtil shimmer til full “chop”).
Skjermbilder av Amp & cabinet:


Effekter brukes når du stopper opptaket, etter vanlig capture og resampling. Konfigurasjonen lagres i
project.json under audioEffectChain.
Project → Project Settings → Mix Effects lets you build the same kind of ordered effect chain as Track effects (Reverb, Chorus, Flanger, Overdrive / distortion, Amp & cabinet, Vibrato (Tremolo)), but applied to the entire mixed program: when you press Play to hear all enabled tracks together, and when you export with Mix tracks to file (toolbar or Tools menu). The chain is saved in project.json under projectSettings → mixEffectChain.
Project → Project Settings → Aux / Send Bus configures a shared effect chain fed by each track’s Aux send slider (on the track row). The dry mix of all tracks is summed, each track’s post-gain/post-pan signal is scaled by its Aux level and sent through this bus, then the wet aux output is added back to the dry sum before Mix Effects run. Use it for a single shared reverb/delay while keeping per-track insert effects independent.
To reduce harsh digital clipping when processing pushes peaks toward full scale, the effect engine applies a soft limiter to normalized float samples immediately before conversion to 16-bit PCM. The EffectWidget base class documents guardFloatSampleForInt16Pcm() and softLimitFloatSampleForInt16Pcm() for any new real-time code that writes to 16-bit audio.
Each track row includes a compact mixer strip:
Options → Track Configuration also offers Clip trim (non-destructive): Trim start and Trim end skip that many seconds from the beginning and end of the clip for playback, mix, and export without deleting the underlying recording.
MIDI tracks can carry control change (CC) automation stored in the project and in exported .mid files; offline playback and mix use these events when rendering MIDI to audio.
Edit → Undo / Redo (standard shortcuts) apply to mixer and trim changes made on tracks.
Ved siden av tidsdisplayet styr Overvåk lyd under opptak om live-inngang sendes til prosjektets lydutgang under opptak:
Valget lagres i prosjektet (monitorWhileRecording i project.json). Skru av for å redusere mikrofontilbakekobling.
Når du tar opp et nytt spor mens andre aktiverte spor allerede inneholder lyd- eller MIDI-data, utfører Musician's Canvas overdub-opptak: de eksisterende sporene mikses sammen og spilles av i sanntid mens det nye sporet tas opp. Dette lar deg høre tidligere innspilte deler mens du legger inn en ny del.
Miksen av eksisterende spor forberedes før opptaket begynner, slik at opptak og avspilling starter på omtrent samme tidspunkt, noe som holder alle spor synkroniserte.
Musician's Canvas støtter to lydopptaksbackender:
Opptaksbackenden kan konfigureres per prosjekt i Project > Project Settings > Audio.
Musician's Canvas tar opp med lydinndataenhetens opprinnelige samplingsfrekvens og konverterer deretter automatisk til prosjektets konfigurerte samplingsfrekvens ved hjelp av høykvalitets resampling. Dette betyr at du kan angi hvilken som helst prosjektsamplingsfrekvens (f.eks. 44100 Hz eller 48000 Hz) uavhengig av enhetens opprinnelige frekvens. Konverteringen bevarer tonehøyde og varighet nøyaktig.
Noen lydenheter (f.eks. USB-webkameramikrofoner) er fysisk mono, men annonseres som stereo av operativsystemet. Musician's Canvas oppdager dette automatisk og justerer kanalantallet tilsvarende. Hvis prosjektet er konfigurert for stereo, dupliseres monosignalet til begge kanaler.
MIDI-noter vises i en pianorull-visualisering på sporet.
Musician's Canvas inkluderer en innebygd metronom som kan brukes under opptak for å hjelpe deg å holde takten. Klikk på metronomknappen på knapperaden (under menylinjen) for å åpne dialogen for metronominnstillinger:

Dialogen tilbyr:
Når metronomen er aktivert, begynner den å tikke når opptaket faktisk starter (etter at 3-sekunders nedtellingen er fullført), og stopper når opptaket avsluttes.
Klikk på knappen Play for å mikse og spille av alle aktiverte spor. Knappens verktøytips endres for å indikere om den vil spille eller ta opp, basert på om et spor er armert. Deaktiverte spor (ikke avkrysset) ekskluderes fra avspillingen.
Under avspilling dekodes lydspor fra FLAC-filene sine, og MIDI-spor gjengis til lyd ved hjelp av den innebygde FluidSynth-synthesizeren. Alle spor mikses sammen og spilles gjennom systemets lydutdataenhet.
Klikk på knappen Stop for å avslutte avspillingen når som helst.
Bruk Tools > Mix tracks to file (Ctrl+M) for å eksportere alle aktiverte spor til en enkelt lydfil. En dialog lar deg velge utdatabanen og formatet:
Miksen bruker prosjektets konfigurerte samplingsfrekvens. MIDI-spor gjengis ved hjelp av den konfigurerte SoundFont.
Bruk Settings > Configuration (Ctrl+,) for å angi globale standarder som gjelder for alle prosjekter:



.sf2 SoundFont-fil for MIDI-syntese. På Linux kan en system-SoundFont bli automatisk oppdaget hvis pakken fluid-soundfont-gm er installert. På Windows og macOS må du konfigurere SoundFont-banen manuelt.

Bruk Project > Project Settings (Ctrl+P) for å overstyre globale standarder kun for det gjeldende prosjektet. Dette er nyttig for prosjekter som trenger en bestemt samplingsfrekvens, SoundFont eller lydenhet. Prosjektspesifikke innstillinger lagres i project.json-filen.


The Mix Effects tab is a scrollable list with the same controls as Track effects (Add effect…, drag ≡ to reorder, ✕ to remove). Processing order is top to bottom on the combined mix of all enabled tracks. These effects run during whole-project playback and when mixing to a single WAV or FLAC file; they are not baked into individual track files on disk. An empty list leaves the mixed signal unchanged aside from the mixer's own level handling.
Configure the shared aux effect chain (same effect types as track inserts). Each track’s Aux slider on the track row controls how much of that track’s signal is sent through this bus; the wet aux return is summed with the dry mix before Mix Effects are applied.
| Menypunkt | Snarvei | Beskrivelse |
|---|---|---|
| Save Project | Ctrl+S | Lagre det gjeldende prosjektet til disk |
| Open Project | Ctrl+O | Åpne en eksisterende prosjektfil |
| Close | Ctrl+Q | Avslutte applikasjonen |
| Menypunkt | Snarvei | Beskrivelse |
|---|---|---|
| Project Settings | Ctrl+P | Configure project-specific settings (includes Aux / Send Bus) |
| Tempo map | Edit tempo changes (seconds vs BPM) for metronome and MIDI quantization | |
| Add Demo Data to Selected Track | Legge til eksempel-MIDI-noter for demonstrasjon |
| Menu Item | Shortcut | Description |
|---|---|---|
| Undo | Ctrl+Z | Undo recent mixer/trim edits on tracks |
| Redo | Ctrl+Shift+Z | Redo |
| Menypunkt | Snarvei | Beskrivelse |
|---|---|---|
| Configuration | Ctrl+, | Åpne globale applikasjonsinnstillinger |
| Menypunkt | Snarvei | Beskrivelse |
|---|---|---|
| Mix tracks to file | Ctrl+M | Eksportere alle aktiverte spor til en fil |
| Export stems to folder | One WAV stem per track (gain/pan/trim; no master Mix Effects) | |
| Recording options | Punch-in region for audio; loop playback for the whole project | |
| Quantize MIDI | Snap MIDI note starts to a grid (all MIDI tracks or armed track only) | |
| Add drum track | D | MIDI-trommespor og .mid (se nedenfor) |
| Virtual MIDI Keyboard | Starte følgeapplikasjonen for keyboard |
| Menypunkt | Snarvei | Beskrivelse |
|---|---|---|
| Manual | Alt+M | Åpne PDF-brukermanualen på språket som er valgt i appen |
| About | Vis versjon og programinformasjon |
| Snarvei | Handling |
|---|---|
| Ctrl+S | Lagre prosjekt |
| Ctrl+Z | Undo (mixer/trim) |
| Ctrl+Shift+Z | Redo |
| Ctrl+O | Åpne prosjekt |
| Ctrl+M | Mikse spor til fil |
| D | Legg til trommespor (Tools-menyen) |
| Ctrl+P | Prosjektinnstillinger |
| Ctrl+, | Innstillinger / Konfigurasjon |
| Alt+M | Open PDF manual (Help) |
| Ctrl+Q / Alt+F4 | Avslutte |
Tools → Add drum track (snarvei D) legger til MIDI-trommespor på kanal 10 General MIDI (indeks 9). Standardnavn Drums.
.mid skrives i prosjektmappa: to takter 4/4. Tempo:
Lenker: Audient, MDrummer, Reddit, CS229 PDF.
Virtual MIDI Keyboard er en følgeapplikasjon (virtual_midi_keyboard) som gir et skjermklaviatur for sending av MIDI-noter. Den kan startes fra menyen Tools > Virtual MIDI Keyboard i hovedapplikasjonen, eller kjøres uavhengig.

Datamaskinens tastatur er kartlagt til pianotangenter over to oktaver:
Nedre oktav (starter ved gjeldende oktav):
| Tast | 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 |
Øvre oktav (en oktav høyere):
| Tast | 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 (neste oktav) |
| 9 | C#/Db |
| O | D |
| 0 | D#/Eb |
| P | E |
Tangenter lyser opp visuelt når de trykkes (hvite tangenter blir lyseblå, svarte tangenter mørkner).
Åpne konfigurasjonsdialogen (Settings > Configuration, Ctrl+,) for å sette opp MIDI- og lydenheter:

.sf2 SoundFont-fil for den innebygde synthesizeren.| Snarvei | Handling |
|---|---|
| Ctrl+, | Konfigurasjonsdialog |
| Ctrl+U | Hjelp / Bruksinformasjon |
| Ctrl+Q | Lukke |
.sf2) for senere avspilling.Notene vises i piano roll. File > Save Project skriver en .mid-fil og project.json i prosjektmappen.
Avspilling bruker FluidSynth med SoundFont fra innstillingene. Sjekk Settings > Configuration > MIDI (eller Project > Project Settings ved prosjektspesifikke overstyringer): en gyldig .sf2-sti må være satt. På Linux kan system-SoundFont finnes automatisk; på Windows og macOS må du ofte velge filen manuelt.
Det er to separate programmer. Start Virtual MIDI Keyboard fra Tools > Virtual MIDI Keyboard (eller alene). For at skjermtastaturet skal nå Musician's Canvas under MIDI-opptak, må operativsystemet rute tastaturets MIDI-utgang til en inngang som Musician's Canvas bruker — ofte via virtuell MIDI-kabel eller matchende porter i begge appene. De kobler ikke til automatisk.
Settings > Configuration setter globale standardverdier (tema, språk, MIDI/lydenheter, SoundFont osv.). Project > Project Settings overstyrer deler kun for gjeldende prosjekt og lagres i project.json. Hvis et felt står på prosjektstandard, brukes den globale verdien fra Configuration.
Filer aksepteres bare når prosjektkatalog er satt og Musician's Canvas ikke spiller av eller tar opp. Støttede formater er .wav og .flac; andre filendelser hoppes over og listes i en dialog. Hver fil blir et nytt lydspor med navn fra filnavnet uten endelse.
Lyd lagres i prosjektkatalogen som <spornavn>.flac (tegn som / \ : * ? " < > | erstattes med understrek). Prosjektfilen er project.json i samme mappe. MIDI-spor lagres som <spornavn>.mid når du lagrer prosjektet (sammen med noter i project.json).
Ved miks eller avspilling rendres MIDI først til en midlertidig WAV internt. Hvis prosjektstien er kjent, skriver Musician's Canvas også en FLAC-cache i prosjektmappen: <renset_spornavn>.flac (samme regler som andre sporfiler). Navnet følger spornavnet, ikke en intern ID.
Nei. Bare ett spor kan være armet om gangen; det får neste opptak. Bygg sangen ved å ta opp ett om gangen (overdub spiller eksisterende spor under nytt opptak).
Nei. Når den er på, spilles metronomen via systemlyd bare som referanse for deg. Den blandes ikke inn i opptaksfilen.
På Windows forventer hovedprogrammet en ASIO-driver for pålitelig lavlatens-lyd. Installer ASIO4ALL eller produsentens driver ved feil.
I .app-pakken kopieres Virtual MIDI Keyboard-kjørbare fil inn i Musician's Canvas.app (Contents/MacOS/), slik at én appmappe kan distribueres. Start den fortsatt via Tools > Virtual MIDI Keyboard.
amixer eller skrivebordsmiljøets lydinnstillinger for å sjekke volumnivåer..sf2-fil) er konfigurert i Settings > Configuration > MIDI.fluid-soundfont-gm er installert.libpipewire-0.3-dev er installert (nødvendig for PipeWire-integrasjon med FluidSynth-synthesizeren).Se README for fullstendige byggeinstruksjoner for Linux, macOS og Windows, inkludert alle nødvendige avhengigheter.