Apparatus and method for playback of waveform sample data and sequence playback of waveform sample data
First Claim
1. A waveform data reproduction method applicable to a sound source circuit that is connected with a central processing unit and a memory via a bus and that reproduces waveform data in response to instructions from the central processing unit, said waveform data reproduction method comprising the steps of:
- receiving event data and timing data from the central processing unit, wherein the event data each designate one of waveform data to be reproduced at a timing designated by the corresponding timing data;
sequentially transferring the waveform data, which are designated by the event data and are stored in the memory under the control of the central processing unit, to a buffer memory of the sound source circuit from top portions via the bus;
generating a timing signal when a count value of a counter of the sound source circuit matches the timing designated by the timing data corresponding to the event data; and
consecutively reproducing the waveform data, which are stored in the buffer memory, from the top portions in response to the timing signal.
0 Assignments
0 Petitions
Accused Products
Abstract
An audio record/playback system is configured using a RAM containing PC buffers and a sound input/output board which is equipped with another RAM containing P buffers and R buffers as well as a digital audio circuit. At a playback mode, waveform sample data consisting of waveform samples are subjected to burst transfer using a PCI bus from the PC buffer to the P buffer in a first half duration of each sampling period with respect to one channel. In a second half duration, one of the waveform samples is transferred from the P buffer to the digital audio circuit, wherein it is subjected to digital audio processing. Thus, the waveform sample data are played back in response to prescribed timings synchronized with sampling periods. At a record mode, waveform sample data corresponding to sounds to be picked up are supplied to the digital audio circuit, from which they are transferred to the R buffer. Then, the waveform sample data are transferred to the PC buffer. At a sequence playback mode, a set of WAVE data are loaded from an external storage unit to the RAM with respect to multiple channels in response to a sequence playback instruction. Then, the WAVE data are transferred to the sound input/output board, by which they are played back. Incidentally, when playback is completed with respect to one channel, next WAVE data regarding another channel are automatically loaded to the RAM.
33 Citations
11 Claims
-
1. A waveform data reproduction method applicable to a sound source circuit that is connected with a central processing unit and a memory via a bus and that reproduces waveform data in response to instructions from the central processing unit, said waveform data reproduction method comprising the steps of:
-
receiving event data and timing data from the central processing unit, wherein the event data each designate one of waveform data to be reproduced at a timing designated by the corresponding timing data;
sequentially transferring the waveform data, which are designated by the event data and are stored in the memory under the control of the central processing unit, to a buffer memory of the sound source circuit from top portions via the bus;
generating a timing signal when a count value of a counter of the sound source circuit matches the timing designated by the timing data corresponding to the event data; and
consecutively reproducing the waveform data, which are stored in the buffer memory, from the top portions in response to the timing signal.
-
-
2. A waveform data reproduction apparatus comprising:
-
a CPU for controlling the apparatus as a whole;
a first bus connected to the CPU;
a memory, connected to the first bus, which stores a plurality of waveform data;
a second bus provided independently of the first bus;
a buffer memory having storage areas for a plurality of channels respectively, the buffer memory being connected to the second bus and being capable of storing a part of the waveform data;
supply means for sequentially supplying the waveform data to be reproduced for each channel from the memory to the storage area of the buffer memory corresponding to each channel under the control of the CPU from top portions;
a register to which the CPU sets timing data for each channel;
a counter for counting a number of timing pulses;
timing generation means for generating a timing signal based on a count value of the counter and the timing data set to the register; and
read reproduction means for reading the waveform data from the storage area of the buffer memory in response to the timing signal so as to reproduce the waveform data with respect to each channel.
-
-
3. A waveform output circuit that is connected to a central processing unit and a memory for storing a plurality of waveform data via a bus and that accesses the memory to read and reproduce the waveform data, said waveform output circuit comprising:
-
a buffer memory having a plurality of storage areas, each of which is capable of storing a part of the waveform data with respect to each of the plurality of channels;
supply means for supplying the waveform data stored in the memory to be reproduced in each channel from top portions under control of the central processing unit, to the storage area of the buffer memory corresponding to each channel;
a register to which timing data supplied from the central processing unit is set;
a counter for counting a number of timing pulses;
timing generation means for generating a timing signal based on a count value of the counter and the timing data set to the register; and
read reproduction means for reading the waveform data from the storage area of the buffer memory in response to the timing signal so as to reproduce the waveform data with respect to each channel.
-
-
4. A sequence playback apparatus for reproducing waveform data over multiple channels whose number is set to ‘
- n’
(where ‘
n’
is an integer arbitrarily selected), comprising;a bus;
a central processing unit connected to the bus for controlling the apparatus;
a memory connected to the bus for storing a plurality of waveform data;
a sequence memory connected to the bus for storing a sequence of event data and timing data, wherein the event data each designate one of the plurality of waveform data to be reproduced at a timing designated by the corresponding timing data; and
a playback unit connected to the bus for reproducing the waveform data in each channel under the control of the central processing unit;
wherein when the playback unit completes reproducing one waveform data designated by one event data in one channel among the ‘
n’
channels, the central processing unit assigns next event data next to one event data, so that the central processing unit supplies the next waveform data, designated by the next event data within the plurality of waveform data, and the corresponding timing data to the playback unit;
and wherein the playback unit further comprises a buffer memory having ‘
n’
storage areas corresponding to the ‘
n’
channels respectively;
storing means for sequentially storing the waveform data from a top portion, which is supplied from the central processing unit, in one of the storage areas of the buffer memory in correspondence with the channel being assigned under the control of the central processing unit;
a counter for counting a number of timing pulses;
generating means for sequentially generating timing signals when a count value of the counter matches the timing designated by the timing data supplied from the central processing unit; and
reproduction means for sequentially reproducing the waveform data, which are designated by the event data in correspondence with the timing data and are stored in the buffer memory, from top portions in response to the timing signals.
- n’
-
5. A waveform reproduction method comprising the steps of:
-
accessing a memory to read waveform sample data comprising a plurality of waveform samples with respect to each of channels;
performing burst transfer on the waveform sample data to be transferred to a buffer memory via a bus with respect to each of the channels;
transferring reproduction timing data with respect to each of the channels via the bus;
counting a number of timing pulses;
designating the reproduction timing based on the counted value and the reproduction timing data in respect to each of the channels;
transferring each of the plurality of waveform samples with respect to each of the channels to a digital audio circuit every sampling period in response to the reproduction timing; and
producing sound based on an output of the digital audio circuit.
-
-
6. A sequence playback method comprising the steps of:
-
loading waveform sample data comprising a plurality of waveform samples to a first memory with respect to a plurality of channels in response to sequence playback instructions;
performing burst transfer with respect to each of the plurality of channels so that the waveform sample data are sequentially transferred from the first memory to a second memory via a bus;
transferring timing data with respect to each of the channels via the bus;
counting a number of timing pulses;
generating timing signals when the counted number of the timing pulses matches the timing designated by the timing data in respect to each of the channels;
starting data transfer so that the waveform sample data are transferred from the second memory to a digital audio circuit;
performing digital audio processing on the waveform sample data in the digital audio circuit in accordance with sequence data corresponding to the sequence playback instruction; and
sequentially reproducing the waveform sample data subjected to the digital audio processing in response to the timing signals. - View Dependent Claims (7)
detecting occurrence of a channel interrupt which is caused to occur when the burst transfer is completed with respect to one of the plurality of channels;
detecting a channel which differs from the plurality of channels and whose waveform sample data should be loaded to the first memory; and
further loading the waveform sample data of the channel to the first memory.
-
-
8. A machine-readable media storing waveform sample data and programs that cause an audio playback system incorporating a computer to perform a sequence playback method comprising the steps of:
-
loading waveform sample data comprising a plurality of waveform samples to a first memory with respect to a plurality of channels in response to sequence playback instructions;
performing burst transfer with respect to each of the plurality of channels so that the waveform sample data are sequentially transferred from the first memory to a second memory via a bus;
transferring timing data with respect to each of the channels via the bus;
counting a number of timing pulses;
generating timing signals when the counted number of the timing pulses matches the timing designated by the timing data in respect to each of the channels;
starting data transfer so that the waveform sample data are transferred from the second memory to a digital audio circuit;
performing digital audio processing on the waveform sample data in the digital audio circuit in accordance with sequence data corresponding to the sequence playback instruction; and
sequentially reproducing the waveform sample data subjected to the digital audio processing in response to the timing signals.
-
-
9. A sound source circuit that is connected to a central processing unit and a memory via a bus and that reproduces waveform data in response to instructions from the central processing unit, said sound source circuit comprising:
-
a receiving section for receiving event data and corresponding timing data from the central processing unit, wherein the event data each designate the waveform data to be reproduced at the timing designated by the corresponding timing data;
a buffer memory;
a transfer section for sequentially transferring the waveform data designated by the event data from the memory to the buffer memory via the bus under the control of the central processing unit, so that the transferred waveform data are stored in the buffer memory;
a timing generation section for generating a timing signal when a count value of a counter of the sound source circuit matches the timing designated by the timing data; and
a playback section for reproducing the waveform data stored in the buffer memory in response to the timing signal.
-
-
10. A waveform playback method for reproducing waveform data in response to instructions from a central processing unit by means of a playback unit connected to the central processing unit, and a memory via a bus, said waveform playback method comprising the steps of:
-
sequentially transferring waveform data stored in the memory portion by portion, from top portions of the waveform data to the buffer memory in the playback unit via the bus under the control of the central processing unit;
generating a timing signal when a count value of a counter for counting a number of timing pulses matches timing data designated by the central processing unit; and
sequentially reproducing the waveform data stored in the buffer memory from top portions in response to the timing signal.
-
-
11. A waveform playback apparatus comprising:
-
a bus operable in burst transfer;
a memory connected to the bus for storing waveform sample data comprising a plurality of waveform samples;
a central processing unit connected to the bus for controlling the waveform playback apparatus; and
a playback unit connected to the bus for reproducing the waveform sample data, wherein the central processing unit executes the steps of accessing the memory to read the waveform sample data;
performing the burst transfer on the waveform sample data to a buffer memory via the bus with respect to each of channels; and
transferring playback timing data with respect to each of the channels to the playback unit via the bus, and wherein the playback unit executes the steps of counting a number of timing pulses;
designating the playback timing based on the counted value and the playback timing data in respect to each of the channels;
transferring each of the plurality of waveform samples with respect to each of the. channels to a digital audio circuit every sampling period in response to the playback timing; and
producing sound based on an output of the digital audio circuit.
-
Specification