valdanylchuk/breezy_sound

1.1.0

Latest
uploaded 2 hours ago
breezy_sound: 8-voice synth mixer, PICO-8 sfx/music tracker, and PCM stream API used in BreezyBox, a mini shell for esp32

Changelog

# Changelog

## 1.1.0 - 2026-07-15

### Added

- PICO-8 sfx/music tracker (`snd_p8.h`): 4 channels rendered inside the mixer
  task at PICO-8's native 22050 Hz (2x upsampled into the 44.1 kHz bus). Apps
  load cart data once (`snd_p8_load`) and make fire-and-forget
  `snd_p8_sfx`/`snd_p8_music` calls — no renderer or per-frame pumping in the
  app. Fixed-point port of zepto8's player (Porklike game feature subset: slides,
  vibrato, drop, fades, arpeggios, loops, patterns, music fades, declick
  crossfade, key-tracked brown noise). `snd_all_off()` also stops the tracker.

### Fixed

- Limiter gain now slews per sample instead of jumping at chunk boundaries;
  the jumps caused loud pops/crackle on note onsets whenever the limiter engaged.

### Changed

- The PCM stream is scaled from int16 full scale to the board's `limit_peak` when
  mixed, instead of being hard-clamped at it.
- One shared oscillator core (`snd_osc.h`) for voices and tracker; waveform
  duty cycles and relative amplitudes now follow zepto8's measured PICO-8
  values (replacing the ear-tuned per-wave gain table — instrument balance in
  the note API shifts slightly).
- The note API's noise wave is now PICO-8's key-tracked brown noise instead
  of sample-and-hold.


## 1.0.0 - 2026-07-06

### Added

- Initial release: 8-voice synth (PICO-8-style waveforms), master limiter, master volume,
  and a single PCM stream mixed in post-limiter. Hardware access goes through the
  `snd_port.h` contract implemented per firmware project.

Links

Maintainer

  • Valentyn Danylchuk <val@danylchuk.com>
To add this component to your project, run:

idf.py add-dependency "valdanylchuk/breezy_sound^1.1.0"

download archive

Stats

  • Archive size
    Archive size ~ 19.65 KB
  • Downloaded in total
    Downloaded in total 1 time
  • Weekly Downloads Weekly Downloads (All Versions)
  • Downloaded this version
    This version: 0 times

Badge

valdanylchuk/breezy_sound version: 1.1.0
|