[comp.sys.amiga] Using FutureSound and the Amiga as an Electronic TuNER

yann@ai.toronto.edu (Yann le Cun) (06/16/88)

Wade Bickel wrote:
>  Basically what you will need to do is capture the data comming in on
>  whatever port they're using and then run some math on it.  Are you
>  knowlegable about Fourie Transforms and finite series?  If not, look
>  into signal processing

Hey, we are talking REAL TIME here (i guess), using Fourier transforms
is out of the question, unless you have some sort of special purpose
DSP chip. 
What you want to do is *pitch detection*, and this is not really easy to
do digitally.
Although for simple sounds like sinusoids (or sounds with few harmonics)
you detect zero crossings (or "128-crossings").
Detect when the signal crosses 0 (or 128) from a negative to a positive value,
measure the time between two such events, and you get the period of the
signal. The signal needs to be pretty clean and with few harmonics,
the easiest way to get such a signal is to pass the original signal
through a low-pass filter (or may be using Phase-Locked-Loop).

This would be VERY useful for editing music by merely singing.
Or you could sing, and the amiga could generate a sound (other than
your voice) with the same frequency, or even correct your voice frequency.

Yann le Cun                            yann@ai.toronto.edu, yann@ai.toronto.cdn
AI Group, Dept of Computer Science     yann%ai.toronto.edu@relay.cs.net
University of Toronto, Canada M5S 1A4  {uunet,watmath}!ai.toronto.edu!yann