rust-synth 0.23.0

Terminal modular ambient synthesizer — FunDSP + Ratatui. Long cinematic pads, Euclidean drum sequencer, per-track LFO, Valhalla-Supermassive-style reverb, genetic evolution coupled to Conway's Game of Life, TOML presets, FLAC recording.
Documentation
[package]
name = "rust-synth"
version = "0.23.0"
edition = "2021"
description = "Terminal modular ambient synthesizer — FunDSP + Ratatui. Long cinematic pads, Euclidean drum sequencer, per-track LFO, Valhalla-Supermassive-style reverb, genetic evolution coupled to Conway's Game of Life, TOML presets, FLAC recording."
license = "MIT"
authors = ["Rustam <info@superduperai.co>"]
homepage = "https://github.com/fortunto2/rust-synth"
repository = "https://github.com/fortunto2/rust-synth"
documentation = "https://docs.rs/rust-synth"
readme = "README.md"
keywords = ["synthesizer", "ambient", "dsp", "tui", "music"]
categories = ["multimedia::audio", "command-line-utilities", "multimedia"]
exclude = [
    "out/*",
    "dist/*",
    "recordings/*",
    "presets/*",
    "*.wav",
    "*.flac",
]

[[bin]]
name = "rust-synth"
path = "src/main.rs"

[[bin]]
name = "rust-synth-render"
path = "cli/main.rs"

[lib]
name = "rust_synth"
path = "src/lib.rs"

[dependencies]
# DSP core — graph notation, oscillators, filters, reverb
fundsp = "0.20"

# Audio I/O
cpal = "0.15"

# Offline WAV render (CLI)
hound = "3.5"

# TUI
ratatui = "0.29"
crossterm = "0.28"

# Persistence
serde = { version = "1", features = ["derive"] }
toml = "0.8"
chrono = "0.4"

# Lossless audio encoder for recordings
flacenc = "0.5"
# OGG Vorbis encoder — smaller file, universal playback.
vorbis_rs = "0.5"

# Errors + logging
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Shared state
parking_lot = "0.12"

[dev-dependencies]
approx = "0.5"
tempfile = "3"

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1

[profile.profiling]
inherits = "release"
debug = true