DSPRelated.com
Forums

Pitch Shift Controller

Started by blurghman January 30, 2008
Hello
I'm a university student and am completely new to the DSP world, but am
attempting to do my final year project.

What I'm trying to do is to use a a guitar as a controller to pitch shift
a pre-recorded sequence to match the fundamental frequency of the guitar
note being played. (in as much real time as possible (not fussed about
quality so much!))

I was wandering if this was possible because i cant seem to find code for
that can vary the amount of pitch without being pre-designated

any suggestions would be awesome

thankyou


On Jan 30, 12:29 pm, "blurghman" <blurgh...@yahoo.co.uk> wrote:
> > I'm a university student and am completely new to the DSP world, but am > attempting to do my final year project. > > What I'm trying to do is to use a a guitar as a controller to pitch shift > a pre-recorded sequence to match the fundamental frequency of the guitar > note being played. (in as much real time as possible (not fussed about > quality so much!)) > > I was wandering if this was possible because i cant seem to find code for > that can vary the amount of pitch without being pre-designated
it's possible and difficult. you need a good pitch detector (actually two of them in your case) besides the pitch-shifter (a resampler with splicing). i am assuming your "pre-recorded sequence" is a recording of a bunch of monophonic instrument notes. unless your very bright and fast, i see this as much bigger than a senior project. is this running on some DSP board of some sort? r b-j
I was planning to use one of the TMS320 Starter kits using code composer
and hoping to use bits and pieces of free source code and splice them
together.

What i was hoping to achieve was an effect which shifted a monophonic
guitar sample to the fundamental frequency of the guitar note being
played. Similar to a arpeggiator on a keyboard but obviously not midi.

Any suggestions (or suggested reading or similar products)would be greatly
appreciated

thanks
blurghman wrote:
> I was planning to use one of the TMS320 Starter kits using code composer > and hoping to use bits and pieces of free source code and splice them > together.
TMS320 is a prefix for most TI DSPs. The numbers that come after are the ones that set them apart.
> What i was hoping to achieve was an effect which shifted a monophonic > guitar sample to the fundamental frequency of the guitar note being > played. Similar to a arpeggiator on a keyboard but obviously not midi.
Pitch detection alone is difficult. Look at heep://www.dspdimension.com for material and C code for pitch shifting. For pitch detection, see http://groups.google.com/group/comp.dsp/browse_frm/thread/9bcb1e4c506dc48e/e311a1bd91d4f012?hl=en&lnk=st&q=#e311a1bd91d4f012
> Any suggestions (or suggested reading or similar products)would be greatly > appreciated
Suggestion? Fine a more realistic project. Really! Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Jan 31, 6:29 am, "blurghman" <blurgh...@yahoo.co.uk> wrote:
> Hello > I'm a university student and am completely new to the DSP world, but am > attempting to do my final year project. > > What I'm trying to do is to use a a guitar as a controller to pitch shift > a pre-recorded sequence to match the fundamental frequency of the guitar > note being played. (in as much real time as possible (not fussed about > quality so much!)) > > I was wandering if this was possible because i cant seem to find code for > that can vary the amount of pitch without being pre-designated > > any suggestions would be awesome > > thankyou
You need a phase vocoder. Fitlike Min
On Jan 31, 3:50 am, fitlikemin <minfitl...@yahoo.co.uk> wrote:
> > You need a phase vocoder.
a phase vocoder can be used to do pitch shifting if the amount of pitch shift is known (and he needs two pitch detectors to know that) and if you can tolerate the throughput delay (i.e. not really meant for real-time use). probably neither is the case for blurghman. the phase vocoder is nice if he's shifting more than one simultaneous note added together, but if the "pre-recorded sequence" and the "guitar note being played" are both monophonic (and i think i can infer that the latter is), time- domain processing (where you are splicing in or out an integer number of waveform cycles and resampling) is cheaper and has much less delay. the time-domain method needs information from a pitch detector (so it knows how big a waveform period is to seamlessly splice), but since he already has that (in order to know the pitches so he can calculate the pitch-shift interval), it's not an extra cost. r b-j