Hi!
I'm a maintainer on surge (https://surge-synthesizer.github.io/) a recently open-sourced synth (which used to be sold commercially by Vember Audio).
The synth uses wavetables heavily.
One of the people trying the synth asked if we could support .uhm files. I subsequently learned that uhm is a clever little DSL authored by you for specifying wave tables. What a cute idea. I had been doing similar things in ipython notebooks but running scripts directly in the synth is neat.
Here's the GitHub issue:
https://github.com/surge-synthesizer/surge/issues/815
but I had a few questions and the user suggested I ask here. They are
1. Is UHM an open spec? I wouldn't want to incorporate it if it is proprietary, if you want it only to be in U-He synths, if it is incompatible with a GPL3 synth, or if generally you don't want us to! etc...
2. If UHM is an open spec, is there a reference implementation in C++ of "uhm -> parse tree -> wave tables" somewhere? And if so is that the kind of thing you could link as a git submodule in another program?
3. If UHM is intended to be open, but there's no reference implementation, have you thought about perhaps taking the implementation you have and starting to segregate it into a library other synths could use? Is that even something you would want? Or would you be interested in working on a loose (my guess is MIT license) submodule that did that step?
I hope this mail doesn't come across as asking too many questions. I can see benefits of UHM being open or closed both, and if your intent is to have UHM not be used in other systems, I totally get it and that's a smart strategy!
But if you are thinking of uhm being used in other synths, I'd love to try and figure out a way for surge to be one of them.
Thanks so much.
UHM as a standard?
- u-he
- 30215 posts since 8 Aug, 2002 from Berlin
We have no plans to open source/open spec it, but we're also neither totally against it. We just absolutely have no time and resources to do/support anything in that direction.
Some functionality (filters, certain interpolators) are certainly regarded as company secrets and will not be disclosed.
Some functionality (filters, certain interpolators) are certainly regarded as company secrets and will not be disclosed.
-
- KVRian
- Topic Starter
- 1214 posts since 25 Dec, 2018
Super clear! Thanks. And makes total sense.
Right now the user has a path of uhm to zebra to some python I wrote to go from wav to wt so I’m going to suggest he leave it that way.
Appreciate the quick response.
Right now the user has a path of uhm to zebra to some python I wrote to go from wav to wt so I’m going to suggest he leave it that way.
Appreciate the quick response.
