Skip to content

Releases: MarkWestbroek/MusicBrain

Firmware 0.5.113

Choose a tag to compare

@github-actions github-actions released this 13 Oct 23:08

Firmware 0.5.113 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.113.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-14 — HALL: een grote galm in Lexicon-stijl, vier algoritmes en Freeze (fw 0.5.113)

  • Plan plans/hall-reverb.md, besluiten van Mark:
    alle vier de algoritmes, Freeze erbij, een aparte module naast REVERB
    ("deze is zwaarder, dus de keuze is belangrijk"), convolutie daarna.
  • Nieuwe kern mmb_dsp/hall.h (eigen code, gepubliceerde technieken):
    pre-delay met vroege reflecties (8 aftakkingen per kant, schalen met
    Size), vier all-passes (Dattorro-coëfficiënten), een FDN van 8 lijnen met
    Householder-menging, per lijn demping in drie banden zodat Decay een
    echte RT60
    is (0,2–30 s) en Lo × / Hi damp de galmtijd van laag
    en hoog zetten; gemoduleerde lijnlengten (Random: een willekeurige
    dwaling, de 480L-beweging). Freeze via knop of gate. CV op Size, Decay en
    Mix telt op bij de knop.
  • Module tp_mmb_hall (14 HP), firmware HallModule.h (KernelStream; de
    buffers, ~180 KB, van de heap en terug bij parkeren), wasm
    hall_wasm.cc. Seed "🏛️ STK + HALL" (strijkstok in een zaal van 3,2 s).
  • Gemeten in de simulator (wasmHall.test.ts): RT60 per band klopt binnen
    25 % voor alle algoritmes, staart boven 1 kHz vlak (< 4 dB pieken), dicht
    na 100 ms, L/R gedecorreleerd, Freeze 10 s stabiel. Onder 1 kHz kleuren
    kleine ruimtes (Room) meer: kamermodi, zoals een echte kamer.
  • Teensy: 14,4 % cpu (REVERB 14,9 %). Let op het geheugen: na het
    opstarten is ~270 KB heap vrij; HALL (~180 KB) en REVERB (~150 KB) samen
    in één patch passen niet.

Firmware 0.5.112

Choose a tag to compare

@github-actions github-actions released this 12 Oct 23:15

Firmware 0.5.112 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.112.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-13 — Een gestolen stem slaat weer aan: de wah komt terug met sustain (FW-10, fw 0.5.112)

  • Mark: "met sustain is er geen wah meer" (4-stemmige Ladder, simulator).
    Zijn toetsenbord houdt bij sustain de noten zelf vast (geen CC 64 in de
    opname): tot 12 noten tegelijk, 44 aanslagen terwijl alle 4 stemmen bezet
    waren. De MIDI-IN steelt dan een stem, en zette diens gate laag en meteen
    weer hoog in dezelfde aanroep. De CV-graaf leest één keer per tik (1 ms) en
    zag dus geen nieuwe flank: de filter-envelope (Reset aan) sloeg niet opnieuw
    aan. Dat stond al als FW-10 in de backlog, ook op de Teensy.
  • Nu: na een steal blijft de gate van die stem twee tikken laag
    (retrigLow_), en in de mono-stand zonder Legato geeft een nieuwe toets
    terwijl de vorige ligt ook een nieuwe aanslag (met Legato niet, zoals
    bedoeld). In de core, dus Teensy en simulator gelijk. Test
    wasmMidiSteal.test.ts.

Firmware 0.5.111

Choose a tag to compare

@github-actions github-actions released this 12 Oct 16:53

Firmware 0.5.111 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.111.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-12 — Elements: paneel zoals het origineel, met alle CV-ingangen (fw 0.5.111)

  • Mark: "ik heb het gevoel dat ik in Elements via gemapte CC's meer kon doen
    dan nu via de knoppen" en "houd zoveel mogelijk de oorspronkelijke layout
    aan, mensen kennen dat; ook de stippellijntjes en de scheiding".
  • Paneel (34 HP, was 20): exciter links, resonator rechts, met de
    scheidingslijn; stippellijnen van Contour naar Bow en Blow, en van Flow,
    Mallet, Geometry en Brightness naar hun CV-ingang. Onderaan tien
    attenuverters (− +) met hun CV-jacks, links de I/O-kolom met V/Oct, FM,
    Gate, Strength, twee keer Ext In (eigen geluid als blaas- of
    aanslag-exciter; zat al in de firmware, niet op het paneel) en Out L/R.
    PLAY slaat aan zonder gate. Level, Signature, ModFrq en ModOff (niet
    op het origineel) klein onderaan rechts. Racks schuiven vanzelf op.
  • Firmware en simulator: de tien CV-ingangen (Bow/Blow/Strike Timbre,
    Flow, Mallet, Damping, Geometry, Position, Brightness, Space): knop +
    attenuverter × CV, begrensd zoals het origineel (BIND in
    cv_scaler.cc); gedeelde tabel mmb_dsp/elements_cv.h. FM is nu de
    attenuverter van de FM-ingang (midden = uit, 1 eenheid = een octaaf bij
    open), zoals het origineel; tot nu een vaste verschuiving van ±24 halve
    tonen. Geen seed zette FM. De oude exciter-schakelaar is uit de
    simulator (stond niet op het paneel; de firmware accepteert hem nog).
  • Front in de speelmodus: Elements laat 14 knoppen zien in plaats van 8
    (exciters, Contour, Flow, Mallet, Geometry, Brightness, de drie Timbres,
    Damping, Position, Space); Flow en Mallet groot, de rest klein, zodat het
    op een telefoon past (vier kolommen). Nieuw: FRONT_SIZES in
    frontControls.ts; alleen types met zo'n regel mogen meer dan 8 knoppen.
    Eigen fronts blijven zoals ze zijn.
  • Paneeltekening: lijnen kunnen gestippeld (dash), een knop kan een
    ander gedrukt label hebben dan zijn naam (panelLabel).
  • Contract: de handmatige uitzonderingen voor VCA (Gain/Resp) en VCO (FM)
    weg, die werken sinds 0.5.108/0.5.109.
  • Helpregels voor Elements (NL/EN); test wasmElementsCv.test.ts.

Firmware 0.5.110

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:21

Firmware 0.5.110 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.110.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-12 — "+"-ingangen tellen bij de knop op (fw 0.5.110)

  • Laatste punt van FW-MOD-1. Bij BBD chorus, digital echo, shimmer, reverb,
    stereo phaser, Clouds, Rings en Plaits verving een kabel op een
    "+"-ingang de knop (en las hij de CV in de eenheid van de knop: Hz,
    seconden). Nu telt hij op, zoals het "+" en de originelen van Mutable
    Instruments zeggen: waarde = knop + CV × het bereik van de knop,
    begrensd. Een LFO van ±1 zwaait dus over het hele bereik, een envelope van
    0..1 telt erbij op. Clouds Pitch: knop + CV in V/Oct (×12 halve tonen).
  • Firmware: KnobCv in AudioModule.h; wasm: mmb_knob_cv in
    mmb_abi.h. Zonder kabel geldt de knop (de CV-graaf schrijft 0 bij
    loskoppelen).
  • Bestaande patches: met een kabel op zo'n ingang verandert de klank,
    want de knop telt nu mee. De drie seeds met Tides op Clouds Position en
    Texture hebben die knoppen op 0 gekregen: precies als voorheen. Eigen
    patches met een CV op deze ingangen: de knop terugdraaien naar het
    minimum geeft het oude gedrag.
  • Test wasmKnobCv.test.ts; sitepagina's en poortuitleg van de acht
    modules bij.

Firmware 0.5.109

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:15

Firmware 0.5.109 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.109.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-12 — VCO-FM, LFO-Gate en Stages-Rate werken (fw 0.5.109)

  • Vervolg op FW-MOD-1 (knoppen die niet deden wat het paneel zegt).
  • VCO: FM × de FM-knop telt octaven bij de toonhoogte op (1 kHz-CV:
    vibrato en sweeps; audio-FM blijft de FM-VCO). De Sync-ingang is weg:
    AudioSynthWaveform kan zijn fase niet van buiten terugzetten, en een
    reset op 1 kHz is geen hard sync. Geen seed gebruikte FM of Sync.
  • LFO: de Gate-ingang staat op het paneel (firmware had hem al), dus
    Run = Gated (loopt alleen zolang hoog) en OneShot (één ronde per flank)
    doen nu iets; ook in de simulator. Het recept (addModulation) blijft
    een LFO als één globale modulator plaatsen, ondanks de gate-ingang.
  • Stages: de typeschakelaar heette R/H/S/A, de firmware doet ramp,
    step, hold, alt: nu R/S/H/A (geen seed gebruikte H of S). Rate
    (0,05–20×) schaalt alle tijden: zoveel generatorstappen per 1 kHz-tik. Bij
    Rate 1 precies als voorheen.
  • Test wasmModFixes.test.ts; sitepagina's van VCO, LFO en Stages bij.

Firmware 0.5.108

Choose a tag to compare

@github-actions github-actions released this 12 Oct 00:20

Firmware 0.5.108 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.108.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-12 — VCA: Gain en Resp werken (fw 0.5.108)

  • Gevonden bij het schrijven van de modulepagina's (FW-MOD-1): de VCA sloeg
    Gain en Resp op maar gebruikte ze niet, op de Teensy én in de simulator;
    alleen de CV zette het niveau. De uitleg in de editor beloofde "een
    envelope telt erbij op". Mark: "maak het maar zoals bedoeld".
  • Nu: niveau = clamp(Gain + CV, 0, 1), daarna de curve. Lin recht
    evenredig, Exp exponentieel over 48 dB (halverwege ~−24 dB), zodat een
    envelope natuurlijk uitsterft. Bij Gain 0 en Lin (de standaard) precies het
    oude gedrag; geen seed zet Gain hoger.
  • Firmware VcaModule.h (level()), wasm vca_wasm.cc (zelfde formule,
    standaard gain 0), test wasmVca.test.ts; de oude test "dicht wat gain ook
    zegt" aangepast. Uitleg in moduleHelp.ts (ook Resp) en de notes.
  • Link-commando {"type":"reboot"}: herstart de Teensy (zoals los en
    weer vast, ~4 s). Voor tools/teensy-live/module_cpu.py, dat de rekentijd
    per module meet: de firmware parkeert modules van een vorige patch
    (FW-13), en na twintig modules was het geheugen op (Clouds en de
    Elements-reverb kregen hun buffers niet; daarna liep de Teensy vast). Nu
    meet elke module op een schone Teensy.

Firmware 0.5.107

Choose a tag to compare

@github-actions github-actions released this 11 Oct 17:38

Firmware 0.5.107 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.107.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

2026-10-11 — Rekentijd: het oversamplingfilter 3,8× sneller; Tube werkt weer op de Teensy (fw 0.5.107)

  • Mark: "de ladder ×4 kraakte op de Teensy." Zijn opname had 27 gaten van
    8,6 ms: de Teensy kreeg audioblokken niet op tijd af (patch op 61 % cpu).
  • Het gedeelde 4×-filter (oversample.h) kostte 1653 klokcycli per sample
    (12 % cpu per stuk); nu 435 (3,2 %): vier parallelle sommen en een
    verdubbelde buffer, zelfde taps en zelfde klank. Complex, Drive, Folder,
    Ladder en Tube worden allemaal lichter. Marks Ladder ×4: 61 → 37 %.
  • Tube: één Tube kostte sinds de ADAA van vandaag 139 % en liet de Teensy
    vastlopen. Nu: de ADAA in de triodes en de eindtrap is eruit (te duur, weinig
    winst), en zonder rechteringang rekent hij één kanaal: 26 %.
  • Nieuw diagnosecommando bench (klokcycli per sample van een kern), zie
    dsp-check-2026-10.md §7.
  • Bijgewerkt bij het herbouwen: tp_mmb_midiin.wasm en tp_mmb_tapestrip.wasm
    liepen achter op hun bron (o.a. de stemtoon-instelling van 5 oktober).

Firmware 0.5.105

Choose a tag to compare

@github-actions github-actions released this 11 Oct 16:25

Firmware 0.5.105 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.105.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

Firmware 0.5.104

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:27

Firmware 0.5.104 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.104.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.

Firmware 0.5.103

Choose a tag to compare

@github-actions github-actions released this 11 Oct 14:19

Firmware 0.5.103 voor de MusicBrain (Teensy 4.1 met PSRAM).

Flashen: installeer Teensy Loader, open mmb-fw-0.5.103.hex, druk op het knopje op de Teensy.
Of: editor.musicbrain.nl → Teensy → Firmware.