Claims
- 1. An apparatus for the multichannel interpolative access of digital audio data samples stored in a waveform memory, comprising:a cache memory having a size sufficient to store two or more waveform samples for a plurality of said channels; a cache controller configured to write said waveform samples into said cache memory so that same samples are available for real time audio interpolative playback, said cache controller including an address update unit, coupled to said cache memory, and a memory access unit coupled to said cache memory; and an interpolator configured to interpolate, responsive to a variable input, between two adjacent ones of said waveform memory samples to form an interpolation result; wherein said memory access unit operates asynchronously from said address update unit and said interpolator.
- 2. The apparatus of claim 1 wherein said address update unit increments a current address for each channel and said memory access unit addresses the waveform memory using at least a portion of said current address.
- 3. The apparatus of claim 1 further comprising:an address register file containing the integer part of a current address for each channel, and the required cache update size for each channel.
- 4. The apparatus of claim 1 wherein said cache controller addresses said cache memory for read and write operations such that a write operation overwrites data for a channel that is no longer required by said interpolator for a given sample point.
- 5. The apparatus of claim 1 wherein said memory access unit can operate in a burst mode.
- 6. A digital sampling instrument for the multichannel Nth order interpolative playback as output samples of digital audio data samples stored in a waveform memory comprising:coefficient logic for generating N coefficients for each channel for each of said output samples; a cache memory for storing at least N waveform memory data samples for each channel; an address update unit, coupled to said cache memory; a memory access unit coupled to said cache memory; an interpolator for computing a sum of N products of the contents of said cache memory times said coefficients for each of several ones of said channels; and an output for providing said sum of products for each of said channels; wherein said memory access unit operates asynchronously from said address update unit and said interpolator.
- 7. The digital sampling instrument of claim 6 wherein said address update unit increments a current address for each channel and said memory access unit addresses the waveform memory using at least a portion of said current address.
- 8. The digital sampling instrument of claim 6 wherein said memory access unit can operate in a burst mode.
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of application Ser. No. 09/187,139, filed Nov. 6, 1998, U.S. Pat. No. 6,137,043, which is a continuation of application Ser. No. 08/903,329, filed Jul. 29, 1997, U.S. Pat. No. 5,925,841, which is a division of application Ser. No. 08/636,827, filed Apr. 23, 1996, U.S. Pat. No. 5,698,803, which is a continuation of application Ser. No. 08/202,922, filed Feb. 28, 1994, abandoned, which is a division of application Ser. No. 07/882,178, filed May 11, 1992, U.S. Pat. No. 5,342,990, which is a continuation-in-part of application Ser. No. 07/462,392, filed Jan. 5, 1990, U.S. Pat. No. 5,111,727.
US Referenced Citations (1)
Number |
Name |
Date |
Kind |
4377960 |
Okumura |
Mar 1983 |
A |
Continuations (3)
|
Number |
Date |
Country |
Parent |
09/187139 |
Nov 1998 |
US |
Child |
09/618963 |
|
US |
Parent |
08/903329 |
Jul 1997 |
US |
Child |
09/187139 |
|
US |
Parent |
08/202922 |
Feb 1994 |
US |
Child |
08/636827 |
|
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
07/462392 |
Jan 1990 |
US |
Child |
07/882178 |
|
US |