Running at 4x oversample and it's no worse than a lot of other synths.
Is there (or is it planned for) a way to map the controls to MIDI CC?
Would it be hard coded? Or maybe RH click to map a control?
Or are we getting ahead of ourselves?
Yeah it's indeed designed to be easy to implement. I sent you a friend request on Discord and I see you found the server links, we can continue there.aaron_anderson wrote: Tue Oct 22, 2024 12:49 am This is really helpful, thank you!
I'm unable to find the Surge Synth Team server; I think it may be private. Are you able to send me an invite? I'm "aaron_anderson." on Discord (I don't know much about discord; let me know if I need to provide more information than that).
It seems straight-forward enough to implement! I have a few items on the roadmap before it, but plan to tackle this for version 1.1.0.
I just tested again and you're right; it is easy to get aliasing with the sinusoidal terrain with maximum harmonics, the scale of the trajectory large, and the butterfly trajectory even at 16x oversampling.El°HYM wrote: Tue Oct 22, 2024 6:04 pm88 or 61 Keys, because a lot of digital ones start get really ugly above C5.aaron_anderson wrote: Tue Oct 22, 2024 5:28 pm
You're very welcome! Fortunately 16x is pretty overkill. I tried the worst-case scenario (the butterfly trajectory on a fully saturated terrain, with the highest note on the keyboard) and 8x oversampling was enough to remove any audible aliasing. For nearly all use cases I would recommend 2x.
Thank you for testing!
There are plans for midi-learn to control parameters (also separate envelopes/LFOs to control parameters). This is going to be more of a 2.0.0 thing; it's a ways off unfortunately.jbraner wrote: Tue Oct 22, 2024 6:15 pm Everything seems fine in Reaper on Windows 11.
Running at 4x oversample and it's no worse than a lot of other synths.
Is there (or is it planned for) a way to map the controls to MIDI CC?
Would it be hard coded? Or maybe RH click to map a control?
Or are we getting ahead of ourselves?![]()
Thank you for finding this! The good news is I was able to reproduce the issue and am fairly confident on the reason this is happening. The bad news is that if I'm right then the fix will be quite involved. I'll add this fix to my 1.0.3 roadmap (it will take a week or two to get around to this).jbraner wrote: Tue Oct 22, 2024 6:27 pm OK - I found something. If you save a Reaper preset with settings that you like, then play around - if you then load the Reaper preset, then none of the controls work anymore. In other words, Terrain is frozen at the settings of th eReaper preset (and works fine) but you can't change anything.
Unfortunately I don't have Logic to test this in. I am interested in your crash log though; maybe it will have useful information. Please send that in a PM if you still have it.muki wrote: Tue Oct 22, 2024 6:44 pm tested and now, finally works well on an old mac mini 2012 intel i7,
under mojave in logic 10.5.1
first it did not work in logic and crashed validation
crashlogs saved in case of interest (PM)
was working fine in hostingAU though
after a restart also no problems (aka validation) in logic
notes:
wonderful
kind of reminds me strongly to newfangled Generate/pendulate
because of its morphing/bending osc
nice GUI imho
easily understandable imho
good colors
some ideas/notes aka wishlist:
a RND button for randomnly generating patches
(love it in Generate, Filterscape etc etc)
best with a strength slider
a bunch of LFOs, ENVs
for modulation all kind of sliders
(terrain a/b, all of those trajectory sliders/parameters...)
stereo oscillator distribution
SUMU has quite an interesting one...
Generate also...
sentaaron_anderson wrote: Tue Oct 22, 2024 10:24 pm Unfortunately I don't have Logic to test this in. I am interested in your crash log though;
That's OK - just keep us informed here, so we can test new versions.aaron_anderson wrote: Tue Oct 22, 2024 10:11 pmThank you for finding this! The good news is I was able to reproduce the issue and am fairly confident on the reason this is happening. The bad news is that if I'm right then the fix will be quite involved. I'll add this fix to my 1.0.3 roadmap (it will take a week or two to get around to this).jbraner wrote: Tue Oct 22, 2024 6:27 pm OK - I found something. If you save a Reaper preset with settings that you like, then play around - if you then load the Reaper preset, then none of the controls work anymore. In other words, Terrain is frozen at the settings of th eReaper preset (and works fine) but you can't change anything.
Well, we'll just have to keep following then...There are plans for midi-learn to control parameters (also separate envelopes/LFOs to control parameters). This is going to be more of a 2.0.0 thing; it's a ways off unfortunately.
Regarding multiple landscapes - I actually started implementing this exactly as you have mentioned! In fact, the Terrain variable is terrainA in anticipation of the second terrainB. That's also what the extra space is for under the terrain selection/modifiers. I decided it wasn't going to be a 1.0.0 feature; my last attempt at this project failed because I got carried away with adding everything I thought of (the idea you mentioned, Granular/Particle Terrain algorithms, Drag and Drop LFO/Envelope controllers, etc). I have not yet decided when I will implement this feature but you will see it in the future.Borbolactic wrote: Wed Oct 23, 2024 5:55 am Booleaning Moving/Interacting Terrains/Waves/Fluid Surfaces/Materials
Edit: @ Devs (and others); what do you think of two separate moving landscapes interacting through realtime CAD-type solid modeling functions, like Subtract, Add and Union, etc. (and/or including wave-propagation rules options, such as cancel-outs and amplifications?), whose results/interplays net the sound?
Seems that would be a next step after the 2d laser-light projection onto the surface, yes?
Perhaps wireframe/phong-shading/etc. options like they have in CAD/animation/game-creation apps would make sense for computation manageability.
A 'video synth' 'code element', as per the one linked in this comment (Lumen) might be able to continuously generate height-maps/fractal height-maps on the fly for those moving, wavey landscapes. Maybe this code element already exists in Terrain. (The video is of CSound, yes?)
---
Possibilities for Dynamical Wave Terrain Synthesis
"...For the most part, the application of dynamical systems to WT synthesis was a response to observing trajectory complexity in real-world signals when represented in discrete phase space and pseudo-phase space. By effectively recreating and waveshaping real-world samples within the WT synthesis model – using two-dimensional discrete phase space and pseudo-phase space plots as trajectory orbits – it has become clear to what extent WT synthesis may have remained in the realms of simple structural types due to the use of Euclidean functional archetypes. As a result, elements of complexity have largely not been fully tried and tested in the WT synthesis model. Even though WT synthesis is not that different from waveshaping synthesis, it is potentially more adaptable. Due to its multi-parameter flexibility, the technique can be modified and adapted in terms of methodological approach. This multi-parameter and multi-faceted flexibility needs to be explored to achieve a further understanding of the WT synthesis paradigm.
It seems that the introduction of dynamical systems theory may complement the WT synthesis model. Dynamics will allow for more organic control over the sound synthesis technique by providing more flexibility over the phase state of the system at any given time, and may serve to interface with the many control parameters already inherent within the existing WT synthesis model. It seems earlier approaches may be too restrictive for expressive control. The introduction of dynamical systems has been discussed at various stages of the terrain function model, and various issues pertinent to both the terrain and trajectory systems have been addressed, including those relating to multi-dimensional signal processing and computational efficiency. Further research may involve thoroughly testing dynamical systems within the WT synthesis model. Other avenues of investigation might include a thorough assessment regarding the use of vector bundles as a means of developing control over the form of a passive periodic element within the dynamical framework of a trajectory orbit. Another possibility may be the introduction of a system for the dynamic modeling of system attractors (Röbel 2001), involving various stages of analysis of successive representations of embedded plots in pseudo-phase space. These structures have great potential for application within this synthesis paradigm.
There are many options for future investigation, and dynamical systems theory – an immense area alone – may only be the start of further investigation. It is certain that a great deal of work is still necessary to make any particularly useful and conclusive judgments based on the extended practical use of WT synthesis. It is also clear that this work is still a long way from drawing any comprehensive conclusions concerning the applications of dynamics to WT synthesis."
~ Stuart James, January 2003, Conference: Australasian Computer Music Conference, Edith Cowan University
---
---
Lumen Video Synthesizer
[Wave Terrain Synthesis Leveraging Video Synthesis In Reverse?]
Cool to know, Aaron, and understood...aaron_anderson wrote: Wed Oct 23, 2024 5:37 pmRegarding multiple landscapes - I actually started implementing this exactly as you have mentioned! In fact, the Terrain variable is terrainA in anticipation of the second terrainB. That's also what the extra space is for under the terrain selection/modifiers. I decided it wasn't going to be a 1.0.0 feature; my last attempt at this project failed because I got carried away with adding everything I thought of (the idea you mentioned, Granular/Particle Terrain algorithms, Drag and Drop LFO/Envelope controllers, etc). I have not yet decided when I will implement this feature but you will see it in the future.Borbolactic wrote: Wed Oct 23, 2024 5:55 am Booleaning Moving/Interacting Terrains/Waves/Fluid Surfaces/Materials
Edit: @ Devs (and others); what do you think of two separate moving landscapes interacting through realtime CAD-type solid modeling functions, like Subtract, Add and Union, etc. (and/or including wave-propagation rules options, such as cancel-outs and amplifications?), whose results/interplays net the sound?
Seems that would be a next step after the 2d laser-light projection onto the surface, yes?
Perhaps wireframe/phong-shading/etc. options like they have in CAD/animation/game-creation apps would make sense for computation manageability.
A 'video synth' 'code element', as per the one linked in this comment (Lumen) might be able to continuously generate height-maps/fractal height-maps on the fly for those moving, wavey landscapes. Maybe this code element already exists in Terrain. (The video is of CSound, yes?)
---
Possibilities for Dynamical Wave Terrain Synthesis
[...]
"...For the most part, the application of dynamical systems to WT synthesis was a response to
There are many options for future investigation, and dynamical systems theory – an immense area alone – may only be the start of further investigation. It is certain that a great deal of work is still necessary to make any particularly useful and conclusive judgments based on the extended practical use of WT synthesis. It is also clear that this work is still a long way from drawing any comprehensive conclusions concerning the applications of dynamics to WT synthesis."
~ Stuart James, January 2003, Conference: Australasian Computer Music Conference, Edith Cowan University
---
---
Lumen Video Synthesizer
[Wave Terrain Synthesis Leveraging Video Synthesis In Reverse?]
Regarding graphics rendering methods - the default (only) method I have implemented is extremely lightweight and processes on it's own thread on the CPU, and rendered entirely on the GPU. I tested this on a potato of a macbook; if it works there it will work anywhere. That being said I would like to add Visualization options. The unfortunate reality is that whenever I work on that, I'm not working on DSP improvements, audio feature requests, and Interface improvements which by all rights should take priority.
I'm not quite sure how Lumen is doing what it is doing, but I wouldn't necessarily need to. If I added a web-cam to terrain feature, syphon could be plugged in to Terrain. Web-cam to terrain and/or video terrain is a feature that I may never implement; It would be quite complicated to turn a 30FPS matrix into a per-sample interpolated 3D wavetable. Certainly possible, but that is very high-hanging fruit.
Thanks for the links. I nearly have that Stuart James paper memorized at this point. I discovered WTS while reading the Computer Music Tutorial by Curtis Roads, which pointed me to Stuart James.
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement
© KVR Audio, Inc. 2000-2026