2CAudio Kaleidoscope | It's A Trip | Latest Update 1.1

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
Post Reply New Topic
RELATED
PRODUCTS
Annual Subscription for Kaleidoscope Kaleidoscope

Post

Thanks! So, I was understanding correctly.

Post

XComposer wrote: Sat Sep 29, 2018 5:31 pm

I'm interested in understanding better, too. So, the original timbre of the waveform has nothing to do with the resulting timbre of the tuning, whatever frequency range it is made to fit to, right?
Putting it very simple (too simple, I'm sure), I mean: if I take a single cycle waveform from a clarinet note, and I use it as a tuning in Kaleidoscope, I shall not expect to be able (for instance, when using white noise as sound source) to make sounds that resemble the timbre of a clarinet in any way, whatever frequency range I choose to make it fit to, am I correct? Or there is a way to do it? Please forgive my very naive question…
Nothing at all to forgive. It's a great question, and I am always happy to talk about KS. (I still can't spell it, so I just type KS. :wink: )

If you extract a sample from a real audio recording of Clarinet or Violin or whatever, crop it to 2048 samples and save it as 64-bit format you can use it, sure.

But, no, it will have absolutely nothing at all in common with the sound of the original sound file. We are not using the data in any conventional way. It is simply treated as a list of tuning ratios variables. I say "variables" bc a single waveform either created by you, or loaded from the existing library can be used an infinite number of ways via the range to which you stretch/fit these values.

Let's say for easy math and pure laziness we have 4 samples in our waveform instead of 512-2048....

let's say they are a basic linear ramp, so they have values:

0.0
0.25
0.5
0.75

let's say you use "waveform hertz" mode and set 1000, 4000 hertz min/max values. Your tuning will now have:

1000 + 0.00 * (4000 - 1000) = 1000 hz
1000 + 0.25 * (4000 - 1000) = 1750
1000 + 0.50 * (4000 - 1000) = 2500
1000 + 0.75 * (4000 - 1000) = 3250

and if you had a fifth point (in the case of 2048 samples, there will usually be one that reaches the full scale, and you should normalize if you are making your own to force this to be true):

1000 + 1.0 * (4000 - 1000) = 4000

let's say instead you used: 50, 60 hz min/max

now you have:

50 + 0.00 * (60 - 50) = 50 hz
50 + 0.25 * (60 - 50) = 52.5
50 + 0.50 * (60 - 50) = 55
50 + 0.75 * (60 - 50) = 57.5
50 + 1.00 * (60 - 50) = 60

so you can see the first and the second case are going to sound entirely different. Not only simply bc the first is higher freq, but also the first has a range of two octaves, and the second has a range of only 2 semitones or so.

Thus the resulting absolute hertz values are completely dependent on the range you use (and also the lin/log spacing choice).

If you use a sample from a clarinet, the sonic result has absolutely zero to do with a clarinet anymore. The clarinet sample just gives us some abstract "geometry" for spacing our tuning ratios within some range. It is for most/all intents and purposes effectively random data.

The sonic result will be generally unpredictable unless you happen to be a quantum computer AI. :D General characteristics are possible to control such as is this a micro tuning or a large range spectrum, but the specifics of the tonality will be generally chaotic if you use real samples.

But that is fine and good bc KS is a tool that allows you explore chaos/complexity and find interesting new patterns. It's designed to create surprises. It's up to you as the sound-designer/composer to ascribe meaning/purpose to these structures and use them purposefully in some compositional process or to create some emotional story.

We could (maybe will) explore more literal spectral-domain things in the future were maybe we would allow a sample of a real instrument to create a tonality that matches its spectrum and then manipulate that. But there are other tools that do that sort of thing well already.

hope it helps...

Post

Sampleconstruct wrote: Sat Sep 29, 2018 5:53 pm
Andrew Souter wrote: Sat Sep 29, 2018 4:51 pm
Sampleconstruct wrote: Sat Sep 29, 2018 4:06 pm Well, but one has to convert any given wav to 2048 kHz in order for KS to read it.
Should not be true AFAIK.

This:

https://www.galbanum.com/products/archi ... eforms2010

uses 96K as the "sample rate" for the 64bit format. And these clearly are good in KS (as this is where all the factory waveforms come from, and this is included in the KS Pack).

What are you using to create yours?


(note "sample rate" for the original intended use of these waveforms: i.e. as oscillators in waveform/wavetable synths, is also basically irrelevant. One only cares about how many samples define one period of the waveform. 2048 samples = 1024 amplitudes in the spectral domain + 1024 "imaginary" values that control phase of each partial for one period of a waveform in this case. In wavetable synths, the "sample rate" in some ways can be considered how fast you read through this waveform/wavetable. i.e. if you read values from it twice as fast, you just transposed it up an octave. And as wavetable synths are expected to transpose the waveform 8-10 octaves or so, the "sample rate" header of the file is basically meaningless and we care only about "how many samples = one period". Basically the same rate header should be ignored by any proper wavetable synth engine. This is not entirely relevant to KS, it just felt like a good opportunity to pontificate. :D It is relevant in the sense that KS also completely ignores the sample rate header of the file. To KS the data is simply a list of double-precision floating point numbers that are interpreted as some relative ratio that is then mapped to a given range and multiplied by a reference frequency to define a tuning set.)
Years ago when I started out with KS I tried all different formats, but the only one KS would read is 2048 kHhz which I achieve by converting the SCs in WaveLab to 2048/64 Bit.
LOL, Andrew I just checked your waveforms in the KS factory library, they are all using the sample rate of 2048 kHz so something slipped through your memory I guess :)

Post

Sampleconstruct wrote: Sat Sep 29, 2018 7:02 pm
LOL, Andrew I just checked your waveforms in the KS factory library, they are all using the sample rate of 2048 kHz so something slipped through your memory I guess :)

it seems some of the ones in the factory bank have sample rate set to 2048hz, yes. (Maybe all that came from AV1?). Others are set to 96k (most things in AV2 folder), others are set to 44.1k ("Random Walk" waveforms). All of them load. Sample rate is basically ignored. It does not matter as long as it is a valid .wav file and is 64-bit format.

ALL of the "Architecture Waveforms 2010, 64-bit" add on files are set to 96K.

...but it should not matter.

Post

hope it helps...
Understood everything! Thank you very much, Andrew.
We could (maybe will) explore more literal spectral-domain things in the future were maybe we would allow a sample of a real instrument to create a tonality that matches its spectrum and then manipulate that. But there are other tools that do that sort of thing well already.
Yes, I don't know which other tools you are making reference to (and I would be very interested), but this possibility would be really great for me (I was even looking for a tool making automatically a Scala .scl file from the spectrum peaks of a sample, but I cannot find none).

Thanks a lot for explaining.

Post

XComposer wrote: Sat Sep 29, 2018 7:41 pm Yes, I don't know which other tools you are making reference to (and I would be very interested),
Things like Iris, Metasynth Image Filter, and various other FFT-based things that do spectral editing/manipulation...
XComposer wrote: Sat Sep 29, 2018 7:41 pm but this possibility would be really great for me (I was even looking for a tool making automatically a Scala .scl file from the spectrum peaks of a sample, but I cannot find none).
It depends also on the the process. If it FFT, FFT bins are spaced linearly from 0 to nyquist, and you get basically amplitude map for each bin, but the location of each bin is fixed as defined by the Sample Rate and the number of Bins (FFT size). Making a ks tuning that provided FFT bins freq locations is trivial. I did that at some point. I am not sure if those files are in the factory content or not.

But then what you actually need is an amplitude map to control how each of these bins are weighted, as is done with FFT. We could for example do such a thing with the "SOFT" map functionality. Such a feature would weight each line in KS differently depending on incoming FFT analysis.

Of course it's somewhat wasteful to use this many resonators to for more sparse signals.

It might be possible to code come kind of spectral peak finder and translate this into KS tun files, yes. I'll think about it.
XComposer wrote: Sat Sep 29, 2018 7:41 pm Thanks a lot for explaining.
no prob. :tu:

Post

Sampleconstruct wrote: Sat Sep 29, 2018 10:15 am
Sampleconstruct wrote: Sat Sep 29, 2018 10:13 am Yes, only 64 Bit wavs at a sampling rate of 2048 kHz (I use WaveLab for this).
All tuning files have to be in .txt-format, but you can simply copy/paste .scl-files and make a new document which has the .txt-ending.
More info on .scl-tuning files here:
http://www.huygens-fokker.org/scala/scl_format.html
We should allow loading of .scl directly. We will add that whenever the next update is to make it easier so you don’t have to manually rename file extensions.

Post

Andrew Souter wrote: Sat Sep 29, 2018 7:19 pm
Sampleconstruct wrote: Sat Sep 29, 2018 7:02 pm
LOL, Andrew I just checked your waveforms in the KS factory library, they are all using the sample rate of 2048 kHz so something slipped through your memory I guess :)

it seems some of the ones in the factory bank have sample rate set to 2048hz, yes. (Maybe all that came from AV1?). Others are set to 96k (most things in AV2 folder), others are set to 44.1k ("Random Walk" waveforms). All of them load. Sample rate is basically ignored. It does not matter as long as it is a valid .wav file and is 64-bit format.

ALL of the "Architecture Waveforms 2010, 64-bit" add on files are set to 96K.

...but it should not matter.
So indeed I was wrong, I just made a single cycle with WaveLab at an SR of 48 kHz and sure it works alright, so it seems that I just followed the formatting of AV1 when I started out and never tried other sample rates than 2048 kHz. This will save some time when producing SCs for KS, thank's for the enlightenment!

Post

Sampleconstruct wrote: Sun Sep 30, 2018 2:20 am So indeed I was wrong, I just made a single cycle with WaveLab at an SR of 48 kHz and sure it works alright, so it seems that I just followed the formatting of AV1 when I started out and never tried other sample rates than 2048 kHz. This will save some time when producing SCs for KS, thank's for the enlightenment!
No prob. It's possible whenever I made the original AV1 content that I thought it was necessary to have the Sample Rate rate header set to 2048hz also. I don't quite remember why those files are set that way. AV1 was made originally for MetaSynth, so perhaps MetaSynth required a sample rate of 2048 for some reason. I don't quite remember the rational for that.

Post

BTW, another cool use of the Waveform tuning mode is to make psuedo drum/percussion and filter loop sounds such as:

https://www.2caudio.com/sitecontent/pro ... Rhythm.zip

These presets are using KS as a synth. It many ways KS is more of a synth than an FX processor. Everyone should explore this aspect of it... :tu:

you can notice the extreme effect changes to the waveform selection for the tuning mode affects the sound here. It is particularly interesting since the waveform data is not typically sorted in order (unless you force it to be)... this can create quite interesting and diverse results simply by changing the selected waveform and using the same images etc.

notice how you can have wide, full spectrum FX, as well are narrow band thing such as techno sub rumble rythms etc.

Post

sqigls wrote: Sat Sep 29, 2018 5:56 pm Unfortunately I can't use Kaleidoscope in Cubase 6.5.5, crashes every time Cubase scans it.
2CAudio Kaleidoscope 1.1b, OSX10.9.5... x64

Works in Live 9.7... anyone know of any workarounds? Tried the usual a few times, just crashes, doesn't want a bar of it.
Breeze2, B2, Aether all load fine...

Can email 2CAudio the crash logs if you want them?

Post

I don't suppose a Cubase update is an option? 6.5 came out several years before KS 1.0 even... I'm pretty sure we tested on 8.0 and higher... Maybe even 7.5. KS does some quite modern coding things so it might not like hosts this old. And we don't have 6.5 around anymore... (sorry, wish I had a better answer... :( )

but please send logs, sure, maybe it tells us something.

Cubase 9.5 FX by parts is very very cool for KS use btw! :tu:

Post

when i can afford it maybe, but i'm assuming jumping from OSX10.9.5 and Cubase 6.5 to OSX10.12 or whatever, with Cubase 9.5 is gonna come with some added CPU tax. I can't risk that, plus the possible inevitable instabilities with any number of other unforeseen plugin clashes... my system is nice and stable right now. Touch wood.

Post

I am wondering when we will get midi automation for wet/dry and al the other knobs?

Post

I am wondering when i can start using KS.
It even crashes other VST bridge hosts within Cubase 6.5.

yes, update Cubase, ok no problem. Flow me 300 bones and it's done as a dinner.

Post Reply

Return to “Effects”