Let's talk about synthesis with HH3
Hello the community
I found a new interest in synthesis during convalescence for injury.
Having to much time to spend on my coach, I decided to explore new worlds in HH3 (while debugging it, it was alpha version...).
Newbie in synthesis, I dived into the Minimoog and made a clone with HH3. Then improve it, polyphony, new oscillators, .....
We decide with Senso to share this work with you (have a look on the demo Poly Mini Mogg). In the synthesis folder in the library, you'll find other funny mini synths made by Senso.
The Poly Mini Mogg is a relatively common synthesizer, using mainly additive and subtractive synthesis. The Senso mini synths are less common, proposing soundscape made with oscillators modifications based on rhythms, random and loops.
Those works let me thing that HH3 in ready and well armed for synthesis, the results we have are stimulating and inspiring. The sonic performance is astonishing (like usually with HH3).
I open this topic hoping that other usiners conducted experiments with synthesis in Hollyhock.
I hope you want to share your experiences with synthesis, to exchange opinions, ideas, inspirations, wishes, requests....
Looking forward to reading you
All the best
Sylvain
I found a new interest in synthesis during convalescence for injury.
Having to much time to spend on my coach, I decided to explore new worlds in HH3 (while debugging it, it was alpha version...).
Newbie in synthesis, I dived into the Minimoog and made a clone with HH3. Then improve it, polyphony, new oscillators, .....
We decide with Senso to share this work with you (have a look on the demo Poly Mini Mogg). In the synthesis folder in the library, you'll find other funny mini synths made by Senso.
The Poly Mini Mogg is a relatively common synthesizer, using mainly additive and subtractive synthesis. The Senso mini synths are less common, proposing soundscape made with oscillators modifications based on rhythms, random and loops.
Those works let me thing that HH3 in ready and well armed for synthesis, the results we have are stimulating and inspiring. The sonic performance is astonishing (like usually with HH3).
I open this topic hoping that other usiners conducted experiments with synthesis in Hollyhock.
I hope you want to share your experiences with synthesis, to exchange opinions, ideas, inspirations, wishes, requests....
Looking forward to reading you
All the best
Sylvain
Yes!
This is a new surprise for me in HH3. Having recently upgraded from HH2 I started exploring the Synthesis category in the library and so far have been delighted. Poly Moog is next.
Thanks
This is a new surprise for me in HH3. Having recently upgraded from HH2 I started exploring the Synthesis category in the library and so far have been delighted. Poly Moog is next.
Thanks
what i once imagined would be some special patchs and modules (or maybe ' operating mode') that could operate at sample rate, ie in such patch man could increment an oscillator phase each sample, or do fm controlling one oscillator freq from onother output via simple wiring.
Ideally connect a bunch of primitives modules together lets say a filter envellope to a filter would be computed at sample resolution. actually we can do lots of things but the fact its operating at bloc rate make it either low rez or more complex for sample rez, often implying either scripting or coding. finding a way to make it work at 'patching' level would be really great! a bit like reaktor/max/PD somhehow. Or maybe it could remain at bloc rate, but some modules would need an array out with sample precision especially envelopes, lfos ect, and the other way around an oscillator could take array in as its frequency to be computed precisely for each sample in the bloc. that sound kinda more messy and less natural to mind tho.. sample rate would be prob high on cpu but easy to patch..just few ideas
Ideally connect a bunch of primitives modules together lets say a filter envellope to a filter would be computed at sample resolution. actually we can do lots of things but the fact its operating at bloc rate make it either low rez or more complex for sample rez, often implying either scripting or coding. finding a way to make it work at 'patching' level would be really great! a bit like reaktor/max/PD somhehow. Or maybe it could remain at bloc rate, but some modules would need an array out with sample precision especially envelopes, lfos ect, and the other way around an oscillator could take array in as its frequency to be computed precisely for each sample in the bloc. that sound kinda more messy and less natural to mind tho.. sample rate would be prob high on cpu but easy to patch..just few ideas
Few years ago I decided to make the choice between building an analogy modular synth or spend the time developing modules for Hollyhock.
Guess what I choose to do?
I now have a nice collection of modules designed with the modular patching in mind...
The release has been postponed many time due to bugs and new ideas, but now the release is imminent.
Have to find an easily maintainable way to do it but.
Guess what I choose to do?
I now have a nice collection of modules designed with the modular patching in mind...
The release has been postponed many time due to bugs and new ideas, but now the release is imminent.
Have to find an easily maintainable way to do it but.
http://oli-lab.org
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Hello
To Oli-Lab
Please, share ! Do you have Mac Version ?
To 23fx23
Not sure to understand everything you wrote.
Nobody else is involved in synthesis ?
Regards
Sylvain
To Oli-Lab
Please, share ! Do you have Mac Version ?
To 23fx23
Not sure to understand everything you wrote.
Nobody else is involved in synthesis ?
Regards
Sylvain
i meant for ex actually if you connect lets say an adsr, curve or an LFO output to a volume module, oscillator frequency , filter frequency, ect, the resolution//refresh rate of parameters is limited to usine bloc size, ie 128 samples by default, wich is roughly a 3ms step/resolution, while on a vsti internally the oscillator frequency, filter, fm or amp enveloppes for exemple are computed at sample rate , every single sample, so if some patchs could allow an option to be computed at sample rate, that would make things easier for precise synthesis while connecting multiples separated modules together in the patch window dk if make sense.
Thanks, that is what I was understanding.
It merit considerations.
I thing smoother integrate this idea.
Regarding CPU consumption, I don't know what is possible.
It merit considerations.
I thing smoother integrate this idea.
Regarding CPU consumption, I don't know what is possible.
well, try the filters I made it's in the addons Oli_Lab Modules pack august 201623fx23 wrote:i meant for ex actually if you connect lets say an adsr, curve or an LFO output to a volume module, oscillator frequency , filter frequency, ect, the resolution//refresh rate of parameters is limited to usine bloc size, .
some get a FM input that work at samplerate.
actually, the way it works is audio and array input are the same : if a module take arrays at its inputs, you'll have the computing done for each element of the array. if it's audio (array) you'll have all the samples calculated separatly.
exemple :
a * module
you have a audio stream coming into each input, each bloc you get each 128 samples being multiply by the 128 samples of the second input. i.e. A1*B1, A2*B2.....A128*B128
that is a ring modulator !
http://oli-lab.org
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
I've been experimenting with custom synth patches and can't figure out how to do proper FM modulations between oscillators. I've tried to use get value from Array that extracts just one moving value from ongoing array and that scaled to 0-1 and 0.5-1 with A*B module inserted to A(Frequency)+B(moving value) and it kinda does modulate the frequency, but in a crappy way. Can someone enlighten me on what I'm missing?
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Hello x.iso.
I had the same problem. I was thinking that the freq inlet didn't take array to work at audio rate. But it did.
We investigated with Senso and just solved the problem in V179. Just clic on FM mode on the oscillator HiQ. It works now as it does.
Will not work with simple oscillator. Not check now for WT oscillator. Probably not relevant for VPS oscillator.
All the best
Sylvain
I had the same problem. I was thinking that the freq inlet didn't take array to work at audio rate. But it did.
We investigated with Senso and just solved the problem in V179. Just clic on FM mode on the oscillator HiQ. It works now as it does.
Will not work with simple oscillator. Not check now for WT oscillator. Probably not relevant for VPS oscillator.
All the best
Sylvain
Ok, I've tried that from the get go, but got mostly silence. Now I realize that I was supposed to make Change Scale conversion from -1 to 1 to actual frequency range. That works, even without FM mode, so I'm not sure what FM mode supposed to do here. Also it disables all waveforms beside sine.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
trying to be clear, not sure, sorry.
In fact, to have the real FM, you need aliasing. The negative frequencies go to positive. Without the FM mode enable, negative frequencies are ignored by the oscillator module. So it works, but not as it does.
In fact, to have the real FM, you need aliasing. The negative frequencies go to positive. Without the FM mode enable, negative frequencies are ignored by the oscillator module. So it works, but not as it does.
I would really appreciate if you could make an example patch with basics of FM synth, no envelopes no filters, just how to mix and modulate OSC's and do the ratios. I'm experimenting with Audio matrix to route modulators to carriers, and getting some gnarly sounds, but I think it's just ring (amplitude) modulation, not FM.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Hello
Here's a very simple example. Two oscillators, with same frequency input. If you increment FM amount, you will increment harmonics in sound.
http://www.sensomusic.org/forums/upload ... xample.pat
Then, you can have different frequencies, the first oscillator can be changed by a sampler, feedback the oscillator (not completely relevant yet, certainely due to DC component) .....
For the moment, just the sine is implemented for FM, I look with Senso to implemented all kind of waveforms. And we need also to clarify the DC component. It's a work in progress. It was not the original purpose of this DAW, but I hope many thinks will arrived or be clarified in Usine for good synthesis.
Enjoy
Sylvain
Here's a very simple example. Two oscillators, with same frequency input. If you increment FM amount, you will increment harmonics in sound.
http://www.sensomusic.org/forums/upload ... xample.pat
Then, you can have different frequencies, the first oscillator can be changed by a sampler, feedback the oscillator (not completely relevant yet, certainely due to DC component) .....
For the moment, just the sine is implemented for FM, I look with Senso to implemented all kind of waveforms. And we need also to clarify the DC component. It's a work in progress. It was not the original purpose of this DAW, but I hope many thinks will arrived or be clarified in Usine for good synthesis.
Enjoy
Sylvain
Ok! It was useful to clarify that you input frequency of note or other source and the modulator at the same time. Also now I notice the difference with FM mode and without. So without FM mode it makes Ring modulation?
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Without FM Mode, it's not a ring, it's just "bad" calculation mode.
To avoid compatibiliy problems, Senso prefer to keep this "bad" calculation mode on frequency that ignore neagtive frequencies. For our purpose, FM, we need those negative frequencies.
According to formulas, some frequencies will be negative. This can be interpreted as merely a phase change: sin(−x)=−sin(x)
or perhaps not even a phase change: cos(−x)=cos(x). Since we tend to ignore phase, we can just ignore the sign of the frequency and consider negative frequencies to be positive. We sometimes say the negative frequencies “wrap around†(zero) to become positive. The main caveat here is that when frequencies wrap around and add to positive frequencies of the same magnitude, the components may not add in phase. The complexity of all this tends to give FM signals a complex behavior as the index of modulation increases, adding more and more components, both positive and negative.
To avoid compatibiliy problems, Senso prefer to keep this "bad" calculation mode on frequency that ignore neagtive frequencies. For our purpose, FM, we need those negative frequencies.
According to formulas, some frequencies will be negative. This can be interpreted as merely a phase change: sin(−x)=−sin(x)
or perhaps not even a phase change: cos(−x)=cos(x). Since we tend to ignore phase, we can just ignore the sign of the frequency and consider negative frequencies to be positive. We sometimes say the negative frequencies “wrap around†(zero) to become positive. The main caveat here is that when frequencies wrap around and add to positive frequencies of the same magnitude, the components may not add in phase. The complexity of all this tends to give FM signals a complex behavior as the index of modulation increases, adding more and more components, both positive and negative.
actually, in FM you merely modulate the existing assigned frequency by a certain amount : the frequency will then vary between two values that will stay positive anyway. IMHO
The sure thing is that the inputs that should be modulated have to be "array compatible" so the changes can be apply at sample level instead of block level when applying audio stream to these inputs.
for example, if we want to sync an oscillator to another one, we need a zero cross module that outputs an array the size of an audio block that send the information of the index of the array where the zero crossing happened and we need a reset input on the second oscillator module that understand this. That is the only way I know to sync two oscillators together.
The sure thing is that the inputs that should be modulated have to be "array compatible" so the changes can be apply at sample level instead of block level when applying audio stream to these inputs.
for example, if we want to sync an oscillator to another one, we need a zero cross module that outputs an array the size of an audio block that send the information of the index of the array where the zero crossing happened and we need a reset input on the second oscillator module that understand this. That is the only way I know to sync two oscillators together.
http://oli-lab.org
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Took me long enough to realise that basic Frequency Modulation (or rather Phase Modulation) can be easily achieved by wiring source audio to Delay module input, then modulation source going through Volume module acting as attenuator for modulation amount, then going through ABS module to pass negative values as positive instead of cutting them off, then wiring that to Change scale 0-1 to 0-500, then finally to delay time.
That would be 0-1 type of phase modulation though, you can get -/+ modulation by setting delay at some value (maybe 10-140ms depending on depth of desired modulation) and then modulate it both ways, so it reaches 0 at maximum -1 amplitude. No need for ABS module in this case, but this introduces overall delay on the modulated signal.
That would be 0-1 type of phase modulation though, you can get -/+ modulation by setting delay at some value (maybe 10-140ms depending on depth of desired modulation) and then modulate it both ways, so it reaches 0 at maximum -1 amplitude. No need for ABS module in this case, but this introduces overall delay on the modulated signal.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Who is online
Users browsing this forum: No registered users and 130 guests
