I have a great deal of experience with this, having worked on the HeadRush ReValver product for about 20 years. That product is all about representing famous gear. Legally, we do not have the right to use someone's trademark (logo, etc), so the common practice is to (1) name the product and design the logo in "spirit" of the source product and (2) put a disclaimer online and in the product stating that the brands implied are owned by the owners...lol. In the case of ReValver, we had an agreement with Peavey Electronics, Budda Amps, and Trace Elliot to use their actual logos and design, but you'd want that in writing.
If anyone has any specific questions regarding this....just hit me up. I'd be glad to help.
Best posts made by scottmire
-
RE: Advertisement and the use of brand names/famous equipment
-
RE: Swapping a neural network model at runtime.
@sinewavekid
The snip found in this thread will get you goingHardcoded Neural Network does not work as expected
If anyone wants to start learning about RTneural, here's a snip that contains a model of the ProCo Rat pedal: HiseSnippet 20992.3oc6810imccdcmUKp1Rh1dlDj.ja4...
Forum (forum.hise.audio)
-
Swapping a neural network model at runtime.
I know the NN topic has had it's share of coverage for a while now. Thanks to all the hard work and efforts of so many here, I've got working NN that loads AIDA-X guitar amp captures. Now my challenge is that I want to be able to swap out NN models at runtime based on a user selection. What I am seeing is that once I instantiate the NN and load in the initial model, I cannot load another model at runtime. The first loaded models stays firmly in place.
I am creating and loading the NN using the following:
const MLmodel = {MODEL JSON HERE}; const var tf = Engine.createNeuralNetwork("TensorFlowNetwork"); tf.loadTensorFlowModel(MLmodel);
I had assumed that, if I created multiple vars to hold the different models (MLmodel_1, MLmodel_2, etc), I could simply swap them out by calling ".loadTensorFlowModel(model)". But alas no.
Has anyone gotten something like this working? Any advise would be greatly appreciated.
-
RE: Simple ML neural network
Apologies if this has already been discussed....but I would think this would be low hanging fruit:
GitHub - Tr3m/nam-juce: A JUCE implementation of the Neural Amp Modeler Plugin
A JUCE implementation of the Neural Amp Modeler Plugin - Tr3m/nam-juce
GitHub (github.com)
-
RE: Loading an IR in a scriptnode convolution module via script
I got it working!
Thanks to everyone for the help....it's greatly appreciated! -
Loading an IR in a scriptnode convolution module via script
Hello all....
A project I'm working on has multiple convolution modules in a scriptnode network. I am attempting to load the IRs into the modules via scripting. It seems to be working, the convolution module is showing the name of the IR, but it's not actually loaded. If I manually load the IR in, it works.To illustrate....the module on the left is loaded via script, but the module on the right in manually loaded. Although they both have the IR file name in the "label", only the one on the right actually loaded the IR.
So, here is the code in the function I'm using to "load" the IR. I know it can be simplified, but I figured it might be easier to follow this way
//create obj reference to cab 1 convolution modules and audio file slot
local CabIR1_1 = Synth.getAudioSampleProcessor("Cabinet1").getAudioFile(0);//create variable to hold IR file name
// translates to something like: "PV 5150 412 Sheffield - SM57 - Cap.wav"
local CabIR1_1_wav = theCab1 + " - " + theMic1 + " - Cap.wav";//load an iR into each of the convolution modules
CabIR1_1.loadFile(CabIR1_1_wav);I hope that all makes sense? Thanks in advance!
Latest posts made by scottmire
-
RE: Advertisement and the use of brand names/famous equipment
@d-healey
Reading.....apparently so hard for me....
Per advice of the legal dept....when advertising/marketing and mentioning the "source" product we always have to say "based on" the source product AND have the disclaimer concerning ownership. We would make bold, general statements about how our product replicates famous hardware with "uncanny" accuracy, but we never would say that we were the best Marshall JCM800 emulation.
If that all makes sense? -
RE: Advertisement and the use of brand names/famous equipment
I have a great deal of experience with this, having worked on the HeadRush ReValver product for about 20 years. That product is all about representing famous gear. Legally, we do not have the right to use someone's trademark (logo, etc), so the common practice is to (1) name the product and design the logo in "spirit" of the source product and (2) put a disclaimer online and in the product stating that the brands implied are owned by the owners...lol. In the case of ReValver, we had an agreement with Peavey Electronics, Budda Amps, and Trace Elliot to use their actual logos and design, but you'd want that in writing.
If anyone has any specific questions regarding this....just hit me up. I'd be glad to help. -
RE: Things I've Learned about ML Audio Modelling
I believe the issue I'm seeing is that whenever a NN node is instantiated and loaded with a model the first time, there is a loud "pop" coming from the NN node. If you are trying to switch between multiple NN nodes, whether you are using a Branch node or a soft_bypass, the NN nodes are not instantiated UNTIL signal is passing through them. So, no matter what you use to switch between NN nodes, the first time they are selected, they pop. After that (at least with a Branch node), they no long "pop".
I could work around this, IF all the NN nodes instantiated at the same time (maybe on load). I could just mute the output of the node for a moment. But, it doesn't seem to work that way.
-
RE: Things I've Learned about ML Audio Modelling
@HISEnberg
I switched to a branch node and it does "pop" the very first time it cycles through each NN nodes. After that initial time, it doesn't "pop" as you cycle through. -
RE: Things I've Learned about ML Audio Modelling
@ccbl
So close!! I have 5 NN models, each wrapped in a soft bypass. All 5 are then loaded into a Split container. I have a slider mapped to a XFader module that controls the soft bypass states. As you turn the knob, the xfader controls the bypass. Think of it like the "GAIN" knob on an amp....as you turn up the slider, NN models of progressively more distortion are loaded. It's working.....BUT....when a NN is bypassed or unbypassed, there is an audible pop. Like I said, so close. LOL. -
RE: Swapping a neural network model at runtime.
@clevername27 LOL....I feel a bit bad about that. I didn't know it would do that.
-
RE: Swapping a neural network model at runtime.
@Christoph-Hart
I had assumed that "NeuralNetwork.clearModel()" would allow me to reset the NN, then I could follow with a new "NeuralNetwork.loadTensorFlowModel( var modelJSON)" function call. It obviously doesn't work this way.....but it would be amazing if it could....just sayin...lol. -
RE: Swapping a neural network model at runtime.
@sinewavekid
The snip found in this thread will get you goingHardcoded Neural Network does not work as expected
If anyone wants to start learning about RTneural, here's a snip that contains a model of the ProCo Rat pedal: HiseSnippet 20992.3oc6810imccdcmUKp1Rh1dlDj.ja4...
Forum (forum.hise.audio)
-
Swapping a neural network model at runtime.
I know the NN topic has had it's share of coverage for a while now. Thanks to all the hard work and efforts of so many here, I've got working NN that loads AIDA-X guitar amp captures. Now my challenge is that I want to be able to swap out NN models at runtime based on a user selection. What I am seeing is that once I instantiate the NN and load in the initial model, I cannot load another model at runtime. The first loaded models stays firmly in place.
I am creating and loading the NN using the following:
const MLmodel = {MODEL JSON HERE}; const var tf = Engine.createNeuralNetwork("TensorFlowNetwork"); tf.loadTensorFlowModel(MLmodel);
I had assumed that, if I created multiple vars to hold the different models (MLmodel_1, MLmodel_2, etc), I could simply swap them out by calling ".loadTensorFlowModel(model)". But alas no.
Has anyone gotten something like this working? Any advise would be greatly appreciated.
-
RE: Things I've Learned about ML Audio Modelling
@ccbl
After pounding my head against the wall for weeks, I finally feel like I'm making progress here. I've got the Aida-X models running! For the life of me, I can't seem to switch models once the NN is created and the first model is loaded. I am trying to load different Aida-x models based on a user selection. If I understand correctly, you got this working. Would you be willing to share how you are switching models?