Ok, I've got a tricky one here. I'm setting up an experiment on pitch shift using wav files. I'd like to be able to pitch shift and preserve duration; in real time with sounds of indeterminate length. Is this asking too much or will it just take some time to work out? Any ideas?
-
Real time pitch shift
-
Hello,
Not sure about the real-time aspect (live unpredicable streaming or straight from a file that you can read let's say 20ms in advance?), but there is some hints in a beginning chapter of the P. Cook book, Real Sound Synthesis for Interactive Applications. The chapter is about wavetable synthesis if my memory is good enough ...
See : http://www.amazon.com/exec/obidos/tg/detail/-/1568811683/qid=108853467 0/sr=1-1/ref=sr_1_1/104-8251597-6652725?v=glance&s=books -
hell, this is what pd was designed for...
It doesn't do exactly what you're looking for, but it will change the pitch of any input in realtime. It should help you figure out a way to get at your problem, and it's quite fun.
[url=http://home.comcast.net/~jeffmiccolis/not_post/highup.pd.zip ]http://home.comcast.net/~jeffmiccolis/not_post/highup.pd.zip
its an abstraction that will pitch-shift, and totally twist whatever you input into it. but sure to shift-click the controls, as they are pretty sensitive. enjoy. -
"imwithstupid" ha ha ha
hey ten thousand...what's the j_dlop object used in that patch? i can't find it anywhere. -
yeah... the name "imwithstupid" is one of those I've used before in other forums...wasn't sure if it would fit in here in an academic sort of forum but at least someone got a kick out of it.
Also, thanks for that patch its helped with my ideas for this patch...I'll post my progress soon (hopefully) -
oh, sorry - the "j_dlop" object is just a few lowpass filters chained together, It's just there to keep the high frequency stuff under control. Go ahead and delete it, and if you can put a "~lop" (or two) in its place if you want.
-
I've made some sort of progress with this patch...it doesn't really work at the moment, but if anybody wants to make it work or has any ideas that would be great. I know i'm overlooking something completely obvious right now...its probably because i'm a newb.
pitchshifter -
here, I made a few changes to the patch you posted... try it out. let me know what you think.
pitchshifting -
Thank you very much...i'll continue to work with it and post stuff here periodically.
I guess I didn't understand how delwrite~ and vd~ worked. -
I've made some progress:
I found this patch that is very close to what I wanted to make in the docs directory. It is called pvoc.pd and its a vocoder but it pretty much does what I wanted to do. I've modified it a bit to do some things but its not finished yet. On my todo list are 1)making the sound loop 2)sending the output of the transpose/pitch box to a file every second or 10ms 3)using a joystick to control the transposition/pitch.
Here is the progress: PitchShifter.pd
Again, thank you all very much for your help. -
ah just read your original post, about using wav files of sounds of indeterminate length.
i use the [filesize] object for that. i use aif files, so not sure what the deal is with wav's, but you just connect a message with the file name to a filesize object, and it gives you the size of the file. for aif's at 44.1khz stereo, it works out as 44100 x 4 bytes for every second. -
and yeah, pvoc roxs with its soxs off!