1--- 2title: 'Release Notes v0.9.0' 3description: '' 4date: '2023-09-17' 5tags: ['meta'] 6author: froos 7--- 8 9These are the release notes for Strudel 0.9.0 aka "Bananenbrot"! 10 11The last release was over 11 weeks ago, so a lot of things have happened! 12 13Let me write up some of the highlights: 14 15## Improved Synth Engine 16 17The synth engine has gotten a lot of love + a name: [superdough](https://www.npmjs.com/package/superdough) encapsulates the web audio based synth / sampler / fx engine into a reusable package, which is already used by [Topos](https://topos.raphaelforment.fr/). 18Main new features include: 19 20- [filter envelopes](https://strudel.tidalcycles.org/learn/effects#filter-envelope) 21- [FM Synthesis](https://strudel.tidalcycles.org/learn/synths#fm-synthesis) 22- [looping samples](https://strudel.tidalcycles.org/learn/samples#loop), allowing [wavetable synthesis](https://strudel.tidalcycles.org/?I9myTNQoKKaP) 23- [vibrato](https://strudel.tidalcycles.org/learn/synths#vibrato) 24- an integration of [ZZFX](https://strudel.tidalcycles.org/learn/synths#zzfx) 25 26import { Youtube } from '@src/components/Youtube'; 27 28<Youtube client:only="react" id="5ByKVG7jiO4" /> 29 30Related PRs: 31 32- superdough: encapsulates web audio output by @felixroos in https://codeberg.org/uzu/strudel/pulls/664 33- basic fm by @felixroos in https://codeberg.org/uzu/strudel/pulls/669 34- Wave Selection and Global Envelope on the FM Synth Modulator by @Bubobubobubobubo in https://codeberg.org/uzu/strudel/pulls/683 35- control osc partial count with n by @felixroos in https://codeberg.org/uzu/strudel/pulls/674 36- ZZFX Synth support by @Bubobubobubobubo in https://codeberg.org/uzu/strudel/pulls/684 37- Adding filter envelopes and filter order selection by @Bubobubobubobubo in https://codeberg.org/uzu/strudel/pulls/692 38- Adding loop points and thus wavetable synthesis by @Bubobubobubobubo in https://codeberg.org/uzu/strudel/pulls/698 39- Adding vibrato to base oscillators by @Bubobubobubobubo in https://codeberg.org/uzu/strudel/pulls/693 40 41## Desktop App Improvements 42 43Thanks to @daslyfe and @vasilymilovidov , the desktop app now has its own rust based MIDI and OSC integrations, 44which do not depend on browser APIs! 45 46You can see superdough, superdirt via OSC + hardware synths via MIDI all together playing in harmony in this [awesome video](https://www.youtube.com/watch?v=lxQgBeLQBgk). These are the related PRs: 47 48- Create Midi Integration for Tauri Desktop app by @daslyfe in https://codeberg.org/uzu/strudel/pulls/685 49- add sleep timer + improve message iterating by @daslyfe in https://codeberg.org/uzu/strudel/pulls/688 50- fix MIDI CC messages by @vasilymilovidov in https://codeberg.org/uzu/strudel/pulls/690 51- Direct OSC Support in Tauri by @daslyfe in https://codeberg.org/uzu/strudel/pulls/694 52- Add logging from tauri by @daslyfe in https://codeberg.org/uzu/strudel/pulls/697 53- fix osc bundle timestamp glitches caused by drifting clock by @daslyfe in https://codeberg.org/uzu/strudel/pulls/666 54- Midi time fixes by @daslyfe in https://codeberg.org/uzu/strudel/pulls/668 55- [Bug Fix] Account for numeral notation when converting to midi by @daslyfe in https://codeberg.org/uzu/strudel/pulls/656 56- [Bug Fix] Midi: Don't treat note 0 as false by @daslyfe in https://codeberg.org/uzu/strudel/pulls/657 57 58## Visuals 59 60- 2 new FFT based vizualisations have now landed: [scope and fscope](https://codeberg.org/uzu/strudel/pulls/677) (featured in the video at the top). 61- pianoroll has new options, see [PR](https://codeberg.org/uzu/strudel/pulls/679) 62 63Related PRs: 64 65- Scope by @felixroos in https://codeberg.org/uzu/strudel/pulls/677 ([demo](https://strudel.tidalcycles.org/?hXVQF-KxMI8p)) 66- Pianoroll improvements by @felixroos in https://codeberg.org/uzu/strudel/pulls/679 ([demo](https://strudel.tidalcycles.org/?aPMKqXGVMgSM)) 67 68## Voicings 69 70There is now a new way to play chord voicings + a huge selection of chord voicings available. Find out more in these PRs: 71 72- stateless voicings + tonleiter lib by @felixroos in https://codeberg.org/uzu/strudel/pulls/647 ([demo](https://strudel.tidalcycles.org/?FoILM0Hs9y9f)) 73- ireal voicings by @felixroos in https://codeberg.org/uzu/strudel/pulls/653 ([demo](https://strudel.tidalcycles.org/?bv_TjY9hOC28)) 74 75## Adaptive Highlighting 76 77Thanks to @mindofmatthew , the highlighting will adapt to edits instantly! Related PRs: 78 79- More work on highlight IDs by @mindofmatthew in https://codeberg.org/uzu/strudel/pulls/636 80- Adaptive Highlighting by @felixroos in https://codeberg.org/uzu/strudel/pulls/634 81 82## UI Changes 83 84- teletext theme + fonts by @felixroos in https://codeberg.org/uzu/strudel/pulls/681 (featured in video at the top) 85- togglable panel position by @felixroos in https://codeberg.org/uzu/strudel/pulls/667 86 87## Other New Features 88 89- slice: list mode by @felixroos in https://codeberg.org/uzu/strudel/pulls/645 ([demo](https://strudel.tidalcycles.org/?bAYIqz5NLjRr)) 90- add emoji support by @felixroos in https://codeberg.org/uzu/strudel/pulls/680 ([demo](https://strudel.tidalcycles.org/?a6FgLz475gN9)) 91 92## Articles 93 94- Understand pitch by @felixroos in https://codeberg.org/uzu/strudel/pulls/652 95 96## Other Fixes & Enhancements 97 98- fix: out of range error by @felixroos in https://codeberg.org/uzu/strudel/pulls/630 99- fix: update canvas size on window resize by @felixroos in https://codeberg.org/uzu/strudel/pulls/631 100- FIXES: TODO in rotateChroma by @bwagner in https://codeberg.org/uzu/strudel/pulls/650 101- snapshot tests: sort haps by part by @felixroos in https://codeberg.org/uzu/strudel/pulls/637 102- Delete old packages by @felixroos in https://codeberg.org/uzu/strudel/pulls/639 103- update vitest by @felixroos in https://codeberg.org/uzu/strudel/pulls/651 104- fix: welcome message for latestCode by @felixroos in https://codeberg.org/uzu/strudel/pulls/659 105- fix: always run previous trigger by @felixroos in https://codeberg.org/uzu/strudel/pulls/660 106 107## New Contributors 108 109- @daslyfe made their first contribution in https://codeberg.org/uzu/strudel/pulls/656 110- @Bubobubobubobubo made their first contribution in https://codeberg.org/uzu/strudel/pulls/683 111 112**Full Changelog**: https://codeberg.org/uzu/strudel/compare/v0.8.0...v0.9.0 113 114A big thanks to all the contributors!