Tone generating method and device
First Claim
1. A tone generating method comprising:
- a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel, an envelope value of waveform data for each of the tone generating channels varying between every one or more of the samples; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data.
1 Assignment
0 Petitions
Accused Products
Abstract
For a given tone generating channel, tone waveform sample data corresponding to a plurality of sampling cycles (e.g., 100 samples) are arithmetically formed collectively. Once performance information such as MIDI event data is supplied to a tone generator MIDI driver from an application program such as a MIDI sequencer, the MIDI driver, in response to an input MIDI signal, assigns new tone generation to a designated tone generating channel of a tone generator task, and prepares tone controlling parameters to be set in the designated channel. The tone generator task arithmetically forms tone waveform data by use of the tone controlling parameters and passes the tone waveform data to a CODEC circuit functioning as an A/D converter. The program and a general-purpose operating system are sequenced and executed by a preemptive multitask management program. In this way, it is possible to reduce overheads involved in arithmetically forming tone waveform samples.
62 Citations
86 Claims
-
1. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel, an envelope value of waveform data for each of the tone generating channels varying between every one or more of the samples; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing controlling data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the controlling data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a six step of, when formation of new mixed sample data for each of the plural samples is completed by said fifth step and after completion of reproduction of the mixed sample data previously formed by said fifth step, executing control to allow reproduction of the new mixed sample data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a sixth step of buffering the mixed sample data for each of said plural samples and imparting thereto a predetermined effect. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of obtaining at least a first tone signal and a second tone signal, each tone signal formed by mixing the waveform data, formed for tone generating channels by said fourth step, at levels controllable independently for each of the first and second tone signals. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a sixth step of adding, to the mixed sample data formed by said fifth step, other waveform data samples.
-
-
25. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mix the waveform data so as to form mixed sample data.
-
-
26. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mix the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data; and
when formation of new mixed sample data for each of the plural samples is completed and after completion of reproduction of the mixed sample data previously formed, execute control to allow reproduction of the new mixed sample data.
-
-
27. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing the processor to perform the steps of:
-
receiving one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issuing calculation-start instructions in sequence;
in response to each said calculation- start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data; and
buffering the mixed sample data for each of said plural samples and subjecting the buffered mixed sample data to a predetermined process for imparting thereto a predetermined effect.
-
-
28. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
obtain at least a first tone signal and a second tone signal, each tone signal being formed by mixing the waveform data at levels independently controllable for each of the first and second tone signals.
-
-
29. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mix the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data; and
add, to the mixed sample data, other waveform data samples.
-
-
30. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel, an envelope value of waveform data for each of the tone generating channels varying between every one or more of the samples; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data.
-
-
31. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a six step of, when formation of new mixed sample data for each of the plural samples is completed by said fifth step and after completion of reproduction of the mixed sample data previously formed by said fifth step, executing control to allow reproduction of the new mixed sample data.
-
-
32. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a sixth step of buffering the mixed sample data for each of said plural samples and imparting thereto a predetermined effect.
-
-
33. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of obtaining at least a first tone signal and a second tone signal, each tone signal formed by mixing the waveform data, formed for tone generating channels by said fourth step, at levels controllable independently for each of the first and second tone signals.
-
-
34. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a sixth step of adding, to the mixed sample data formed by said fifth step, other waveform data samples.
-
-
35. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions at variable time points; and
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register, said waveform data for said plural samples being formed in a collective fashion during each of plural calculation periods responsive to said calculation-start instructions at corresponding ones of said variable time points. - View Dependent Claims (36)
-
-
37. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions at variable time points; and
in response to each said calculation-start instruction, form waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register, said waveform data for said plural samples being formed in a collective fashion during each of plural calculation periods responsive to said calculation-start instructions at corresponding ones of said.
-
-
38. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions at variable time points; and
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register, said waveform data for said plural samples being formed in a collective fashion during each of plural calculation periods responsive to said calculation-start instructions at corresponding ones of said variable time points.
-
-
39. A method of generating a tone by processing a given application software program and a tone generation software program by a processor, said method comprising:
-
a first process of issuing, to said tone generation software program, one or more generation instructions to generate one or more designated tones by processing said application software program; and
a second process of generating waveform data of said designated tones by executing said tone generation software program in response to said generation instructions issued by said first process, said second process comprising;
a first step of, in response to said generation instructions issued by said first process, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a second step of issuing calculation-start instructions in sequence;
a third step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fourth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said third step so as to form mixed sample data. - View Dependent Claims (42)
-
-
40. An apparatus for generating tones comprising a processor that executes stored programs, said programs including a given application program and a tone generating program,
wherein said application program comprises instructions for causing said processor to execute a step of issuing, to said tone generating program, one or more generation instructions to generate one or more designated tones, and said tone generating program comprising instructions for causing said processor to: -
issue, in response to instructions from said application program, one or more generation instructions to generate one or more designated tones;
in response to said generation instructions issued by said application program, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
for each of said plural samples, mix the waveform data so as to form mixed sample data. - View Dependent Claims (43)
-
-
41. A machine-readable medium containing programs executable by a processor for generating a tone, said programs including a given application program and a tone generating program, wherein:
-
said application program comprising a step of issuing, to said tone generating program, one or more generation instructions to generate one or more designated tones, and said tone generating program comprising;
a first step of, in response to said generation instructions issued by said application program, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a second step of issuing calculation-start instructions in sequence;
a third step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fourth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said third step so as to form mixed sample data.
-
-
44. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data, wherein said fourth step determines which of the tone generating channels for which waveform data can be formed within a particular time period, and wherein formation of the waveform data is performed only for each said determined tone generating channel. - View Dependent Claims (45)
-
-
46. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing said processor to perform the steps of:
-
receiving one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issuing calculation-start instructions in sequence;
in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data, wherein said step of forming waveform data includes a step of determining which of the tone generating channels for which waveform data can be formed within a particular time period, and wherein formation of the waveform data is performed only for said determined tone generating channel.
-
-
47. A machine-readable medium containing instructions of a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data, wherein said fourth step includes a step of determining which of the tone generating channels for which waveform data can be formed within a particular time period, and wherein formation of the waveform data is performed only for said determined tone generating channel.
-
-
48. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective tone generating channels designated from among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, performing calculations to form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a sixth step of issuing an instruction to modify formation of waveform data for at least one of the tone generating channels, when it is determined that the calculations for all designated tone generating channels will not be completed within a predetermined time period. - View Dependent Claims (49, 50, 51)
-
-
52. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing said processor to perform the steps of:
-
receiving one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assigning the designated tones to respective tone generating channels designated from among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issuing calculation-start instructions in sequence;
in response to each said calculation-start instruction, performing calculations to form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by the step of performing so as to form mixed sample data; and
issuing an instruction to modify formation of waveform data for at least one of the tone generating channels, when it is determined that the calculations for all designated tone generating channels will not be completed within a predetermined time period.
-
-
53. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective tone generating channels designated from among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, performing calculations to form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data; and
a six step of issuing an instruction to modify formation of waveform data for at least one of the tone generating channels, when it is determined that the calculations for all designated tone generating channels will not be completed within a predetermined time period.
-
-
54. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of determining importance of the tones to be generated in the respective tone generating channels;
a fourth step of issuing calculation-start instructions in sequence;
a fifth step of, in response to each said calculation-start instruction issued by said fourth step, forming waveform data for plural samples for any number of said plurality of tone generating channels, in accordance with said importance of the tones determined by said third step, on the basis of the control data stored in said channel registers; and
a sixth step of, for each of said plural samples, mixing the channel waveform data formed for the respective tone generating channels by said fifth step, so as to form mixed sample data. - View Dependent Claims (55)
-
-
56. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing said processor to perform the steps of:
-
receiving one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
determining importance of the tones to be generated in the respective tone generating channels;
issuing calculation-start instructions in sequence;
in response to each said calculation-start instruction issued by the step of issuing and in accordance with said importance of the tones determined by the step of determining, forming waveform data for plural samples for any number of said plurality of tone generating channels, on the basis of the control data stored in said channel registers; and
for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data.
-
-
57. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of determining importance of the tones to be generated in the respective tone generating channels;
a fourth step of issuing calculation-start instructions in sequence;
a fifth step of, in response to each said calculation-start instruction issued by said fourth step and in accordance with said importance of the tones determined by said third step, forming waveform data for plural samples for any number of said plurality of tone generating channels, on the basis of the control data stored in said channel registers; and
a sixth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fifth step, so as to form mixed sample data.
-
-
58. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data, wherein said fourth step performs calculations for forming the waveform data for plural samples for each of the tone generating channels in accordance with a predetermined calculation-processing order across the tone generating channels, and when it is determined during performance of the calculations for forming the waveform data by said fourth step that the calculations will not be completed within a predetermined time, calculations for forming the waveform data during the remainder of said predetermined time are not performed.
-
-
59. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing said processor to perform the steps of:
-
receiving one or more generation instructions to generate one or more designated tones;
in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issuing calculation-start instructions in sequence;
in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data, wherein said step of forming performs calculations for forming the waveform data for plural samples for each of the tone generating channels in accordance with a predetermined calculation-processing order across the tone generating channels, and when it is determined during performance of the calculations for forming the waveform data by said step of forming that the calculations will not be completed within a predetermined time, calculations for forming the waveform data during the remainder of said predetermined time are not performed.
-
-
60. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of issuing calculation-start instructions in sequence;
a fourth step of, in response to each said calculation-start instruction, forming waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
a fifth step of, for each of said plural samples, mixing the waveform data formed for the respective tone generating channels by said fourth step so as to form mixed sample data, wherein said fourth step performs calculations for forming the waveform data for plural samples for each of the tone generating channels in accordance with a predetermined calculation-processing order across the tone generating channels, and when it is determined during performance of the calculations for forming the waveform data by said step of forming that the calculations will not be completed within a predetermined time, calculations for forming the waveform data during the remainder of said predetermined time are not performed.
-
-
61. A tone generating method for execution on a computing unit, comprising:
-
a receiving step of receiving performance information;
a waveform formation step of, on the basis of the performance information received by said receiving step during a predetermined period, forming waveform data corresponding to the predetermined period, said waveform formation step forming plural successive samples of said waveform data in a collective fashion; and
a waveform synthesis step of receiving extra waveform data corresponding to the predetermined period, and combining the received extra waveform data and the waveform data previously formed in a collective fashion, so as to form synthesized waveform data for the predetermined period in a collective fashion. - View Dependent Claims (62, 63)
-
-
64. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus performance information;
on the basis of the performance information received during a predetermined period, form plural successive samples of waveform data in a collective fashion corresponding to the predetermined period; and
receive extra waveform data corresponding to the predetermined period, and combine the received extra waveform data in a collective fashion and the waveform data previously formed, so as to form synthesized waveform data for the predetermined period in a collective fashion.
-
-
65. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising the steps of:
-
a receiving step of receiving performance information;
a waveform formation step of, on the basis of the performance information received by said receiving step during a predetermined period, forming waveform data corresponding to the predetermined period, said waveform formation step forming plural successive samples of said waveform data in a collective fashion; and
a waveform synthesis step of receiving extra waveform data corresponding to the predetermined period, and combining the received extra waveform data and the waveform data formed by said waveform formation step in a collective fashion, so as to form synthesized waveform data for the predetermined period in a collective fashion.
-
-
66. A tone generating method for execution on a computing unit, comprising:
-
a receiving step of receiving performance information;
a waveform formation step of, on the basis of the performance information received by said receiving step, performing calculations over a plurality of stages so as to form waveform data, said waveform formation step forming plural successive samples of said waveform data in a collective fashion, said plurality of stages including a waveform synthesis stage for synthesizing waveform data and a waveform processing stage for processing the waveform data synthesized by said waveform synthesis stage;
a step of receiving extra waveform data that are other than the waveform data formed by said waveform formation step; and
a step of inserting the received extra waveform data in one of said stages in said waveform formation step so that the received extra waveform data are processed in said waveform processing stage in a same manner as the synthesized waveform data.
-
-
67. An apparatus for generating tones comprising a programmed processor adapted to:
-
receive via said data bus performance information;
on the basis of the performance information received, perform calculations over a plurality of stages so as to form plural successive samples of waveform data in a collective fashion, said plurality of stages including a waveform synthesis stage for synthesizing waveform data and a waveform processing stage for processing the waveform data synthesized by said waveform synthesis stage;
receive extra waveform data that are other than the waveform data previously formed; and
insert the received extra waveform data in one of said stages in said waveform formation step so that the received extra waveform data are processed in said waveform processing stage in a same manner as the synthesized waveform data.
-
-
68. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising the steps of:
-
a receiving step of receiving performance information;
a waveform formation step of, on the basis of the performance information received by said receiving step, performing calculations over a plurality of stages so as to form waveform data, said waveform formation step forming plural successive samples of said waveform data in a collective fashion, said plurality of stages including a waveform synthesis stage for synthesizing waveform data and a waveform processing stage for processing the waveform data synthesized by said waveform synthesis stage;
a step of receiving extra waveform data that are other than the waveform data formed by said waveform formation step; and
a step of inserting the received extra waveform data in one of said stages in said waveform formation step so that the received extra waveform data are processed in said waveform processing stage in a same manner as the synthesized waveform data.
-
-
69. A tone generating method for execution on a computing unit, comprising:
-
a receiving step of receiving performance information;
a formation step of forming waveform data for plural sampling periods in a collective, successive fashion;
an interrupt step of, when the performance information is received by said receiving step, temporarily interrupting said formation step so as to perform processing of the performance information, and then, upon completion of the processing of the performance information, resuming said formation step at a point where said formation step has been interrupted; and
a tone generation step of, on the basis of the waveform data formed by said formation step, generating a corresponding tone at timing later than formation of the waveform data by said formation step, wherein said formation step forms the waveform data on the basis of the performance information processed by said interrupt step.
-
-
70. A tone generating device comprising a memory and a processor that executes a program stored in said memory, said program causing said processor to perform the steps of:
-
supplying performance information;
forming waveform data for plural sampling periods in a collective, successive fashion;
when the performance-information is supplied by said supply step, temporarily interrupting the step of forming so as to perform processing of the performance information, and then, upon completion of the processing of the performance information, resuming said step of forming at a point where said step of forming has been interrupted; and
on the basis of the waveform data formed by said step of forming, generating a corresponding tone at timing later than formation of the waveform data by said step of forming, wherein said step of forming forms the waveform data on the basis of the performance information processed by the step of interrupting.
-
-
71. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising:
-
a supply step of supplying performance information;
a formation step of forming waveform data for plural sampling periods in a collective, successive fashion;
an interrupt step of, when the performance information is supplied by said supply step, temporarily interrupting said formation step so as to perform processing of the performance information, and then, upon completion of the processing of the performance information, resuming said formation step at a point where said formation step has been interrupted; and
a tone generation step of, on the basis of the waveform data formed by said formation step, generating a corresponding tone at timing later than formation of the waveform data by said formation step, wherein said formation step forms the waveform data on the basis of the performance information processed by said interrupt step.
-
-
72. A tone generating method for execution on a computing unit, comprising:
-
a system step of executing a predetermined operating system;
a waveform formation step of forming waveform data for a plurality of sampling cycles in collective fashion, on the basis of an instruction from an application program executed on the predetermined operating system;
an output step of outputting, every sampling cycle, one sample of the waveform data formed by said waveform formation step; and
a control step of, in response to a request by said output step, performing a task switch between said system step and said waveform formation step during a predetermined period corresponding to a predetermined number of the sampling cycles, wherein said waveform formation step performs a tone parameter calculating operation in an intermittent fashion.
-
-
73. An apparatus for generating tones comprising a programmed processor adapted to perform the steps of:
-
executing a predetermined operating system;
arithmetically forming waveform data for a plurality of sampling cycles in a collective fashion, on the basis of an instruction from the application program executed on the predetermined operating system;
outputting, every sampling cycle, one sample of the waveform data arithmetically formed; and
in response to a request by the step of outputting, performing a task switch between the step of executing and said step of forming during a predetermined period corresponding to a predetermined number of the sampling cycles, wherein said step of forming performs a tone parameter calculating operation in an intermittent fashion.
-
-
74. A machine-readable medium containing a program executable by a processor for generating a tone, said program comprising:
-
a system step of executing a predetermined operating system;
a waveform formation step of forming waveform data for a plurality of sampling cycles in a collective fashion, on the basis of an instruction from an application program executed on the predetermined operating system;
an output step of outputting, every sampling cycle, one sample of the waveform data formed by said waveform formation step; and
a control step of, in response to a request by said output step, performing a task switch between said system step and said waveform formation step during a predetermined period corresponding to a predetermined number of the sampling cycles, wherein said waveform formation step performs a tone parameter calculating operation in an intermittent fashion.
-
-
75. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mix the waveform data formed for the respective tone generating channels so as to form mixed sample data; and
buffer the mixed sample data for each of said plural samples and subject the buffered mixed sample data to a predetermined process for imparting thereto a predetermined effect.
-
-
76. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
for each of said plural samples, mix the waveform data formed for the respective tone generating channels so as to form mixed sample data, wherein said step of forming waveform data includes a step of determining which of the tone generating channels for which waveform data can be formed within a particular time period, and wherein formation of the waveform data is performed only for said determined tone generating channel.
-
-
77. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective tone generating channels designated from among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, perform calculations to form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel;
for each of said plural samples, mix the waveform data formed for the respective tone generating channels so as to form mixed sample data; and
issue an instruction to modify formation of waveform data for at least one of the tone generating channels, when it is determined that the calculations for all designated tone generating channels will not be completed within a predetermined time period.
-
-
78. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
determine the importance of the tones to be generated in the respective tone generating channels;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction and in accordance with said importance of the tones determined, form waveform data for plural samples for any number of said plurality of tone generating channels, on the basis of the control data stored in said channel registers; and
for each of said plural samples, mix the waveform data formed for the respective tone generating channels so as to form mixed sample data.
-
-
79. An apparatus for generating tones comprising a programmed processor coupled to said data bus, said processor being adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
issue calculation-start instructions in sequence;
in response to each said calculation-start instruction, form waveform data for plural samples for each of the tone generating channels on the basis of the control data stored in said channel register of said channel; and
for each of said plural samples, mix the waveform data formed for the respective tone generating channels by the step of forming so as to form mixed sample data, wherein said waveform data is formed by calculations in accordance with a predetermined calculation-processing order across the tone generating channels, and when it is determined during performance of the calculations that the calculations will not be completed within a predetermined time, calculations for forming the waveform data during the remainder of said predetermined time are not performed.
-
-
80. An apparatus for generating tones comprising a programmed processor adapted to
supply performance information; -
form waveform data for plural sampling periods in a collective, successive fashion;
when the performance-information is supplied, temporarily interrupt the formation of waveform data so as to perform processing of the performance information, and then, upon completion of the processing of the performance information, resume the formation of waveform data at a point where said formation of waveform data has been interrupted; and
on the basis of the waveform data formed, generate a corresponding tone at timing later than formation of the waveform data, wherein the formation of the waveform data performed on the basis of the performance information processed during the interrupt.
-
-
81. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a predetermined time interval; and
a fourth step of issuing calculation-start instructions at plural time points within said predetermined time interval, wherein said third step forms said waveform data for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
-
82. A tone generating method comprising:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a reproduction time interval; and
a fourth step of issuing calculation-start instructions at plural time points within said reproduction time interval, wherein said third step forms said waveform data for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
-
83. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a predetermined time interval; and
a fourth step of issuing calculation-start instructions at plural time points within said predetermined time interval, wherein said third step forms said waveform data for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
-
84. An apparatus for generating tones comprising a programmed processor adapted to
receive one or more generation instructions to generate one or more designated tones; -
in response to said generation instructions, assign the designated tones to respective ones among a plurality of tone generating channels, and write control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
form waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a reproduction time interval; and
issue calculation-start instructions at plural time points within said reproduction time interval, wherein said waveform data are formed for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
-
85. A machine-readable medium containing a program for generating a tone executable by a processor, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a predetermined time interval; and
a fourth step of issuing calculation-start instructions at plural time points within said predetermined time interval, wherein said third step forms said waveform data for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
-
86. A machine-readable medium containing a program for generating a tone executable by a processor, said program comprising the steps of:
-
a first step of receiving one or more generation instructions to generate one or more designated tones;
a second step of, in response to said generation instructions, assigning the designated tones to respective ones among a plurality of tone generating channels, and writing control data for the designated tones into channel registers corresponding to the respective tone generating channels to which said designated tones have been assigned;
a third step of forming waveform data for plural samples for the tone generating channels on the basis of the control data stored in said channel register in correspondence with a reproduction time interval; and
a fourth step of issuing calculation-start instructions at plural time points within said reproduction time interval, wherein said third step forms said waveform data for plural samples in a collective fashion in response to each of said calculation-start instructions.
-
Specification