Author |
Message |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon May 16, 2011 5:38 am Post subject:
Analog Pitch Shifter Idea using BBDs Subject description: would it work? |
 |
|
I just had an idea for making a pitch shifter in analog form using BBD chipes (Bucket Brigade Device). The current technique for doing this is digtial. You stuff samples into a circular buffer and read them out faster or slower than you put them in. The ratio of the rates determines the amound of pitch shifting.
I'm not sure, but I believe that many would like to know how to do this in analog form with bucket brigade devices, but there is no known technique. I have thought of a technique, so it might be new or it might be already known and that is part of the question posed here - is it new? the other part is: will it work? But anyway here is how it might work.
You need two bucket brigade devices. You drive the VCO of them both with ramp waveforms that are out of phase and funny shaped in a way that i will describe later. But for now just think of the ramps.
OK, let one BBD be filled up and the other just freshly emptied out. you switch to the filled one and clock it out slower than you filled it, causing a pitch shift in the audio output. While you were clocking the first one out, the second one filled up, so you switch to that one and empty it more slowly as well. This alternation continues perpetually, resulting in a smooth pitch shift using analog delay lines!
So, will it work, and is it new?
Les _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
kkissinger
Stream Operator

Joined: Mar 28, 2006 Posts: 1434 Location: Kansas City, Mo USA
Audio files: 45
|
Posted: Mon May 16, 2011 6:32 am Post subject:
|
 |
|
Cool idea! Would you be able to shift the pitch upward by utilizing feedback on the shifted BBD? _________________ -- Kevin
http://kevinkissinger.com |
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon May 16, 2011 7:00 am Post subject:
|
 |
|
Kevin, I think that can be done by using three out of phase BBD chips. The reason for three instead of two is that for upward pitch shifting you would clock out data faster than you put it in, so there is not enough time to fill the second one before the first one runs out. I don't see how feedback would work here, other than creating some wicked cool echo effect - dynamic pitch shifted funky echo! haha
After thinking a little bit more about it, I think the waveform to use here is triangle wave with the falling half of a different duration than the rising half.
Also it should be noted that wmonk tells me that he and Blue_Hell tried to prototype this idea a while back but had poor success in quality. wmonk said that may be due to using improperly shaped waveforms, whatever. So it's not a new idea, but yeah it is a cool idea.
It also means that I can include pitch shifters in my ChucK programs because now I can implement them in analog form!
Les
any other thoughts Kevin, or someone else? _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
DrJustice

Joined: Sep 13, 2004 Posts: 2112 Location: Morokulien
Audio files: 4
|
Posted: Mon May 16, 2011 1:36 pm Post subject:
|
 |
|
Les, I think maybe Kevin means that to shift the pitch upwards, one could just play the output BBD repeatedly at a higher rate until the input BBD has filled up. When a BBD is switched to be the output BBD, it would have to get its output connected back to its input so that it works as a recirculating delay line.
On another note, wouldn't the cycle represented by playing the output BBD be audible as a tone at 1/delay_time Hz, and similar for the input/output BBD swapping frequency?
DJ
-- |
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon May 16, 2011 2:54 pm Post subject:
|
 |
|
Well, DrJustice, my friend, I feel that any feedback at all would not be useful in this case. with delay lines, feedback causes echo or looping layers of sound (echo with short delay lines like these). we don't want the sound to repeat as in a circular buffer. remember there is only one clock.
You may be thinking of the digital technique. There we have a dual-ported circular ram buffer in which we write at a different rate than we read. That's only possible because the internal configuration of the device is dual ported.
Well a BBD isn't even single ported, much less dual ported. it's just got an input and an output at the other end. so we have to clock it in two phases, one phase to load it up and another to dump it out.
Does that make sense or am I the one who is missing something? I could be wrong, but I don't think so at the moment...
Les _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon May 16, 2011 2:55 pm Post subject:
|
 |
|
DrJustice wrote: | On another note, wouldn't the cycle represented by playing the output BBD be audible as a tone at 1/delay_time Hz, and similar for the input/output BBD swapping frequency?
DJ
-- |
Yes, we have to also switch the outputs, I may not have mentioned that...
Les _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
DrJustice

Joined: Sep 13, 2004 Posts: 2112 Location: Morokulien
Audio files: 4
|
Posted: Mon May 16, 2011 4:18 pm Post subject:
|
 |
|
Inventor wrote: | Well, DrJustice, my friend, I feel that any feedback at all would not be useful in this case. with delay lines, feedback causes echo or looping layers of sound (echo with short delay lines like these). we don't want the sound to repeat as in a circular buffer. remember there is only one clock.
|
The BBD that gets switched in as the output 'buffer' would only have the the feedback loop and no other input signal. Thus its content would circulate indefinitely (until the signal detoriates into noise).
Quote: | You may be thinking of the digital technique. There we have a dual-ported circular ram buffer in which we write at a different rate than we read. That's only possible because the internal configuration of the device is dual ported. |
I was thinking that as the input and output BBDs get swapped, they would also swap clock frequencies, so yes, that's in a way a parallel to the digital technique. A sort of granular pitch shifter implemented with BBDs as grain buffers. But I see now that it is different from what you were thinking about, with one clock.
DJ
-- |
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon May 16, 2011 4:53 pm Post subject:
|
 |
|
Now I'm a little confused, but it's ok, signs are positive that the technique might work...
Les _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
yusynth

Joined: Nov 24, 2005 Posts: 1314 Location: France
|
|
Back to top
|
|
 |
Inventor
Stream Operator

Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sun May 22, 2011 7:11 am Post subject:
|
 |
|
Cool, thanks! I'm told by the folks at DIYstompboxes that the concept works but is impractical for most puproses, ah well...
Les _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
 |
|