Hello All,
After a few requests, I'd love to share my technique for getting wavetable synth functional!
Best,
Mitchell
Hello All,
After a few requests, I'd love to share my technique for getting wavetable synth functional!
Best,
Mitchell
I can't really code. I understand it on a super basic level but I still have a blast with HISE. I think that's the beauty of it! watch some/any/all of @d-healey s YouTube and consider his Patreon. I learned sooo much from him.
@d-healey Gotcha. This video is incredible! Thank you so much for your time, effort, and guidance!
@DanH It is my understanding that expanders make the difference in dynamics a wider range where as upward compression brings the quieter sounds up.
@clevername27 did we uncheck the architecture of the machine were not using? I got this to work by unchecking x86 cuz im on ARM and it worked for me. ive def gotten that error before tho. Did you put all the folders in first before building
@iamlamprey wow epic. Is the SNEX documentation up to date? I have been getting some Frame errors but I didn't see anything in the docs. Seriously thank you so much for your time and effort on this.
@HISEnberg this is what I was looking for...some math!
RE: the license comment, I just find that the Faust effects are cool, just hard to use. I plan on porting some and just putting them in VST format for free for people to fool around with. Not really interested in profiting from and/or selling them.
@ustk Bro you are a savage that was literally 3 minutes to respond. Thank you so much!!!!!
this is exactly what i wanted. Now i can link that button to a tab switching script!
thank you thank you
@Soundavid word I absolutely will the process is so fun tbh.
What would be the appropriate thread to post such a thing?
I could do a video I guess! Or a post whichever would be better for the forums purpose
Also: ^^^ cycles through the waveforms alphabetically it seems automatically. Something to note
I can't really code. I understand it on a super basic level but I still have a blast with HISE. I think that's the beauty of it! watch some/any/all of @d-healey s YouTube and consider his Patreon. I learned sooo much from him.
@clevername27 did we uncheck the architecture of the machine were not using? I got this to work by unchecking x86 cuz im on ARM and it worked for me. ive def gotten that error before tho. Did you put all the folders in first before building
@iamlamprey wow epic. Is the SNEX documentation up to date? I have been getting some Frame errors but I didn't see anything in the docs. Seriously thank you so much for your time and effort on this.
@iamlamprey thank you endlessly for this. It didn’t work but it’s probably user error. Trying to read through everything I can find but it’s not much in terms of a finished working example. Do you have any working examples (of any kind) that u could post/sendme so I can study how it works and more importantly how to implement it.
Thanks!
Attempting to make a filter using the core.SNEX node. Using ChatGPT to help me since I know nothing about code. I assume its out of date but maybe someone could explain if this is even possible or not...
I want to start with a simple Low Pass filter.
-I created a new file within a network within script fx.
Here is my error:
snex_node - Line 83(20): Parsing error: Expected:
TypeActual: $identifier
Here is my code that's not working:
template <int NV> struct snex_lowpass_filter
{
SNEX_NODE(snex_lowpass_filter);
// Parameters
float cutoffFrequency = 1000.0f; // Initial cutoff frequency
// Initialise the processing specs here
void prepare(PrepareSpecs ps)
{
// Any initialization can be done here
}
// Reset the processing pipeline here
void reset()
{
// Reset any internal state variables here
}
// Low-pass filter function
float lowPassFilter(float input)
{
// Sampling period
const float dt = 1.0f / Engine.getSampleRate();
// Time constant
const float RC = 1.0f / (2.0f * PI * cutoffFrequency);
// Coefficient
const float alpha = dt / (RC + dt);
// Compute output
float output = alpha * input + (1.0f - alpha) * prevOutput;
// Update previous output
prevOutput = output;
return output;
}
// Process the signal here
template <typename ProcessDataType> void process(ProcessDataType& data)
{
for (auto& sample : data)
{
sample = lowPassFilter(sample);
}
}
// Process the signal as frame here
template <int C> void processFrame(span<float, C>& data)
{
// This function is used for processing audio frames (e.g., stereo signal)
// You can implement a frame-based processing if needed
}
// Process the MIDI events here
void handleHiseEvent(HiseEvent& e)
{
// This function is used for handling MIDI events
// You can implement MIDI event processing if needed
}
// Use this function to setup the external data
void setExternalData(const ExternalData& d, int index)
{
// This function can be used to set up any external data needed for processing
}
// Set the parameters here
void setParameter(int parameterIndex, double value)
{
// You can set parameters dynamically during runtime
if (parameterIndex == 0)
{
cutoffFrequency = value;
}
}
private:
// Previous output sample
float prevOutput = 0.0f;
};
@FatMitchell I have built a few installers .pkgs that seem to work. I don't remember needing to attach an installer certificate. Autoswell2.pkgproj.zip
@HISEnberg I use packages...but im on Ventura. what seems to be the problem?