Modulating Loop Points

This is where to post your questions and tips on creating presets and using cords.

Moderators: stu, Ole

Modulating Loop Points

Postby DJFracture » Tue Jun 15, 2004 3:32 pm

is it possible to modulate loop points in realtime? a la kontakt or battery?

thanks
DJFracture
 
Posts: 11
Joined: Mon Feb 09, 2004 1:07 pm
Location: London

Postby sampleandhold » Tue Jun 15, 2004 4:58 pm

you can sort of... It seems to work best if you are using single cycle loops. There should be a post around here referencing pulse mod width. It works, but I think if you use anything larger then a single cycle type loop it doesn't work. It will go from your loop to a click then back again... if I remember right. Kind of like note on type effect except it affects loop on...

look around for that thread, I just can't remember what the cord setting was... modwheel>sloop>+100? I can't remember. You should be able to find it on this or the next page anyway. Or some that can remember the cord might just post it here.
"{jU$t-n3Rv0U$-N-+h3-@Ll3y-W@y}"
sampleandhold
 
Posts: 581
Joined: Tue Apr 15, 2003 4:38 am

Postby razmo » Thu Jul 08, 2004 1:35 pm

Hi!

Modulating the Loop points in real time is certainly possible. The thing is, that it modulates the looped region's offset in single sample steps. This is why it is only working on singlecycle loops because they are small enough to actually make a drastic change in the looped sound. I believe, that the offsetting is from 0 samples (at 0% mod. amount) to 127 samples (at mod. amount 100%), but I'm not totaly sure on this. Actually you can make this amount larger by using the GainX4 modulation processor. This will effectively raise the offset from 0-127 samples to 0-511 samples (in 4 sample increments). Had the offsetting been definable in larger increments (128 for example) it would have been possible to do wavetable synthesis! :grin:

Razmo.
Regards, Jess D. Skov-Nielsen.
razmo
 
Posts: 62
Joined: Wed Nov 19, 2003 6:55 pm
Location: Denmark

Postby Silverman2 » Fri Jul 09, 2004 4:12 am

Go on Razmo!

tis is not possible to chain the gain4x data?


eg lfo -> gain 4x -> lag0 -> gain4x -> lag1 -> gain4x -> sloop


just thinking out loud, not near my sampler.
Probably bollux :finger:


i cant remember the "Key -> Break" cutter patch but I am sure it used an alternate multiple parallel gain4x modules to achieve the required result.

something like

Gain4X -> SStart +100%
Gain4X -> SStart +100%
Gain4X -> SStart +100%
Gain4X -> SStart +100%
Key~ -> Gain4X + n

from the above

Gain4X -> sloop +100%
Gain4X -> sloop +100%
Gain4X -> sloop +100%
Gain4X -> sloop +100%
lfo~ -> Gain4X + n

might work?

I just don't know \o/
Silverman2
 
Posts: 119
Joined: Tue Mar 30, 2004 2:44 am
Location: UK

Postby razmo » Fri Jul 09, 2004 9:39 am

Well, it's definitely worth a try! ... If this works, and is accurately enough, surely it will be interesting! ...

Think I'll try this out today. If I'm thinking right, the internal mathematics of the EOS calculates modulation signals in the range of 0..1 (-1...0...1 on bipolar sources), at least that is the scheme that is explained in the manual. I then believe, that this floating point value is multiplied with 128 samples and truncated/rounded to an integer value before being added as an offset to the loop region.

I believe that the Gainx4 engine will multiply by 4 on the floating point value. If this is correct, the values calculated will not be in steps of either 1,2,4,8,16,32,64,128,256 etc. as wanted, but more like this:

1. DC (1%=0.01) -> GainX4 (would be 0.01 * 4 = 0.04)
2. GainX4 -> GainX4 (would be 0.04 * 4 = 0.16)
3. GainX4 -> GainX4 (would be 0.16 * 4 = 0.64)
4. GainX4 -> GainX4 (would be 0.64 * 4 = 2.56)
5. GainX4 -> SLoop (would be 2.56 * 128 = 367.68)

As can be seen, the value I got that should have been in steps of 256 samples (which is the waveform length in samples I'm looking for) became 367.68 samples instead, meaning that the loop will be positioned wrongly in the table if the 128 waveforms are placed 256 samples apart. The stepping will be in roughly 367/368 steps depending on the floating point value calculated.

So in theory, this modulation should place the loop region in the sample at roughly 368 step intervals if the DC->SLoop modulation is used. Using this scheme, you'd be able to calculate exactly where the loop will be placed in the sample down to sample accuracy with a little calculation of every value from 0.00 to 1.00.

Actualy this means that you would have a table with 100 waveforms, with roughly 368 samples in between, but this gives us an advantage, since we could have a loop only 256 samples en length, giving us some extra samples at the end of each waveform so that the interpolation algorithm will work flawlessly! ... By the way, a sample at 42193Khz being 256 samples in loop length is an E2 note exactly! (tested with the CALC feature in EOS to be an exact cycle of 256 samples).

The problem with other modulation sources than the DC source is, that they might have other floating point values than 0.00, 0.01, 0.02 etc. If those other sources have more decimal places, the scheme will get fucked up! .. Most likely this will be the case, especially when modulation sources are combined in the floating point domain. One hopeful solution to this is, that you might just modulate the DC->SLoop modulation amount instead, and hopefully this means that the value is scaled in 0.01 steps to the DC->SLoop amount value! :roll: ... If the amount values are handled internally as floating point values after the initial setting, this whole wavetable thing is nothing but dreams! :cry: ...

Maybe experimenting with the Quantize modulation engine can solve this problem somehow... this will have to be studied further...

I'm going to try this thing out some day... If it works, I'll let yu know about the details!

Razmo.
Regards, Jess D. Skov-Nielsen.
razmo
 
Posts: 62
Joined: Wed Nov 19, 2003 6:55 pm
Location: Denmark

Postby razmo » Fri Jul 09, 2004 10:09 am

By the way, if this scheme works, things that would be possible are:

1. "True" Pulsewidth modulation (better accuracy than the other one already mentioned because of flawless pitch interpolation)

2. "True" waveform Syncronisation sounds

3. Vocal formant waveforms arranged over the whole keyboard with keytrack->SLoop modulation (no need for 128 separate samples!)

4. Filter emulation of old analog gear by sampling their filters in single cycles.

5. FM sweeps

6. Ring modulation sweeps

7. Vocal formant sweeps (ooo-aaaa etc.)

8. Crude Speech synthesis (by using MIDIA-L controllers)

and probably much more...

Razmo.
Regards, Jess D. Skov-Nielsen.
razmo
 
Posts: 62
Joined: Wed Nov 19, 2003 6:55 pm
Location: Denmark

Postby Silverman2 » Sat Jul 10, 2004 4:33 pm

Sounds interesting!

well check this out tonight.

If it works there still might be problems with glitching depending how fast the emu resets its loop points?

really interesting stuff Razmo, thanks for sharing!

:spliff:
Silverman2
 
Posts: 119
Joined: Tue Mar 30, 2004 2:44 am
Location: UK

Postby Silverman2 » Mon Jul 12, 2004 3:56 am

not must joy here.

I laid out DC to 5 gain 4x to Sloop
but the results were fairly tiny if anything at all.

let us know how u get on.
running 4.7 here
Silverman2
 
Posts: 119
Joined: Tue Mar 30, 2004 2:44 am
Location: UK


Return to EOS: The Lab