🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.dsp
Article #264

Re: Adjust-Speed CD player?

#264
From: Brian Willoughby
Date: Sat, 23 Sep 1989 03:20
46 lines
2614 bytes
In article <61860@tut.cis.ohio-state.edu> dnwiebe@cis.ohio-state.edu (Dan N Wiebe) writes:
>
>there's a better way to lower pitch than just doubling samples.
>Seems to me that you should interpolate them; [...]
>[...]  That's a reasonably simple
>add-and-shift-right-one-bit algorithm that shouldn't take too long
>and would preserve more of the fidelity than sample doubling.

That would work fine for a fixed shift downward of exactly 1 octave.
A good analog filter set at the proper frequency (1/4 sampling rate)
could also do the "interpolation".

>	Also, if you're going to remove samples, I think you
>shouldn't use a simple kill-every-nth-sample procedure.  It seems
>to me that certain samples (local maxima and minima) are more
>important than others.  Use a five- or seven-sample queue, where
>you consider the middle one for removal.  If it's a local minimum
>or maximum, zap one of the ones next to it instead.  That's a bit
>more complicated, but I think a 10MHz 8086 could probably keep up
>with a 30Khz 16-bit sample stream.

You would be surprised how slow the 8086 is when repeating an mediumly
complex operation thirty-thousand times a second.  A 10MHz 8086 has an
instruction rate of only slightly greater than 500 kIPS (that's a rough
estimate, folks, but I'm sure that its below 1 MIPS), and with 30ksamples
per second, you would have to achieve your algorithm with only 16
instructions.  The 8086 would have a hard time just examining that much
data, much less altering it.

What you've described, at least the end result of maintaining local
maxima and minima, could be done using curve fitting techniques (which
I know very little about), but would certainly require a faster
processor.

>	Again, while I'm very interested in this field, I am by no
>stretch of the imagination anything remotely resembling an
>authority, so keep your flames gentle :-).

No flame intended, in fact I'm open to suggestions and ideas no matter
where they come from.

Brian Willoughby
UUCP:           ...!{tikal, sun, uunet, elwood}!microsoft!brianw
InterNet:       microsoft!brianw@uunet.UU.NET
  or:           microsoft!brianw@Sun.COM
Bitnet          brianw@microsoft.UUCP
Technical Details
Message-ID: <7815@microsoft.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!microsoft!brianw
References: <61860@tut.cis.ohio-state.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!microsoft!brianw
From: brianw@microsoft.UUCP (Brian Willoughby)
Newsgroups: comp.dsp
Subject: Re: Adjust-Speed CD player?
Keywords: 8086 MIPS
Message-ID: <7815@microsoft.UUCP>
Date: 23 Sep 89 03:20:40 GMT
References: <61860@tut.cis.ohio-state.edu>
Reply-To: brianw@microsoft.UUCP (Brian Willoughby)
Organization: Microsoft Corp., Redmond WA
Lines: 46