This is a "bug" that occurs when working with waveshapes in a multiform oscillator.
Waveshapes are quite useful since the wavetable will attempt to transitions their curves from one state to another by looking at the displacement of points and the curve parameters.
However, mulab's internal engine can inadvertently alter the wavetable when attempting to optimize the curves
In this example I use a multiform osc with two waveshapes: a square, and another square with its second point collapsed on the first, making a sort of trapezoid
when generating the wavetable, the multiform oscillator then takes into account all points, such that the waveshapes transition between one another by shifting the position of the second point
However, if a copy of this mutliform is created, the waveshapes get optimized in the copy - the second waveshape has overlapping points and so one gets deleted
What happens then is that the wavetable instead transitions the second point to the third point's position (or really to itself, since in that optimized version that would be the second point), but this means the wavetable has been altered by this optimisation and no longer reflects the intent of the original.
This happens, from what I've seen, when creating copies of a multiform osc or saving the parent mux modular, or the project (the opened instrument/project will not exhibit this behavior, but the version loaded from disk will.)
I wonder if this optimization should be handled more carefully in the context of multiforms, maybe by taking into account the number of points across the different waveshapes to decide if some should be deleted (as in, if waveshapes have the same number of points they shouldn't be optimized).
Unwanted waveshape optimization
Official support for: mutools.com
Unwanted waveshape optimization
2026-06-20T09:14:37+00:00
This is a "bug" that occurs when working with waveshapes in a multiform oscillator.
Waveshapes are quite useful since the wavetable will attempt to transitions their curves from one state to another by looking at the displacement of points and the curve parameters.
However, mulab's internal engine can inadvertently alter the wavetable when attempting to optimize the curves
In this example I use a multiform osc with two waveshapes: a square, and another square with its second point collapsed on the first, making a sort of trapezoid
uw_wvsh_opt_ex.png
when generating the wavetable, the multiform oscillator then takes into account all points, such that the waveshapes transition between one another by shifting the position of the second point
However, if a copy of this mutliform is created, the waveshapes get optimized in the copy - the second waveshape has overlapping points and so one gets deleted
What happens then is that the wavetable instead transitions the second point to the third point's position (or really to itself, since in that optimized version that would be the second point), but this means the wavetable has been altered by this optimisation and no longer reflects the intent of the original.
This happens, from what I've seen, when creating copies of a multiform osc or saving the parent mux modular, or the project (the opened instrument/project will not exhibit this behavior, but the version loaded from disk will.)
I wonder if this optimization should be handled more carefully in the context of multiforms, maybe by taking into account the number of points across the different waveshapes to decide if some should be deleted (as in, if waveshapes have the same number of points they shouldn't be optimized).
AlvanMerri
https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=724920
-
- KVRer
- 18 posts since 11 Nov, 2024
Post by AlvanMerri »
You do not have the required permissions to view the files attached to this post.
Post Reply
1 post
• Page 1 of 1
Jump to
- The Main Forums
- ↳ KVR Studio Manager
- ↳ Getting Started (AKA What is the best...?)
- ↳ Instruments
- ↳ Effects
- ↳ Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)
- ↳ Guitars
- ↳ Mobile Apps and Hardware
- ↳ Soundware
- ↳ Samplers, Sampling & Sample Libraries
- ↳ Hardware (Instruments and Effects)
- ↳ Modular Synthesis
- ↳ Sound Design
- ↳ Production Techniques
- ↳ Music Theory
- ↳ Computer Setup and System Configuration
- ↳ DSP and Plugin Development
- ↳ DIY: Build it and they will come
- ↳ Music Cafe
- ↳ Sell & Buy (+Special Offers, Deals & Promos)
- ↳ KVR Experts
- ↳ KVR Developer Challenge 2026
- ↳ Everything Else (Music related)
- ↳ Off Topic
- ↳ Off Topic Classics
- ↳ Machine Learning and AI for Music Creation
- Official Company Forums
- ↳ 2getheraudio
- ↳ accSone
- ↳ Acon Digital
- ↳ AcousticsampleS
- ↳ AcousModules
- ↳ Agitated State
- ↳ AIR Music Technology
- ↳ AMG
- ↳ Ample Sound
- ↳ Antares Audio Technologies
- ↳ Apisonic Labs
- ↳ APU Software
- ↳ apulSoft
- ↳ AriesCode
- ↳ Arts Acoustic
- ↳ Arturia
- ↳ Audjoo
- ↳ AudioSpillage
- ↳ Audiority
- ↳ Best Service
- ↳ Big Tick
- ↳ Bitwig
- ↳ Controller Scripting
- ↳ Blue Cat Audio
- ↳ Cherry Audio
- ↳ CWITEC
- ↳ Embertone
- ↳ energyXT
- ↳ Eventide
- ↳ Expert Sleepers
- ↳ forward audio
- ↳ Future Audio Workshop
- ↳ FXpansion
- ↳ g200kg
- ↳ Harrison Mixbus
- ↳ HG Fortune
- ↳ Homegrown Sounds
- ↳ HoRNet Plugins
- ↳ Ilya Efimov Production
- ↳ Image Line
- ↳ Impact Soundworks
- ↳ Indiginus
- ↳ Insert Piz Here
- ↳ Ju-X
- ↳ Kirk Hunter Studios
- ↳ Kirnu
- ↳ Kong Audio
- ↳ Krotos
- ↳ Kuassa
- ↳ KV331 Audio
- ↳ LennarDigital
- ↳ Les Productions Zvon
- ↳ Liqube Audio
- ↳ Loomer
- ↳ LVC-Audio
- ↳ Maizesoft
- ↳ Manytone Music
- ↳ Media Overkill (MOK)
- ↳ MeldaProduction
- ↳ Mellowmuse
- ↳ MIDIMood
- ↳ moForte
- ↳ Mozaic Beats
- ↳ mucoder
- ↳ MusicDevelopments
- ↳ Tips & Tricks
- ↳ MusicLab
- ↳ MuTools
- ↳ New Sonic Arts
- ↳ NUSofting
- ↳ Oli Larkin Plugins
- ↳ Orange Tree Samples
- ↳ patchpool
- ↳ Photosounder
- ↳ PlugInGuru
- ↳ Polyverse Music
- ↳ Precisionsound
- ↳ Premier Sound Factory
- ↳ Psychic Modulation
- ↳ Realitone
- ↳ Resonance-Sound
- ↳ Reveal Sound
- ↳ Roger Linn Design
- ↳ rs-met
- ↳ S3A: Spatial Audio
- ↳ SaschArt
- ↳ Smart Electronix
- ↳ sonible
- ↳ SonicBirth
- ↳ Sonic Reality / eSoundz.com
- ↳ Soundiron
- ↳ SPC Plugins
- ↳ Sugar Bytes
- ↳ TAL Software
- ↳ Tokyo Dawn Labs
- ↳ Tracktion
- ↳ Tweakbench
- ↳ u-he
- ↳ u-he Linux support
- ↳ UJAM
- ↳ United Plugins
- ↳ VAZ Synths
- ↳ Virharmonic
- ↳ xoxos
- ↳ XSRDO - SynthCraft
- ↳ ZynAddSubFX
- Site Stuff
- ↳ Site Stuff
- Archived Forums
- ↳ AlgoMusic
- ↳ easytoolz
- ↳ Elevayta
- ↳ Hollow Sun
- ↳ LinPlug
- ↳ Muse Research and Development
- ↳ Shuriken
- ↳ SoHa Sound Design
- ↳ Soniccouture
- ↳ Topten Software
- ↳ Valhalla DSP
- ↳ CK Modules & VST
- ↳ Sennheiser AMBEO
- ↳ Muon Software
- ↳ Westgatesounds.net
- ↳ Squaredheads
- ↳ Sonigen
- ↳ CFA-Sound
- ↳ Back In Time Records
- ↳ Livelab.dk
- ↳ Skytopia
- ↳ audioD3CK
- ↳ Inspire Audio
- ↳ Krakli
- ↳ Drumdrops
- ↳ Futucraft
- ↳ OverTone DSP
- ↳ RaXnTraX
- ↳ solar3d-software
- ↳ Signaldust
- ↳ Soundemote
- ↳ ReleaseLab (Powered by Artist Expansion)
- ↳ Wolfgang Palm
- KVR Forum index
- All times are UTC
- Delete cookies
