ADAA needs antiderivatives though (derivatives won't help) ... but I was mostly wondering if you could teach the NN itself to learn it.QuadrupleA wrote: Sun Jun 05, 2022 1:33 am But there is gradient/derivative info from the neural net, so wonder if there's a way to combine the two?
BrainDamage, a neural network synthesizer - feedback welcome
- KVRAF
- 8484 posts since 12 Feb, 2006 from Helsinki, Finland
-
- KVRist
- Topic Starter
- 110 posts since 1 Nov, 2012
Oops, of course
I suspect what would happen is, if you trained these NNs with a 2nd input for blurring/frequency/phase-delta or some smoothing parameter like that - it would learn a decent approximation of it for the normal case. E.g. if you trained it on a sawtooth wave, it would degrade gracefully to a sine-ish wave as the frequency parameter goes up.mystran wrote: Sun Jun 05, 2022 6:43 am but I was mostly wondering if you could teach the NN itself to learn it.
But it probably wouldn't generalize to smoothing the weird waveforms that result from tweaking/damaging individual neurons - you'd be directly messing with some of the neurons that are providing your smoothing, so it'll introduce new possibly high-frequency harmonics etc. and you'll get aliasing there.
Curious to experiment a bit with that though, it might not behave like I'm expecting.
- KVRist
- 211 posts since 3 Jan, 2021
Well in my case I'm only interested in Linux, but please let us know when you get around to other OSesQuadrupleA wrote: Sun Jun 05, 2022 1:33 amCinningBao asked the same thing so I'll copypasta: just Win-only for the current prototype. It's built to be easy to port though (OpenGL etc.) so if there's enough interest I'll definitely do some cross-platform builds.
-
- KVRist
- Topic Starter
- 110 posts since 1 Nov, 2012
So thanks to those who gave some feedback - I can see there's some intellectual interest in the concept and how it works but haven't seen much interest in the actual synth, doing sound design with it, etc. Had a similar response from the friends I've showed it to, concept sounds interesting but they don't seem to want to dive in and play with it.
So think I'm going to shelve the project.
I love the actual work of plugin dev and DSP, this is my first non-toy project (I've got about 150 hours into it) - my brain gets obsessively fascinated and I find myself working long hours almost involuntarily. I'm experienced with native code/graphics/programming but still just beginner/intermediate with DSP.
Would love to dive deeper into it, but I'm wary of investing so much time into this kind of thing again. I spent years and thousands of hours on my game Weapon Hacker, which, though I'm very proud of it and it has its fans, didn't get much traction in the market. So, a little scared to repeat that experience again. We just bought a house too so I'm not feeling in a financial position to put thousands of unpaid hours into a fairly saturated market full of smarter people than me who have been doing it for years and already have the marketing machines in place.
So yeah, trying to learn my lessons of not falling for the sunk-cost fallacy, testing ideas with people before investing too much time, etc.!
So think I'm going to shelve the project.
I love the actual work of plugin dev and DSP, this is my first non-toy project (I've got about 150 hours into it) - my brain gets obsessively fascinated and I find myself working long hours almost involuntarily. I'm experienced with native code/graphics/programming but still just beginner/intermediate with DSP.
Would love to dive deeper into it, but I'm wary of investing so much time into this kind of thing again. I spent years and thousands of hours on my game Weapon Hacker, which, though I'm very proud of it and it has its fans, didn't get much traction in the market. So, a little scared to repeat that experience again. We just bought a house too so I'm not feeling in a financial position to put thousands of unpaid hours into a fairly saturated market full of smarter people than me who have been doing it for years and already have the marketing machines in place.
So yeah, trying to learn my lessons of not falling for the sunk-cost fallacy, testing ideas with people before investing too much time, etc.!
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
Yes indeed. I guess, that's kind of the expected response in this development subforum - people here tend to be more interested in what's going on under the hood. At least, that's certainly true for me. Maybe in the "Instruments" subforum, people are more likely to be interested in actually using the synth for sound design. Thanks for your explanations, btw. I think, I have now a reasonable (high level) idea about what it does. Indeed, maybe I should have realized that my first guess couldn't be right due to the fact that your network has only a single input neuron. Interesting idea - you are using the network to estimate the waveform as function of (normalized) time, i.e. a 1D -> 1D mapping f(t). From a usability perspective, I would perhaps order the neurons in each column from top to bottom by their "saliency" - however that saliency is defined. You could perhaps just brute-force evaluate the error-function with and without a given neuron and take the difference as saliency of the neuron. That would actually give the ideal saliency measure that all those complicated formulas and algorithms in the OBD paper want to approximate ("extend backprop to estimate the Hessian blablabla") because they consider such a brute-force evaluation prohibitively costly (if I'm not mistaken) - which may not apply here in this case. After all, your networks are quite small by todays standards and you may not need a saliency measure for each synapse (as in OBD) but only for each neuron.QuadrupleA wrote: Wed Jun 08, 2022 4:59 pm I can see there's some intellectual interest in the concept and how it works but haven't seen much interest in the actual synth, doing sound design with it, etc.
Last edited by Music Engineer on Wed Jun 08, 2022 6:27 pm, edited 2 times in total.
-
- KVRian
- 543 posts since 1 Jan, 2021
Sorry to hear that! I was and still am very much interested in the sound (and the concept of course), but couldn’t try it because I’m on a Mac.
But like ME suggested above, maybe try another subforum before shelving the project for good? I would expect that developers have different things on their minds than normal users.
But like ME suggested above, maybe try another subforum before shelving the project for good? I would expect that developers have different things on their minds than normal users.
- KVRAF
- 8484 posts since 12 Feb, 2006 from Helsinki, Finland
It's absolutely not a sunk-cost even if you choose to shelve a project. Every project is a learning experience and the first time you do something it's always going to take a lot more time than the next time around. Toy projects are all good, but they typically don't teach you anything about all those little things that you don't bother with because it's just a toy project.QuadrupleA wrote: Wed Jun 08, 2022 4:59 pmSo yeah, trying to learn my lessons of not falling for the sunk-cost fallacy, testing ideas with people before investing too much time, etc.!
Anyway, the hardest part of making creative software (whether it's an audio plugin or a game) is not the technical side of things (even though there might be very difficult technical challenges too). The hardest part is coming up with something that's useful and/or fun. The design of "useful and/or fun" is a creative process and creative processes are unpredictable, because you often need to try first. Some ideas work out great, some ideas turn out to be garbage as soon as you try them and then there's the annoying category of stuff that seems promising if you polish it, but then it turns out that it actually doesn't work out reasonably no matter what. Other times it appears that your original idea doesn't work out, but while working it you get another idea that seems much better. That's just part of the process. On the bright side, over time you tend to get better at judging what might or might not work out in practice.
edit: Today I tried to make some maps for my toy game project. I had several concepts, I spent a couple of hours on each one blocking them out and none of them worked out to be "fun" so I'll have to think of something else. That's just how creative things go.
-
- KVRist
- Topic Starter
- 110 posts since 1 Nov, 2012
Good point on dev forum interests - maybe I'll give Instruments a try too, see if a groundswell of presets and enthusiasm ensuesMusic Engineer wrote: Maybe in the "Instruments" subforum, people are more likely to be interested in actually using the synth for sound design.
I like that idea - spotlight the most influential neurons & synapses. One future feature would be picking parameters by direct clicks, so maybe big circles & small dots to represent influence. Could probably gather some stats on that during backprop, neuron bias / weight derivative as a ratio to output error or something, averaged across the different phases in the training set. Although that's kinda what backprop is training/adjusting on so not sure. But a brute-force damage sampling could also work as a final step after training, and save the saliency metrics with the net.Music Engineer wrote: From a usability perspective, I would perhaps order the neurons in each column from top to bottom by their "saliency"
Thanks, and yeah sorry about that. At the moment I'm coding directly on the low-level VST2 api (aeffextx.h) since it seemed simple enough for prototyping and I like to at least understand what's underneath big frameworks and abstraction layers like JUCE. And I tend to be a little wary of frameworks, especially ones with lingering legal/financial tendrils. But it might be the right way to go for sanity & productivity - haven't wrestled yet with the intricacies of AU, VST3, etc.nanostream wrote: Sorry to hear that! I was and still am very much interested in the sound (and the concept of course), but couldn’t try it because I’m on a Mac.
We'll see if this plugin hobby of mine gets that far
That stuff can be maddening! I had similar dilemmas developing the game, especially since I saved final artwork until last (art plays a huge role in perception of quality, ala plugin GUIs). You often can't know ahead of time whether something would work with more polish, or whether you're throwing good money/time after bad. And in a competitive marketplace there's usually a high quality bar to even get considered so the gamble becomes bigger.mystran wrote: then there's the annoying category of stuff that seems promising if you polish it, but then it turns out that it actually doesn't work out reasonably no matter what.
- KVRAF
- 8563 posts since 2 Aug, 2005 from Guitar Land, USA
I'm very interested in it, but I can't get it to show up with Reaper 64.
Some dependency must be missing.
Some dependency must be missing.
The only site for experimental amp sim freeware & MIDI FX: http://runbeerrun.blogspot.com
https://m.youtube.com/channel/UCprNcvVH6aPTehLv8J5xokA -Youtube jams
https://m.youtube.com/channel/UCprNcvVH6aPTehLv8J5xokA -Youtube jams
-
- KVRist
- Topic Starter
- 110 posts since 1 Nov, 2012
RunBeerRun wrote: Wed Jun 08, 2022 10:06 pm I'm very interested in it, but I can't get it to show up with Reaper 64.
Some dependency must be missing.
Thanks, strange - seems to load OK here:

Only dependencies are Windows builtins: ADVAPI32.dll, GDI32.dll, KERNEL32.dll, OPENGL32.dll, SHELL32.dII, USER32.dll, WINMM.dll. Also BrainDamageData needs to be alongside the VST dll to load the net models.
- KVRAF
- 8563 posts since 2 Aug, 2005 from Guitar Land, USA
Maybe I don't have Open GL. This is just some old laptop with win10 on it.
The only site for experimental amp sim freeware & MIDI FX: http://runbeerrun.blogspot.com
https://m.youtube.com/channel/UCprNcvVH6aPTehLv8J5xokA -Youtube jams
https://m.youtube.com/channel/UCprNcvVH6aPTehLv8J5xokA -Youtube jams
-
- KVRist
- Topic Starter
- 110 posts since 1 Nov, 2012
Yeah that could be it - might try updating the video driver if you feel like messing with it further.RunBeerRun wrote: Wed Jun 08, 2022 11:14 pm Maybe I don't have Open GL. This is just some old laptop with win10 on it.
- KVRian
- 1024 posts since 8 Mar, 2004 from Network 23
Very interesting idea. Downloaded..waiting for Ableton to scan it in.
We shall see orchestral machines with a thousand new sounds, with thousands of new euphonies, as opposed to the present day's simple sounds of strings, brass, and woodwinds. -- George Antheil, circa 1925 ---
-
- KVRist
- 288 posts since 3 Mar, 2004 from Denmark
I think this is a really interesting idea and can produce some really nice timbres. For me, after a quick play, what becomes apparent is that sound design is totally trial and error. Seems like there's very little chance of actually learning the thing and being able to produce a sound I imagine. Not that this is necessarily a bad thing, but it might limit it's appeal.
One thought I had would be to "curate" the nodes that can be modified to a select few that produce the most dramatic and interesting timbres for each source, and just giving a control for them rather than letting the user select.
One thought I had would be to "curate" the nodes that can be modified to a select few that produce the most dramatic and interesting timbres for each source, and just giving a control for them rather than letting the user select.
-
- KVRist
- 315 posts since 18 Mar, 2012
Is it an alias-free oscillator ?QuadrupleA wrote: Fri Jun 03, 2022 4:50 pm ... - it lets you train simple neural networks to mimic single-cycle waveforms, ...
