Skip to content

Releases: Mattbusel/math-sonify

math-sonify v1.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 07:35

Prebuilt math-sonify desktop app for Windows, macOS (Apple Silicon and Intel) and Linux.

Pick the file for your system: *-x86_64-pc-windows-msvc.zip (Windows), *-aarch64-apple-darwin.tar.gz (Apple Silicon Mac), *-x86_64-apple-darwin.tar.gz (Intel Mac), *-x86_64-unknown-linux-gnu.tar.gz (Linux). The binaries are unsigned, so Windows SmartScreen may warn about an unknown publisher (More info, then Run anyway) and macOS may need right-click, Open. Run with --help for the headless WAV renderer. See CHANGELOG.md for what changed.

math-sonify v1.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 21:18
c8960ce

Prebuilt math-sonify desktop app for Windows, macOS (Apple Silicon and Intel) and Linux.

Pick the file for your system: *-x86_64-pc-windows-msvc.zip (Windows), *-aarch64-apple-darwin.tar.gz (Apple Silicon Mac), *-x86_64-apple-darwin.tar.gz (Intel Mac), *-x86_64-unknown-linux-gnu.tar.gz (Linux). The binaries are unsigned, so Windows SmartScreen may warn about an unknown publisher (More info, then Run anyway) and macOS may need right-click, Open. Run with --help for the headless WAV renderer. See CHANGELOG.md for what changed.

math-sonify v1.3.0 — 53 Systems, Hyperchaos, New Scales

Choose a tag to compare

@Mattbusel Mattbusel released this 20 Mar 23:35

What's new in v1.3.0

New dynamical systems (7)

  • Hyperchaos (Chen-Li 4D) — two positive Lyapunov exponents; richer unpredictability than ordinary chaos
  • WINDMI — ionospheric substorm current model with exponential nonlinearity
  • Finance — chaotic macroeconomic model (interest rate, investment, price index)
  • Shimizu-Morioka — two-scroll attractor driven by x²
  • Genesio-Tesi — third-order Jerk circuit; one x² term creates chaos
  • Liu Attractor — single-band scroll with y²/xz/xy cross-coupling
  • Sprott K — xy product; one of Sprott's minimal chaotic flows

New musical scales (5)

  • Natural Minor (Aeolian)
  • Harmonic Minor (raised 7th)
  • Locrian
  • Octatonic (diminished)
  • NaturalMinor and HarmonicMinor now fully wired end-to-end

New presets (6)

  • Substorm — WINDMI jerk system; spectral mode, whole tone scale
  • Invisible Hand — Finance attractor; orbital mode, pentatonic minor
  • Hyperchaos Engine — 4D Chen-Li; FM mode, chromatic scale
  • Hyperdimensional — Hyperchaos in spectral mode
  • Magyar Trance — Hungarian minor scale; Rucklidge attractor
  • Substorm Pulse / Market Collapse — rhythmic/experimental WINDMI and Finance presets

Bifurcation diagram

  • 3 new sweep parameters: windmi_b, finance_a, hyperchaos_c

Bug fixes

  • Fixed infinite loop in integrate_adaptive when error never converges
  • Fixed SprottD equations (was using wrong Case D equations; now correctly shows Case I)

Test suite

  • ~1650 tests across all modules (up from ~800 in v1.2.0)
  • Full integration test coverage for all new systems
  • All-presets load/validate test

Download

math-sonify.exe — Windows standalone, no install required. Double-click and audio starts on your default output device.

math-sonify v1.2.0

Choose a tag to compare

@Mattbusel Mattbusel released this 18 Mar 07:28

What is New

  • Minimal CI pipeline replacing complex workflow for reliable green builds
  • Suppressed DSP false-positive clippy lints and added Default for DirectMapping
  • Fixed Linux build dependencies including libx11-xcb-dev and libgl1-mesa-dev
  • Applied rustfmt formatting across all source files
  • Real-time procedural audio synthesis from 15 plus mathematical systems
  • Lorenz attractor, Rossler, Double Pendulum, Three-Body, Kuramoto sync support
  • VST3 and CLAP plugin support via nih-plug
  • CHANGELOG tracking from v1.0.0

Install

cargo install math-sonify

v1.0.4 — Behavioral Layers, Coherence Budget, Scene Export

Choose a tag to compare

@Mattbusel Mattbusel released this 18 Mar 01:57

What's new in v1.0.4

Behavioral Layer Toggles

9 invisible behavioral modifiers are now toggleable in the Advanced panel (BEHAVIORAL LAYERS section): Time of Day, Seasonal Drift, Volume Creep, Breathing, Circadian Sleep, Dreams, Aging, Typing Resonance, Instance Empathy.

Arrangement Coherence Budget

Generated songs now anchor a root key, scale family, and tempo region across all scenes — songs feel like a coherent journey instead of 6 random patches. Reverb is drawn from a shared budget to prevent mud.

Per-Scene Audio Export

Each active scene in the Arrange tab has an ⬇ Export button — records exactly that scene's morph + hold duration to a timestamped WAV file.

Square & Noise Waveforms

Two new oscillator shapes available via voice_shapes config: square (PolyBLEP band-limited) and noise (white noise).

Stability

  • Attractor divergence detector auto-resets and shows a toast notification
  • Dream mode validates config bounds before applying
  • deny(unsafe_code) at crate level

Tests

  • Golden audio regression tests (oscillator determinism + amplitude bounds)
  • Config hot-reload test coverage

v1.0.3 — 📼 Snippet Studio

Choose a tag to compare

@Mattbusel Mattbusel released this 17 Mar 22:26

📼 Snippet Studio — FL Studio-style snippet workflow

How it works:

  1. Generate sounds you like using any attractor + sonification mode
  2. Open the 📼 Studio tab
  3. Choose a capture duration (4s / 8s / 16s / 32s)
  4. Press ⏺ Capture Snippet — saves the last N seconds of live audio to snippets/ as a WAV
  5. Your snippet appears in the Library with a waveform thumbnail and a unique color
  6. Click snippets to rename them, or click the ✕ to delete
  7. Select a snippet in the library, then click any numbered slot in the Song Grid to place it
  8. Fill in the slots to compose your song structure (32 slots, 2 columns)
  9. Press ▶ Play Song to sequence through the slots in order
  10. Enable ↺ Loop to cycle continuously; adjust Vol for playback level

Technical details

  • Snippets are mixed directly into the master audio output by the audio thread
  • Song sequencer runs at UI thread rate (~30 Hz), advancing slots when each finishes
  • All snippets saved as 32-bit float stereo WAV to the snippets/ folder in the app directory

v1.0.2 — System param UI + EQ wiring

Choose a tag to compare

@Mattbusel Mattbusel released this 17 Mar 22:10

What's new

  • Parameter sliders for all 5 new systems: Mackey-Glass DDE (β, γ, τ, n), Nose-Hoover (a), Sprott B (info), Hénon Map (a, b), Lorenz-96 (F forcing) — all accessible in Advanced > Physics Engine > Parameters
  • 3-Band EQ now fully connected: Low shelf / Mid peak / High shelf sliders in Advanced > Effects now actually affect the audio output
  • All system parameters persist — config structs added so params survive system switches
  • Desktop .exe updated

v1.0.1 — Full audit build: 5 new systems + DSP fixes

Choose a tag to compare

@Mattbusel Mattbusel released this 17 Mar 21:55

v1.0.1 — Comprehensive audit build

Includes all changes from the UI overhaul (v1.0.0-ui) plus:

5 New Dynamical Systems

  • Mackey-Glass DDE — delay differential equation (ring buffer approximation)
  • Nose-Hoover — thermostat attractor
  • Sprott B — compact chaotic system
  • Henon Map — 2D discrete chaotic map
  • Lorenz-96 — N-dimensional atmospheric model

DSP Fixes

  • Bitcrusher — triangular dither for smoother quantization, integer counter for even timing
  • Portamento — proper RC-filter exponential smoothing (was incorrect linear interpolation)
  • VU meter — proper 300ms ballistic peak decay
  • Stereo width — energy-preserving normalisation at wide settings
  • Grain spawn rate — smoothed low-pass update, prevents clicks on fast changes
  • 3-band EQ added to master effects chain

Analysis Tools

  • Lyapunov spectrum — live computation every 5s, displayed in Math View
  • Poincaré section utility function
  • Period detection utility function
  • 2D bifurcation mode (sweep two parameters simultaneously)

Download math-sonify.exe and run directly — no install needed.

v1.0.0 — UI Overhaul + Lyapunov Spectrum

Choose a tag to compare

@Mattbusel Mattbusel released this 17 Mar 21:50

What's New

Major UI Overhaul

  • Richer themes — deeper backgrounds, global widget rounding, hover/active strokes across all 4 themes (neon, vaporwave, crt, solar)
  • App identity header — MATH SONIFY title + subtitle at top of panel
  • Live chaos bar — always-visible gradient status bar (blue→orange) + LIVE/PAUSED indicator
  • Better mode toggle — colored fills + accent border strokes (green=Simple, blue=Advanced)
  • Tab bar with icons — 🌀 Phase · 🎚 Mixer · 🎬 Arrange · 〰 Wave · 🎵 Notes · ∑ Math · ∿ Bifurc
  • Larger AUTO button — 58px tall, stroke accent, clearer active/inactive state
  • Mood cards — full-width stacked cards with description text per mood
  • MACROS — framed card with per-macro colored labels (🔥 Chaos · 🌌 Space · ⚡ Rhythm · 🌅 Warmth)
  • Volume control — dB readout in amber, stroke-accented pause button
  • Preset cards — colored left accent strip, category dividers
  • Phase portrait — semi-transparent info overlay and state value backdrops
  • Waveform — subtle grid lines, two-pass glow rendering

New Features

  • Lyapunov spectrum — computed live every ~5s, displayed in Math View (up to 3 exponents)
  • 2D bifurcation mode — sweep two parameters simultaneously
  • rayon parallel processing for spectrum computation

Fixes

  • mackey_glass type ambiguity fix
  • All prior v0.9.x fixes included

Download math-sonify.exe and run directly — no install needed.

Fix: deadlock + NaN guard on portrait trail

Choose a tag to compare

@Mattbusel Mattbusel released this 14 Mar 09:41
  • Fixed potential deadlock in instance-empathy nudge code (two separate shared.lock() calls in one statement)
  • Added NaN/inf guard to portrait trail push so diverging attractors don't corrupt the visualization
  • Both fixes improve crash resilience when using Evolve mode