compare two voices

Discussion in 'Python' started by phil, May 2, 2005.

1. philGuest

You didn't indicate how deep you want to get into
the code yourself.

I am gonna step way out of my mathematical depth here
and say this should not be too difficult in python.
1. you need to know the format of .wav
surely it is a set of frequency amplitude pairs.
2. you need to know the sampling rate is the same,
say its a hundred points per second, a five second
speech is only a 500 hundred point pair of curves.
3. then perhaps a package like MatLAb would give you the
curve fitting algorithms to obtain a score.
It might even compensate for an average frequency
diff between the two samples.

The difference in tonal quality between native Germans
and native Thais I would think would not enter into
it, because that is part of what you are testing for.

The math for comparing two waves which are different at
every point, have different base frequencies and different
rates is hellacious, but its been done.
Python would just be the wrapper, and a good one.

phil, May 2, 2005

2. Jeremy BowersGuest

On Mon, 02 May 2005 13:58:07 -0500, phil wrote:

> You didn't indicate how deep you want to get into the code yourself.
>
> I am gonna step way out of my mathematical depth here

I mean no disrespect, but this is the last accurate statement you made.

I wouldn't say this, except that if the original poster tries to follow
your advice, they'd be wasting a lot of time, so in I feel obligated to
speak out.

If it were that easy, phoneme recognition would have been a solved problem
in the 70s. It is quite a bit harder than just waving Matlab at the
problem.

Based on the subsequent posts by the original poster, giving me a better
feel of their skill level, I would estimate that in order to get to where
they want to be, they are a minimum of nine years of solid work away from
solving the problem, assuming no degree in computer science. (Such a
degree would equip them better to know how hard the problem is, though
you could get an undergrad degree without acquiring the requisite
knowledge; with an undergrad degree in hand, subtract two years.)

I am completely, 100% serious on that time estimate, and that's just
to get you to the point where you *may* be able to solve the problem.
Anyone who tells you it's less either has a solution in hand that you can
use (good, but nobody has chimed up yet, except one guy to say it's
really, really hard, he knows because he tried, so I'm not holding my
breath), or has no clue what they are talking about.

(We are often trained to be unthinkingly encouraging, but it is a net good
to discourage someone from wasting significant amounts of time, oblivious
to the fact they are unlikely to succeed. If the original poster wishes to
dedicate that much time to the project, I would be happy to tell them how
they can begin the process of learning what they need to learn, as long as
they are aware of what they are starting.)

Jeremy Bowers, May 2, 2005