good light chorus / pitch shift dbl vst?

Anyone know a VST plugin that does a good (cheap or free) light chorus and/or pitch-shift doubling? I’d use it in conjunction with mid-side matrix to get a sound like this:

=> Stereo Rhodes demo clip

Since I haven’t found a good sounding plugin, I did this the hard way by building it into the soundfont. I used CoolEdit’s pitch shift to create the effect and MDA’s “image” vst for mid-side encoding to apply it. (The result of using mid-side encoding for the effect, where the effect is added to left and subtracted from right, is that the effect cancels out completely when played in mono.)

The resulting sound is not the correct sound for pitch shifting. True pitch shifting causes a stable image, but this caused a nicely moving one (which is fine – even better for my purposes here). I also had to do a lot of wave editing to realign the samples after the pitch shifting. But regardless of these little problems, the resulting sound is nice and clear and not “grainy”, the way most plugins sound when I try to use them this way. (On the other hand, it took more that twice the duration of the wave file to process it, meaning that method wouldn’t work as a normal plugin.)

My hope would be to use it live as well as in the studio. I may be hoping for more than is reasonable. This is an area where hybrid analog/digital works better than pure digital, because the hybrid can work by modulating the clock on a digital delay line. Can’t really do that in digital. Of course, the hybrid method has it’s drawbacks too; since it requires two delay lines and switches between them to “keep the pipe full”, you can hear a soft glitch on high pitches at the crossover fade.

BTW, if anyone wants a link to the soundfont, just ask. My domain is down at the moment, but the file’s up on CC host.

as it goes, I’m writing such a beast…

Getting a decent pitch shift is hard to do realtime. I have a method playing with buffers, which is effectively a chorus, and is OK for small values (At octaves it horrid!)

When I get a moment or two, I’ll send you something…

You could try the Chorrosive beta I recently put up at Betabugs, and try one of the chorus Only settings (you’ll need a host that will allow default GUI tweaking - I use CONSOLE for that kind of thing…)

HTH
DSP

Getting a decent pitch shift is hard to do realtime

Evidently, it's even hard to do it in false time! I was surprised at the variable timing shifts that CoolEdit96 caused in the pitch-shifted track. No wonder folks using SBLive cards in 44.1 kHz get synch issues.

The funny thing is that sfz does a great job of pitch shifting in real time, as needed to fill the gaps between samples. And yet, sfz's chorus sounds like garbage. Go figure. I suppose small pitch shifts are harder than big ones -- that stands to reason, I suppose. (Higher lowest common multiple, right?)

I'll try Chorrosive. :)

Thanks,
Jeff

Hey Jeff
Have you tried these. I’ve used the chorus one as a send for vocal fx.
http://www.kjaerhusaudio.com/classic-series.php

Quote (learjeff @ Jan. 24 2005,14:59)
Getting a decent pitch shift is hard to do realtime


Evidently, it's even hard to do it in false time! I was surprised at the variable timing shifts that CoolEdit96 caused in the pitch-shifted track. No wonder folks using SBLive cards in 44.1 kHz get synch issues.

The funny thing is that sfz does a great job of pitch shifting in real time, as needed to fill the gaps between samples. And yet, sfz's chorus sounds like garbage. Go figure. I suppose small pitch shifts are harder than big ones -- that stands to reason, I suppose. (Higher lowest common multiple, right?)

I'll try Chorrosive. :)

Thanks,
Jeff
trouble with anything using an FFT is that the bins are evenly spaced in freq, and pitch is a logscale over the freqs.

If you want to transpose over a small amount, at the low end, your signal may not even move out of the bin, just the phase change a bit, depending on how the shift has been programmed.

sfz will probably take the sample, and just effectively resample it to alter the pitch, whereas the chorus would be a generalized buffer driven delay/chorus. Personally I never use the fx in sfz. Also Rene made it so that the effects are only used if they are specified in the sf2: ie - no fx directives in the sf2->no effects even when asked for in sfz.

btw, chorrosive is stereo in as much as it uses two mono chorii, one for each channel, each with the same settings. It doesn't do any fancy image enhancement.

I could write you a VST for doing diff chorus fx per channel if you'd like. Not a problem.

HTH
DSP

Interesting, Duncan. What you say makes sense (which means I’m now dangerous because I think I understand!)

<!–QuoteBegin>

Quote
Also Rene made it so that the effects are only used if they are specified in the sf2: ie - no fx directives in the sf2->no effects even when asked for in sfz.

This doesn’t jive with my results. It’s true that if you don’t specify a chorus amount you won’t get chorus, but if you send a chorus level as MIDI data (or set the MIDI chorus level in n-Track’s track properties), you definitely get a stereo chorus effect. (Though not a very good one.) Ditto for reverb, except the reverb sounds a lot better than the chorus.

Actually, what I want is a single chorus, but added to left side and subtracted from right side (“mid-side”). The reason is that the chorus is used as a stereo imaging effect and NOT a tone coloring effect. When applied this way, when summed to mono there’s no coloration. And when played in speakers or headphones, there’s very little coloration but a lovely stereo image.

Again, listen to the track above to see what I mean. Load it into your DAW and go between stereo and mono to really hear what I’m talking about. Of course, you’ll understand the sum-to-mono characteristics.

What I find strange is that this mode was very common in hardware devices of the 80’s and 90’s, but I never see it as an option for software devices. Go figure.

Could you explain the buffer method for chorus? Does it work similar to the old hardware bucket-brigade-delay trick, where you modulate the output clock frequency? Of course, in the DSP and plugin world, where you can’t modulate the clock, you can skip and duplicate samples using an algorithm similar to drawing a slanted line in pixel graphics. If that’s how it’s done, that might account for how bad they tend to sound! Also, it might account for why people say 192kHz sounds better. That’s a testable hypothesis, too. Unfortunately, my MOUT828 only goes up to 48k so it would be a bench test and not a workable solution for playing live.

The best pitch shifter I used was a digital MXR rack device which I got really cheap – evidently nobody knew what a piece of gold it was. I think the store was happy to unload it at any price, but I took their first offer and never regretted it, it was such a great device. (I loaned it to a guy and he won’t give it back!) It used a pair of digital bucket-brigade delays, where the output rate was different from the input rate, and it cross-faded between the two so that it always had samples to shift out. There was a noticeable phase shift glitch at these crossovers, but that was only noticeable for certain kinds of sounds, so I avoided them. This device was fantastic for 4- and 8-track recording, because you could mix rhythm tracks down to one track and have the rest of the channels open. Then, using this FX on playback, the mono rhythm track would jump to life, with a synthetic but very mentally meaningful, static, stereo image. Each instrument went to it’s own “place” in the image, making it far easier for the mind to distinguish between the instruments, increasing the clarity of the rhythm track. (Cymbals got spread all over heck, but that’s what you wan’t, isn’t it? Each cymbal got it’s own swath, though.) It also had modulation, to make the image swirl like with a chorus. That was good for the Rhodes, but I generally used my Roland Chorus Echo for the Rhodes.

Thanks,
Jeff

My effect doesn’t do Midside, unless you route: Signal->Cho->MSEncode…

Yes, the digital chorus is a digitised version of the bucket brigade… You have a sample buffer, and a short variable delay before the fx reads the sample back to mix in. The variance is often caused by a sine wave, so the playback ‘swims’ over the samples, or sometimes it’s a triangle wave, which has a different timbre, or something in between. I use a Sine, since it’s generally the nicest - it’s the best eqiv to the variable clock speed. The kjaerhus one is very good.

wrt to the pitch shifting - I have a class which does the very same. It’s adapted from the one in Perry Cooks STK: 2 buffers and xfade between them at the correct rate. It sounds OK at low intervals, but up at an Octave… wow! I have a Boss shifter/Delay mini-rack effect which works OK. I normally use it to make a chorus, and use an Ibenez Delay for the echoes… Such is life…

Would you like me to make a little something up for you?

DSP

I would be most obliged!

I assume that what you mean by the routing is that I’d need to expand the track to stereo, send left through dry, apply effect to right 100% wet, and then feed into a mid-side plugin (like MDA “image”). That would work, except that for live playing, VstHost won’t expand to stereo. So I guess I’d just need to find a mono->stereo plugin which I bet I can find (if it’s even doable given the VSTi interface definition, which I know nothing about).

I think that FX designers should consider providing a mid-side option for any effect, since it’s so useful. I suspect it isn’t typical because plugins come in two flavors: mono and stereo, period. Well, mid-side on FX implies that you have a mono input and stereo output. The effect being mono but added to left and subtracted from right. Well, as I said above, I don’t know whether that’s possible.

However, a plugin could sum L&R and do the rest as above. Or, it could convert the LR input into MS, run the effect on M, add the result to S, and convert to LR.

Funny, MS is so useful yet seems to be ignored by most folks using and writing plugins for DAWs these days. Most folks just aren’t geeky enough to understand how to use “image” plugin to get the effect, or even why they’d want to.

Mono to stereo? Look at ‘Moneo’ on the betabugs betatesting area. It treats L&R as separate Mono channels, and you can pan each as you would like. I designed it as I like using JCM900 in NTrack, but since it’s a mono plug, stuff just comes out on the Left, and I wanted a stereo image…

It ain’t MSEncoding, but it’s a laugh!

I’ll look at a dedicated Chorus/Shifter over the next couple of days…

DSP

Quote (duncanparsons @ Jan. 26 2005,04:14)
designed it as I like using JCM900 in NTrack, but since it's a mono plug, stuff just comes out on the Left, and I wanted a stereo image..

I always wondered why it did that! wow. I learned something.

fish

I don’t understand.

I’ve used mono plugs on mono tracks (e.g., OB-Tune). It works as you’d expect. When I try to plug it on a stereo track, it fails to load and gives an error message.

Perhaps JCM9000 will allow itself to get plugged in on a stereo track (or aux or group, which are always stereo), and that’s when you get the left-only behavior? If so, note that your plugin is being plugged into a stereo track, not a mono one. Or am I just mixed up here?

Thanks,
Jeff

what happens to me is when I load the jcm, or any of the plugs from that line, almost all audio is on the left side. There is some audio information on the right side (or there is level on that side, at any rate). If you pan it to about 50% right, you get the levels to balance visually. Don’t know what the exact source of the problem is, but it always does that.

fish

Sounds like a bug. Is this with or without “expand mono track to stereo”? Or are you using a stereo recording?

“expand mono track to stereo” works on WAVE tracks…

I encounter the problem when I have a MIDI track, routed to a vsti, then JCM900, so I can’t use that setting.

However, Moneo should perform what you want…

Current beta is here. It has a cheap 6dB/Oct filter as well, just for a laugh!

DSP