moin Thomas, moin List,
tweaking the vowels is easy (ha!) -- actually recognizing them is the tricky part, IM(ns)HO ... far as i know, the usual hack for getting a phonetic transcription out of speech signal input is a Hidden Markov Model (see Rabiner's tutorial for that). If you know what's coming (pre-recorded samples), you can get a vowel shift effect by tweaking the parameters of a filter-bank -- keyword "vocoder".
<plug type="shameless"> since we're talking about HMMs, here's a new related link to my current project:
http://www.ling.uni-potsdam.de/~moocow/projects/gfsm/gfsm-0.0.3.tar.gz http://www.ling.uni-potsdam.de/~moocow/projects/pd/pd-gfsm-0.01.tar.gz
this stuff is all very much work in progress, but it aims to be an abstract C library (with the corresponding Pd bindings) for finite-state machine operations (HMMs can be represented as weighted finite-state transducers, and gfsm supports those), similar in functionality to the absurdly expensive commercial doodad from at&t. In fact, the at&t folks use their library for speech recognition, synthesis, and virtually every known step in between, if you believe their publications...
more details in Graz ;-)
</plug>
marmosets, Bryan
On 15 September 2004 at 19:18:07, Thomas Comiotto appears to have written:
Hi all,
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?
Best regards Thomas
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://iem.at/cgi-bin/mailman/listinfo/pd-list