Bananenbrot
These are the release notes for Strudel 0.9.0 aka "Bananenbrot"!
The last release was over 11 weeks ago, so a lot of things have happened!
Let me write up some of the highlights:
Improved Synth Engine
The synth engine has gotten a lot of love + a name: superdough encapsulates the web audio based synth / sampler / fx engine into a reusable package, which is already used by Topos.
Main new features include:
- filter envelopes
- FM Synthesis
- looping samples, allowing wavetable synthesis
- vibrato
- an integration of ZZFX
strudel-envelopes.mov
Related PRs:
- superdough: encapsulates web audio output by @felixroos in #664
- basic fm by @felixroos in #669
- Wave Selection and Global Envelope on the FM Synth Modulator by @Bubobubobubobubo in #683
- control osc partial count with n by @felixroos in #674
- ZZFX Synth support by @Bubobubobubobubo in #684
- Adding filter envelopes and filter order selection by @Bubobubobubobubo in #692
- Adding loop points and thus wavetable synthesis by @Bubobubobubobubo in #698
- Adding vibrato to base oscillators by @Bubobubobubobubo in #693
Desktop App Improvements
Thanks to @daslyfe and @vasilymilovidov , the desktop app now has its own rust based MIDI and OSC integrations,
which do not depend on browser APIs!
You can see superdough, superdirt via OSC + hardware synths via MIDI all together playing in harmony in this awesome video. These are the related PRs:
- Create Midi Integration for Tauri Desktop app by @daslyfe in #685
- add sleep timer + improve message iterating by @daslyfe in #688
- fix MIDI CC messages by @vasilymilovidov in #690
- Direct OSC Support in Tauri by @daslyfe in #694
- Add logging from tauri by @daslyfe in #697
- fix osc bundle timestamp glitches caused by drifting clock by @daslyfe in #666
- Midi time fixes by @daslyfe in #668
- [Bug Fix] Account for numeral notation when converting to midi by @daslyfe in #656
- [Bug Fix] Midi: Don't treat note 0 as false by @daslyfe in #657
Visuals
- 2 new FFT based vizualisations have now landed: scope and fscope (featured in the video at the top).
- pianoroll has new options, see PR
Related PRs:
- Scope by @felixroos in #677 (demo)
- Pianoroll improvements by @felixroos in #679 (demo)
Voicings
There is now a new way to play chord voicings + a huge selection of chord voicings available. Find out more in these PRs:
- stateless voicings + tonleiter lib by @felixroos in #647 (demo)
- ireal voicings by @felixroos in #653 (demo)
Adaptive Highlighting
Thanks to @mindofmatthew , the highlighting will adapt to edits instantly! Related PRs:
- More work on highlight IDs by @mindofmatthew in #636
- Adaptive Highlighting by @felixroos in #634
UI Changes
- teletext theme + fonts by @felixroos in #681 (featured in video at the top)
- togglable panel position by @felixroos in #667
Other New Features
- slice: list mode by @felixroos in #645 (demo)
- add emoji support by @felixroos in #680 (demo)
Articles
- Understand pitch by @felixroos in #652
Other Fixes & Enhancements
- fix: out of range error by @felixroos in #630
- fix: update canvas size on window resize by @felixroos in #631
- FIXES: TODO in rotateChroma by @bwagner in #650
- snapshot tests: sort haps by part by @felixroos in #637
- Delete old packages by @felixroos in #639
- update vitest by @felixroos in #651
- fix: welcome message for latestCode by @felixroos in #659
- fix: always run previous trigger by @felixroos in #660
New Contributors
- @daslyfe made their first contribution in #656
- @Bubobubobubobubo made their first contribution in #683
Full Changelog: v0.8.0...v0.9.0
A big thanks to all the contributors!