Path: 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 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