frequency shifting

Started by samhay, February 10, 2013, 05:28:21 PM

Previous topic - Next topic

samhay

I am guessing that this topic comes up periodically, but I have not had too much joy searching for it.
I know that analog pitch shifting is hard to do (octaves up/down being slightly less so), but what about frequency shifting? By frequency shifting, I mean where all frequencies are shifted by the same amount or perhaps scaled by the same amount for that matter. I know that this is not going to sound very musical in most cases, but I am curious none the less.
It seems relatively easy to shift a know frequency using e.g. side band modulation, but what about shifting the entire guitar's range? I have heard rumours of various circuits that can do this. Do they exist, work as intended, and will any of them fit in a stompbox?
I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

Seljer

Yep, you basically need a bunch of allpass filters: http://spinsemi.com/knowledge_base/effects.html#Pitch_shifting Its not that hard if you're doing on a DSP chip.

Heres it done with analog chips http://www.jhaible.de/fs1a/fs1a.html
Maybe a bit too big for putting in a pedal unless you were to make everything surface mount.

tca

"The future is here, it's just not evenly distributed yet." -- William Gibson

samhay

Thanks guys - mixing phase-shifted signals seems to be the way it is done. It seems like it will introduce a lot of intermodulation distortion to anything other than a sine wave, but I guess I better buy a bigger breadboard and find out.
I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

Mark Hammer


samhay

Mark - I have stumbled across some of the modcan stuff. The one you linked looks like a managable size. Any idea what's inside it? I see it's attributed to Mike Irwin.
I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

Mark Hammer

All I know about it is "dome filters".

samhay

#7
For all those following at home, a 'dome filter' is a slightly cryptically-named all-pass filter with a 90o phase shift:
http://traktoria.org/files/sonar/signal_processing/design_and_analysis_of_90-degree_phase_difference_networks.pdf.
It would appear that Moog call this a dome filter, while others might talk about Hilbert transforms:
http://en.wikipedia.org/wiki/Hilbert_transform
or the Electronotes 12-pole design, which may or may not be something like this:
http://www.jhaible.de/tonline_stuff/hjfs6_df.gif

I guess the good news is that the circuitry can fit in something the size of a modestly sized stomp box.

Edit: posted mid-sentence. Since fixed.
I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

~arph

I have a way simpler idea.. which basically means it probably won't work  ;D

One of the drawbacks I guess it has is that the shift is not permanent.. it sweeps up and down.

Ok here we go:

run the input signal into pin 9 (the VCO input) of a 4046 PLL.  This generates a FM modulated signal at the output (pin 4) of the PLLL.
Run this modulated signal into a second 4046, this time inputting it at the normal input pin (14) and let it lock the frequencies. Does not matter if it succeeeds perfectly in that. At pin 10 the original audio should be more or less present.

Now the idea is this, use an LFO to modulate the bias point of the VCO input at the first 4046. Thus shifting the frequency of the FM modulated signal up and down. This causes the actual FM modulation to stretch and compress. And I *think/hope* this results in a varying pitch at the output of the second 4046.
Now the real interesting question here is, what happens if we put a divider between pin 3 and 4 on the second PLL?

If this works we can do a CMOS chorus  :D

So who's the first to point out the flaws in my thinking process?

samhay

~arph - sounds like an idea worth testing. I don't know enough about cmos logic to be able point out the flaws (if any).

I am quite keen to do permanent frequency shifting, but in addition to chorusing, what you described seems like a cmos vibrato, which is pretty cool.

I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

~arph

I will try it when I get some time.. I doubt it'll sound good. First I have this Mesa dual caliber to fix..  :-[

puretube

Quote from: samhay on February 12, 2013, 09:11:02 AM
For all those following at home, a 'dome filter' is a slightly cryptically-named all-pass filter...

The name "Dome" ain`t cryptical at all...

~arph

as much as I oppose your thread linking, this was actually useful and educational. Thanks!

puretube

#13
Quote from: ~arph on February 13, 2013, 03:44:05 AM
as much as I oppose your thread linking...

I cuddave written:
search (advanced): "Dome" by: "puretube" ...

but I did that myself, before replying...

[EDIT:]

or, maybe even better, quote myself?...
(after having done the required search...)
Quote from: puretube on May 03, 2005, 06:16:32 AM
[TUBE]

So you always wanted to know, where these strange cap-values come from?
They come from one of the over 100 patents issued to Robert B. Dome;
yes, the inventor of the famous Dome-filter;
Without Dome, we wouldn`t have had modern broadcasting, TV, and telephoneing that easy and early and good.
No AC30-Vibrato, Bode/Moog frequency-shifter, and a bunch of other nice FX...

http://v3.espacenet.com/origdoc?CY=gb&LG=en&F=4&IDX=US2566876&DB=EPODOC&QPN=US2566876

Although this file actually is intended to teach how to get two signals 90 degrees apart,
it is the first treat on spreading phase-shift evenly through the spectrum (in each of the 2 channels).
This dispersion principle is what the "un*v*be"- uniqueness is based on,
and what the great organ-people have used years before that unit, ...with tubes.


[this rounds up today`s installment of: "GET EDUCATED"]

actually, I like the fact that this forum shows the author and date of a quote,
and the fact of  being able to click back to the origin of a quote...  :icon_cool:

~arph

No, the thread linking you did here is fine, as it points to relevant information.
The thread linking I referred to is the confusing recursive thread linking to your own threads in the member section.

samhay

Right, so it's a Dome filter with a capital D, named after this guy:
http://en.wikipedia.org/wiki/Robert_B._Dome
Thanks puretube.
I'm a refugee of the great dropbox purge of '17.
Project details (schematics, layouts, etc) are slowly being added here: http://samdump.wordpress.com

~arph

I gave my idea a good thinking and have to conclude it'll probably just be a tremolo  :-\

WaveshapeIllusions

I just thought of something. Reading through some of the old threads, I saw mention of varying the read rate of something to get a shift in frequency. That's how we use delay to get vibrato. The source gets written in at one clock speed and read at another; basically time compression/expansion.

Digital is not my strong area (though analog isn't either  ;D) so I don't know if this is possible. What if we write the signal to some kind of memory at one clock speed and read it at another variable clock? What kind of delays would this cause? Is it even possible? Is this how digital shifters do it? And most importantly, is it DIY-able?

~arph

#18
Yes I think that is basically how most digital delays work.
Example, the PT2399. This uses a technique called sigma delta modulation. This basically means that it stores the the level of the input signal as a pulse density in a buffer of known size..  For example, with an eight bit buffer and a max signal level all bits will be high. At halve the level only four bits will be high and these bits are equally spread out over the buffer. (so it's not storing a binary value of the signal)
These bufferers are then shifted through a large shift register, the PT2399 has 44k bits.
At the end the pulse density is converted back into the signal by integration. As the reconstruction speed is always the same as the shift rate and the pulse density conversion rate there is no pitch difference in the reconstructed signal.
If you increase the rate at which the conversion, shifting and reconstruction is done the only noticeable difference is that the data will be quicker through the register and thus the delay time will be shorter.
Of course when you change the clock speed, data that is already in the shift register will be converted back to audio at the wrong clock rate and sound out of tune. This is why you will always hear pitch shifting when you adjust the clock rate of any delay pedal.

The clock rate also explains why at slow clock rates you get distortion. There is simply not enough information arriving at the integrator to create a nice smooth signal anymore.

Can you do it DIY?  yes.. there is a very good sigma delta modulation explanation including a schematic on wikipedia here:

http://en.wikipedia.org/wiki/Delta-sigma_modulation

All you need is a big enough buffer... and when you're done and glance over your multiple breadboards.. remember that all of that is inside that single IC.

slacker

That's exactly how some digital effects do pitch shifting, totally diyable using something like the Spin FV-1 DSP chip.
I'm not sure you can do frequency shifting like this though.
Edit: posted the same time as ~arph