The end is nigh...
-
Very impressive, that said, is this a good description of the simple_ar node?
AnA simple_ar node applies an envelope to an audio signal. The envelope shapes the amplitude of the signal over time, allowing you to control how the signal fades in and out.The simple_ar is not limited to controlling audio signals, or amplitude. While calling it amplitude might be technically correct, a human with prior knowledge of synthesis might assume the node is limited to volume modulation based on this information alone. While it goes on to tell us about modulation outputs, there's some redundant information about audio signals and a user might be left wondering, how do I negate the amplitude modulation? (and other such nuances).
Generally speaking though, I think it's a great start. The parameter info is perfect. I'd be willing to review/edit chatGPT's output (or the documentation in general), if that would be helpful. Perhaps an informal group of volunteers working on this would be most effective, it would reduce mistakes based on misunderstandings and limit the number of "Hey Christoph.." posts that would arise.
-
@modularsamples I might have introduced that typo myself :) But the rest is pretty accurate: of course you can feed it with a modulation signal instead of the audio, but even then it still shapes the signal according to what it says.
That being said, this description is highly redacted (I've given it maybe 4-5 rounds of feedback to get to this version) and then I applied some minor changes.
I'd like to see a mention like "AI made"
I completely agree that unredacted AI output must be marked so that the reader can assume that the facts are not guaranteed to be correct (and I think this will be a common practice going forward). Since this is not the case here as I don't intend to upload it without fact checking this disclaimer could lead to a false impression of an untrustworthy source of information (which would damage the entire trust into the correctness of the documentation).
-
@Christoph-Hart said in The end is nigh...:
I completely agree that unredacted AI output must be marked so that the reader can assume that the facts are not guaranteed to be correct (and I think this will be a common practice going forward).
I would just add that it's not only about knowing if the output can contain flaws or not (because it is the same case for human made stuff) but just as information to keep in mind and know where AI has been involved.
-
@Christoph-Hart Minor criticism aside, it is super impressive.
I'd be interested to see what you're "input" looked like, if you have the time.
-
Sure here's the input for the reverb node:
fx.reverb
node, parameters Damping, Width, Size, use dry/wet template to control the mixRobot:
The fx.reverb node is a reverb effect that can be used to add a sense of space and depth to a sound. The Damping parameter controls the amount of high frequency damping that is applied to the reverb. This can be used to adjust the brightness or "darkness" of the reverb. The Width parameter controls the stereo width of the reverb, with higher values resulting in a wider stereo image. The Size parameter controls the overall size of the virtual space being simulated by the reverb, with larger values resulting in a longer decay time and a bigger sound.
To control the mix of the dry (unprocessed) sound and the wet (reverberated) sound, you can use the dry/wet template. This template allows you to adjust the balance between the dry and wet signals, with a value of 0 representing a completely dry sound and a value of 1 representing a completely wet sound. For example, if you wanted to have the dry sound dominate with only a small amount of reverb, you could set the dry/wet value to something like 0.2. On the other hand, if you wanted the reverb to be more prominent, you could set the dry/wet value to something like 0.8.
please put the parameter list in markdown formatted table and put the text into code blocks
Here is the parameter list for the fx.reverb node in a markdown formatted table:
Parameter Description
Damping Controls the amount of high frequency damping applied to the reverb.
Width Controls the stereo width of the reverb.
Size Controls the overall size of the virtual space being simulated by the reverb.
dry/wet Controls the balance between the dry and wet signals.(the formatting got lost by pasting it here, but usually I get the table formatting right).
It would take a few more feedback rounds ("please make the example shorter and add the value ranges 0-1 to all parameter explanations etc") to get it to a state that I would consider good enough, but it's astonishing how it can explain what these parameters do with as little input as I gave it.
-
So interesting & also sick...
-
Another thing where it might be super useful is to define spec sheets of a feature set that meets the average expectancy - this is particularly useful for the use case of making generic DSP building blocks that are defined by what the majority of the reference data expects them to be.
spec sheet of a chorus effect (parameters, UI elements)
ROBOT:
A chorus effect is a type of audio effect that modifies the sound of an audio signal by adding a slightly delayed and pitch-modulated copy of the original signal to it. The effect is typically used to add depth and dimension to an audio signal, and is often used on guitar, keyboard, and vocal tracks.
Here is a list of common parameters and UI elements that may be found on a chorus effect:
Mix: Controls the wet/dry balance of the effect, allowing you to adjust the amount of chorus applied to the signal.
Rate: Controls the speed of the pitch modulation applied to the delayed copy of the signal.
Depth: Controls the amount of pitch modulation applied to the delayed copy of the signal.
Delay: Controls the amount of time delay applied to the delayed copy of the signal.
Feedback: Controls the amount of the delayed signal that is fed back into the input, creating a more pronounced effect.
Tone: Controls the overall frequency response of the effect, allowing you to shape the tonal character of the chorus.
LFO Shape: Controls the shape of the low frequency oscillator (LFO) used to modulate the pitch of the delayed copy of the signal. Common LFO shapes include sine, triangle, and square waves.
Stereo: Controls the stereo spread of the effect, allowing you to widen or narrow the stereo image of the processed signal.
Wet/Dry: Controls the wet/dry balance of the effect, allowing you to adjust the amount of chorus applied to the signal.
Bypass: A switch that allows you to bypass the effect completely and hear the unprocessed signal.
On/Off: A switch that allows you to turn the effect on or off.
please write me a C++ class with these parameters
Sure! Here is an example of a C++ class that implements a chorus effect with the parameters you specified:
class Chorus { public: Chorus(); ~Chorus(); // Set the wet/dry balance of the effect void SetMix(float mix); // Set the rate of the pitch modulation void SetRate(float rate); // Set the depth of the pitch modulation void SetDepth(float depth); // Set the delay time of the delayed signal void SetDelay(float delay); // Set the feedback amount of the delayed signal void SetFeedback(float feedback); // Set the overall frequency response of the effect void SetTone(float tone); // Set the shape of the LFO used to modulate the pitch of the delayed signal void SetLfoShape(LfoShape shape); // Set the stereo spread of the effect void SetStereo(float stereo); // Bypass the effect void Bypass(bool bypass); // Process a block of audio void Process(float* in_left, float* in_right, float* out_left, float* out_right, int num_samples); private: // Private member variables and functions go here };
This class has public member functions for setting the various parameters of the chorus effect, as well as a function for processing a block of audio. The implementation details of the class would depend on the specific algorithms used to create the effect.
-
And one last query before I leave you alone with it:
what is HISE?
HISE (Hornet Impulse Sound Engine) is a software application that allows users to create, edit, and manipulate audio samples, as well as design virtual instruments and effects processors. It is primarily used by musicians, audio engineers, and sound designers as a tool for creating sounds and building custom instrument and effects plugins for use in digital audio workstations (DAWs) and other music production software.
HISE is designed to be modular and flexible, with a range of features and tools that allow users to customize and create their own sounds and virtual instruments. It includes a sample editor, a synthesizer engine, and a set of modular effects processors, as well as a graphical user interface (GUI) that allows users to design and program custom virtual instruments and effects. HISE is available for Windows, Mac, and Linux, and can be used as a standalone application or as a plugin in a DAW.
-
Hornet Impulse Sound Engine
-
@Christoph-Hart Amazing! Though I never thought of HISE as particularly buggy ;)
Thanks for sharing. Boring work emails are now a thing of the past.
-
@Christoph-Hart said in The end is nigh...:
HISE (Hornet Impulse Sound Engine)
I knew HISE stands for Hart Instruments Sampler Engine
-
@Christoph-Hart The AI is a tool like any other (but a lot more sophisticated). Whether or not it does good or bad depends entirely on the people using it.
You should definitely continue to familiarize yourself with it and utilize it if it helps you accomplish tasks quicker and better. I use Grammarly to help me write, which is another level of spell-check. If you recall, a few months ago, I was inquiring here whether openAi could be beneficial for HISE development, as it could possibly explain code and help write pieces of code.
-
@Christoph-Hart wow this is so impressive. Is there any plans to implement ChatGPT in HISE itself? I can imagine tons of uses. From tooltips to sound design suggestions or text interpretations: “please do a classic 80s lead patch for me”
-
@hisefilo I don't think the integration into any software is going to happen soon, but you can already use it for inspiration in preset sound design:
what are the characteristics of a classic 80s lead synthesizer patch?
The characteristics of a classic 80s lead synthesizer patch can vary widely, as different synthesizers and patches can have very different sounds. However, some common characteristics that are often associated with 80s lead synthesizer patches include:
Bright, cutting timbre: Many classic 80s lead synth patches have a bright, punchy sound that cuts through a mix. This is often achieved by using a high-pass filter to remove low frequencies and using a high amount of resonance (also known as "Q") to boost the harmonics in the upper frequency range.
Modulation: Modulation effects such as vibrato and pitch bend are often used in classic 80s lead synth patches to add movement and interest to the sound. These effects can be achieved using an LFO (low frequency oscillator) or by modulating the pitch of the oscillator(s) with an envelope generator.
Portamento: Portamento, also known as "glide," is the effect of smoothly transitioning between two different pitches. This can be used to create a "sliding" effect and is often associated with classic 80s lead synth patches.
Sustained or "legato" playing style: Many classic 80s lead synth patches are designed to be played in a sustained or "legato" style, where notes are allowed to overlap and decay rather than being played staccato (with distinct, separated notes). This can help to create a smooth, flowing sound.
Use of filter envelopes: Filter envelopes are used to shape the timbre of a sound by modulating the cutoff frequency of a filter over time. In classic 80s lead synth patches, filter envelopes are often used to create a "sweeping" effect, where the timbre of the sound changes dramatically over the course of a note.please give me a list of instructions of how to program a generic synth in order to get this sound.
Here is a list of steps you can follow to program a generic synth to create a classic 80s lead synth sound:
Choose an oscillator waveform that is bright and punchy, such as a sawtooth or square wave.
Set the filter cutoff frequency to a relatively high value, and increase the resonance (Q) to boost the upper harmonics.
Use an envelope generator to shape the filter envelope by setting the attack time to a relatively short value and the decay and release times to longer values. This will create a "sweeping" effect as the timbre of the sound changes over the course of a note.
Set up an LFO to modulate the pitch of the oscillator(s). Use a moderate rate and depth to add vibrato to the sound.
Set the portamento or glide time to a moderate value to create a smooth transition between pitches.
Experiment with the different parameters of the synth, such as the envelope generator attack and decay times, filter cutoff and resonance, and LFO rate and depth, to fine-tune the sound to your liking.
Note that these are general guidelines and may not work for every synth or patch. It's always a good idea to experiment with different settings and find what works best for the sound you're trying to achieve.please give me 5 versions of an inspiring preset name for this sound
Here are five potential names for an inspiring preset featuring a classic 80s lead synth sound:"Neon Nights"
"Retro Futurism"
"Electric Dreams"
"Synthwave Siren"
"Disco Inferno"END OF ROBOT
You still have the programming to do for yourself but it gets you a starting point in case you didn't know how a 80s synth is supposed to sound. And at least the days of finding bullshit names for sound presets are over :)
-
@Christoph-Hart said in The end is nigh...:
Choose an oscillator waveform that is bright and punchy, such as a sawtooth or square wave.
Set the filter cutoff frequency to a relatively high value, and increase the resonance (Q) to boost the upper harmonics.
Use an envelope generator to shape the filter envelope by setting the attack time to a relatively short value and the decay and release times to longer values. This will create a "sweeping" effect as the timbre of the sound changes over the course of a note.
Set up an LFO to modulate the pitch of the oscillator(s). Use a moderate rate and depth to add vibrato to the sound.
Set the portamento or glide time to a moderate value to create a smooth transition between pitches.
Experiment with the different parameters of the synth, such as the envelope generator attack and decay times, filter cutoff and resonance, and LFO rate and depth, to fine-tune the sound to your liking.
Note that these are general guidelines and may not work for every synth or patch. It's always a good idea to experiment with different settings and find what works best for the sound you're trying to achieve.This is so so so IMPRESSIVE!
What if we can parse this input?
I sketched something a few month ago but it's ugly -
I just asked this bot to suggest some names for a sample library I'm working on and the second name it suggested is the name I'm already using :p It has good taste.
-
@d-healey haha..
-
Hey guys! I came here to see if you are up to date.
I tried to use it to generate some code snippets that I could use to learn from and to make a simple or a bit more complex plugin. I still have to tweak the code to work correctly. But at least I did manage to get code that compiled without errors. It feels like a door opener for guys like me to learn coding. And I don't mean copy paste only :D The fact it gives you an explanation for what it did or what you can do is really nice. Will keep an eye on what you do with that. -
@UD-AUDIO I've mainly been using it to generate jokes. It has a strange sense of humour
Why did Santa, the penguin, and the nun all go ice skating together? Because they wanted to cool off after a long day of delivering presents, waddling around, and praying!
A caveman walks into a store and sees a smartphone on display. He asks the salesperson, "What is this strange, magical device?"
The salesperson explains that it's a smartphone and demonstrates how it works. The caveman is fascinated and asks, "Can it do anything else?"
The salesperson replies, "Yes, it can also play games and music."
The caveman's eyes light up and he exclaims, "You mean to tell me that I can entertain myself without having to invent fire or invent the wheel?!"
A doctor, a lawyer, and a mathematician were discussing the relative merits of having a wife or a mistress.
The lawyer said, "For sure a mistress is better. If you have a wife and you want a divorce, it can be very expensive."
The doctor said, "No, no. A wife is better. Mistresses are high maintenance and you have to take them places and buy them gifts. With a wife, you can do whatever you want and she'll still be there."
The mathematician said, "Actually, it's best to have both a wife and a mistress. That way, when you're not with your wife, she'll assume you're with your mistress. And when you're not with your mistress, she'll assume you're with your wife. That way, you can do some mathematics."
-
Not completely in the subject, but I gave ChatGPT the subject of an exam I give each year on C++ and audio programming . The bot can answer, even code writing exercices (simple ones...). It would obtain something like 18/20 :anguished_face: . What are teachers supposed to do now !?