Shepard and pitch shifting (+a request for digital allpass filter design help)
Sean Costello
costello at seanet.com
Thu Sep 17 08:25:57 CEST 1998
Rene Schmitz wrote:
>
> Hi list,
>
> I just wondered why these two topics are discussed seperately!
> My attempt to archeive pitch shifting would be the same as trying to get
> constantly rising pitch.
Hmm. That's an interesting way of looking at it. Of course, with the
Shepard tone effect, you want to have several oscillators that appear to
be always ascending in pitch, while for pitch shifting you want the
pitch to remain at a steady position above the input pitch. However, to
get the pitch shifting effect, you need to have oscillators that are
ascending in pitch - at least in the analog implementation, where the
oscillators would be controlling the clocks of delay lines.
> Hmm, that would be 8 VCAs 8 VC-Delays and a shepard generator!
> Maybe it is possible to get away with 2 or 4 delays and control signals 180
> or 90
> degrees out of phase (?)
Well, I think most pitch shifters would use 2 delay lines.
A few random thoughts on the subject:
- Granular synthesis can be used as pitch shifting. If you have Win 95
or Win 98, download Granulab, and play around with it. The best results
for pitch shifting use grain densities of 2 or higher (a grain density
of 2 equates to having a maximum of 2 grains at once, which would
require 2 delay lines).
- Shepard tone effects (i.e. "barberpole" phasing) can be realized by
using an allpass network within the feedback loop of a frequency shifter
(SSB modulation); this produces the effect of a Shepard tone generator
controlling multiple phasers and VCAs, but is a far simpler circuit.
Anyone have any ideas how phase-differencing networks could be
incorporated into a pitch shifter?
I have a sneaky suspicion that phase-differencing allpass networks are
the key to some pretty nifty stuff. On that note, anyone have any idea
on how to design digital allpass filters with specific pole
frequencies? I understand the basic idea of allpass filters in the
digital realm (feedforward/feedback), and have a table of the pole
frequencies/positions needed (from Electronotes #43 - lots of good
phase-differencing network theory there). I just need a way of figuring
out the coefficients. I'm not too good with digital stuff yet. Who
wants to help? My end goal is to create a barberpole phaser in Csound,
and I need the phase-differencing network in order to do it (it has to
be allpass based - apparently FIR Hilbert transforms have too much group
delay to generate the barberpole effect properly). Any tips, or
literature pointers, or advice along the lines of "learn this first, and
go from there" will be greatly appreciated.
Thanks,
Sean Costello
More information about the Synth-diy
mailing list