Article View: comp.dsp
Article #264Re: Adjust-Speed CD player?
From: Brian Willoughby
Date: Sat, 23 Sep 1989 03:20
Date: Sat, 23 Sep 1989 03:20
46 lines
2614 bytes
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!brianwReferences:
<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