[net.music] speeding up sound

sullivan@harvard.ARPA (John Sullivan) (07/15/84)

Recently net.music has had some discussion of devices (Harmonizers)
which will change the pitch but not the speed (or vice-versa) of a signal.
Now of course this is impossible theoretically, but I can think of a couple
of ways this might work in practice for limited bandwidth signals like most
sound.  For example, one could pick a time constant delta-t, and get fourier
transforms of each interval of that length.  Then these could be shifted
in frequency space, and then transformed back.  Of course they successive
intervals would no longer match up right, but I suppose with an appropriate
time constant (maybe ~.05 sec?  We need it short enough to have essentially
fixed frequency spectrum from one interval to the next, but long enough so
we don't mess up bass notes.) it might work.

Another way to do what really amounts to the same thing, but with less
computation would be to sample the signal for short intervals (say delta-t=.05
sec long each) which either overlap slightly or have small gaps between them,
depending on whether it is to be speeded up or slowed down.  Then you
can output these at a corrected rate so they just fit back to back.

Is this how the devices actually work?  Does anyone know the real time
constant used?  How do they avoid loud clicks going from one sampling
period to the next?


	John M. Sullivan
	{allegra,ihnp4,decvax,genrad}!harvard!sullivan

simard@loral.UUCP (07/16/84)

[Do not write in this space]

I am also interested in the technique by which Harmonizers and
similar units achieve pitch and/or speed changes independently.
I think this would be a general-interest item meriting a
followup posting to the net.

-- 
Ray Simard
Loral Instrumentation, San Diego
{ucbvax, ittvax!dcdwest}!sdcsvax!sdccsu3!loral!simard

dave@rocksvax.UUCP (Dave Sewhuk) (07/18/84)

You grab small chunks of audio sampled at rate X, throw away some of
the samples.  You buffer the samples up so that they can be played out
at a steady, slower rate and record them at this slower rate.  When you
play back the recording, you use the normal rate, remember they were
sampled originally at this rate so no pitch change, and you end up
speeding up the audio rate without changing the pitch, due to the
thrown away samples.  This works well with voice because you can
cleverly find the spaces and throw away more data in the spaces than in
the voice.  This makes the person talk more like the Federal Express
guy.  You always reduce the bandwidth going in thus keeping the process
from making something from nothing.

I heard an article using this technique on "All Things Considered" last
year.  They had Noel Adams read a poem that took 18 secs to read,
compressed it such that it took only 10 sec to play back.  Sounded like
Noel was talking faster...  My Yamaha CD-X1 uses that technique to
acheive fast forward/reverse.  You hear snips of music at the proper
pitch, only much faster.  You hear the snips when you take out too much
data, which for fast forward is OK.

As for independently changing pitch you use a balanced mixer and a low
pass filter to to translate the baseband pitches to any other frequency
you want.  Audio goes in 1 port a signal generator in the other.  If
you set signal gen to 1Khz you translate all incoming frequencies
1Khz.  Theory for this is found in any communications book and is the
basis for AM broadcasting, only they use signal generator in the Mhz
region.  By using complex waves as the translate frequency you can make all
the sci-fi voices you ever wanted to hear, great fun to do...

Hope that clears up those operations.  
-- 
Dave

arpa: Sewhuk.HENR@Xerox.ARPA
uucp: {allegra,rochester,amd,sunybcs}!rocksvax!dave