ml.sven at subscience.de
Wed Sep 15 22:12:08 CEST 2004
At 13:18 15.09.2004, Thomas Comiotto wrote:
>I'm thinking of building a patch suitable for replacing specific vovels of
>some pre-recorded / live-captured speech fragments by some other vovels
>(eg. every 'uuh' becomes an 'ööh' or 'aah' or the like, while every 'iih
>stays an 'iih') for morphing/bending swiss-german idioms. So I wanted to
>ask for possible solutions to do that in pd, possibly in realtime? I can
>think of analizing the source signal's FFT, modulate target vovels and
>feed results back into the resulting stream. But I'm quite an FFT newbie
>and perhaps there's a better/simpler approach?
"...vowels are often uniquely identified by their first two formants..."
there's a lot a research beeing done in this field.
if you search google with "speech recognition" + vowels + formants you'll
find quite a lot of papers on vowel recognition.
even adding "swiss german" to the query brings up a few results.
i'm not sure how to transform vowels, but i think it's as easy as letting a
man's voice sound like a woman's using formant shifting.
for doing fft's and reverse fft's i've found the vasp external to be very
useful. however, for more complex computation i'm using python with the
there's the numeric python module for python which contains a lot of
functions for manipulating large sets of data in a gridlike fashion.
it contains all you need like fft, ifft, windowings function and the like.
in a lot of academical papers on that topic you'll find example scripts for
matlab and octave which are easily portable to python / numpy.
doing ffts, _a_lot_ of data manipulation in the frequency domain and iffts
is possible in realtime on a centrino 1.7.
(gibt es ein leben nach dem diplom? ;-)
More information about the Pd-list