From: emitrax on
Hi,

hopefully I'm writing to the correct group.

I'm looking for a project to start learning DSP programming, and an
idea
that come to my mind was to implement an algorithm that, getting my
voice as input, would output the voice with the helium effect.

I've googled a bit to see if there is already an algorithm that
explain
how to implement this, because I certainly don't have the knowledge to
come with the algorithm myself (I just wanted to implement it for
fun),
but I couldn't found anything.

So I'm wondering if any of you have any lecture to point me to?

Thanks in advance.

Regards,
Salvatore
From: igor b. on
On 24.05.2010 12:36, emitrax wrote:
> Hi,
>
> hopefully I'm writing to the correct group.
>
> I'm looking for a project to start learning DSP programming, and an
> idea
> that come to my mind was to implement an algorithm that, getting my
> voice as input, would output the voice with the helium effect.
>
> I've googled a bit to see if there is already an algorithm that
> explain
> how to implement this, because I certainly don't have the knowledge to
> come with the algorithm myself (I just wanted to implement it for
> fun),
> but I couldn't found anything.
>
> So I'm wondering if any of you have any lecture to point me to?
>
> Thanks in advance.
>
> Regards,
> Salvatore


Helium effect is basically shifting up the pitch of a voice. Probably
easiest way to do it is with phase vocoder.

Here's a 'original' phase vocoder tutorial if you want to know the theory:
https://ccrma.stanford.edu/~juhan/220c/papers/Dolson86.pdf

And here is exactly what you need, together with C code:
http://www.dspdimension.com/admin/pitch-shifting-using-the-ft/


Cheers!
Igor
From: Jerry Avins on
On 5/24/2010 6:36 AM, emitrax wrote:
> Hi,
>
> hopefully I'm writing to the correct group.
>
> I'm looking for a project to start learning DSP programming, and an
> idea
> that come to my mind was to implement an algorithm that, getting my
> voice as input, would output the voice with the helium effect.
>
> I've googled a bit to see if there is already an algorithm that
> explain
> how to implement this, because I certainly don't have the knowledge to
> come with the algorithm myself (I just wanted to implement it for
> fun),
> but I couldn't found anything.
>
> So I'm wondering if any of you have any lecture to point me to?

Helium shifts the resonances of the vocal tract upward. It has slight
effect on the vocal cords, which determine the voice's pitch. The vocal
tract resonances are called formants, and are modified somewhat by
muscles in the process of speaking. It is difficult enough to remove the
effects of invariant formants. I have no idea how to track and remove
changing ones. There is probably a way you can simulate the sound well
enough to please yourself. Perhaps pitch shifting would do. (You could
compensate for the shift of the basic cord frequencies by speaking in a
lower range.)

Jerry
--
"I view the progress of science as ... the slow erosion of the tendency
to dichotomize." --Barbara Smuts, U. Mich.
�����������������������������������������������������������������������
From: emitrax on
On 24 Mag, 14:46, Jerry Avins <j...(a)ieee.org> wrote:
> On 5/24/2010 6:36 AM, emitrax wrote:
>
>
>
>
>
> > Hi,
>
> > hopefully I'm writing to the correct group.
>
> > I'm looking for a project to start learning DSP programming, and an
> > idea
> > that come to my mind was to implement an algorithm that, getting my
> > voice as input, would output the voice with the helium effect.
>
> > I've googled a bit to see if there is already an algorithm that
> > explain
> > how to implement this, because I certainly don't have the knowledge to
> > come with the algorithm myself (I just wanted to implement it for
> > fun),
> > but I couldn't found anything.
>
> > So I'm wondering if any of you have any lecture to point me to?
>
> Helium shifts the resonances of the vocal tract upward. It has slight
> effect on the vocal cords, which determine the voice's pitch. The vocal
> tract resonances are called formants, and are modified somewhat by
> muscles in the process of speaking. It is difficult enough to remove the
> effects of invariant formants. I have no idea how to track and remove
> changing ones. There is probably a way you can simulate the sound well
> enough to please yourself. Perhaps pitch shifting would do. (You could
> compensate for the shift of the basic cord frequencies by speaking in a
> lower range.)
>
> Jerry
> --
> "I view the progress of science as ... the slow erosion of the tendency
>   to dichotomize." --Barbara Smuts, U. Mich.
> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Looks like I posted to the right group after all!

Thanks to both a lot.

I think I'm going to implement a prototype with matlab
DSP toolbox first and then I'll do it in C or Java.

Regards,
S.
From: Jerry Avins on
On 5/24/2010 9:38 AM, emitrax wrote:

...

> Looks like I posted to the right group after all!

"We do just about everything" (TM)

> Thanks to both a lot.

You're welcome.

> I think I'm going to implement a prototype with matlab
> DSP toolbox first and then I'll do it in C or Java.

For pitch-shifting code, see http://www.dspdimension.com/

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������