View Single Post
  #8   Report Post  
Posted to rec.audio.pro
geoff geoff is offline
external usenet poster
 
Posts: 1,812
Default How to change a voice's pitch, programmatically, in real time?

On 15/07/2020 1:48 am, Scott Dorsey wrote:
Piotr Mancini wrote:

The question is actually more general than simple signal intensity and frequency. I need to "modulate" a signal based on user's activity. Any recommendations are welcome.


The easy way to do the job is just to break it up into subframes, and play the
subframes repeatedly at different rates or to drop them out. Play them at
twice normal speed and double each one, and you have a reasonable octave shift
with no time change.

But to be honest I am not sure a time change would be a problem for you.

The other solution is to fft it, shift it, and then ifft it. This is much
more computationally expensive although you can store your samples in
frequency-domain form so that all you have to do in realtime is the shift
and ifft.
--scott


If he means by "in real time" actually in real time like a live stream
that is trickier.

But if he wants to pitch shift a recording without changing the
time/length of the sample it is relatively trivial and practically any
DAW will do that. Vegas Pro has an option to use a third-party(?)
technique named 'Elastique' which may be more sophisticated that the
common-or-garden methods.

geoff