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.
- 2. A tone generating method as defined in claim 1, which further comprises a sixth step of converting the mixed sample data for each of the plural samples into an analog signal every sampling cycle.
- 3. A tone generating method as defined in claim 1, wherein said fourth step sequentially performs tone forming calculations for the respective tone generating channels so as to arithmetically form said waveform data for the plural samples on the basis of the control data read out from said channel registers prior to performing said tone forming calculations.
- 4. A tone generating method as defined in claim 3, wherein in said fourth step, the control data after the formation of said waveform data is written into said channel registers.
- 5. A tone generating method as defined in claim 1 wherein said fourth step performs calculations to collectively form waveform data for plural samples for one of the tone generating channels and then performs calculations to collectively form waveform data for plural samples for another one of the tone generating channels, to thereby sequentially perform the tone forming calculations sequentially for the individual tone generating channels, and wherein said fifth step accumulates every corresponding one of the plural samples of the individual tone generating channels, sequentially formed by said fourth step, at a selected location of a buffer capable of buffering the plural samples in such a way that the mixed sample data is formed within said buffer.
- 6. A tone generating method as defined in claim 1, wherein said third step further comprises issuing said calculation-start instructions at predetermined intervals.
- 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.
- 8. A tone generating method as defined in claim 7, which further comprises a seventh step of converting the mixed sample data for each of the plural samples into an analog signal every sampling cycle.
- 9. A tone generating method as defined in claim 7, wherein said fourth step sequentially performs tone forming calculations for the respective tone generating channels so as to arithmetically form said waveform data for the plural samples on the basis of the controlling data read out from said channel registers prior to performing said tone forming calculations.
- 10. A tone generating method as defined in claim 7, wherein in said fourth step, the control data after the formation of said waveform data are written into said channel registers.
- 11. A tone generating method as defined in claim 7, wherein said fourth step performs calculations to collectively form waveform data for plural samples for one of the tone generating channels and then performs calculations to collectively form waveform data for plural samples for another one of the tone generating channels, to thereby sequentially perform the tone forming calculations sequentially for the individual tone generating channels, and wherein said fifth step accumulates every corresponding one of the plural samples of the individual tone generating channels, sequentially formed by said fourth step, at a selected location of a buffer capable of buffering the plural samples in such a way that the mixed sample data is formed within said buffer.
- 12. A tone generating method as defined in claim 7, wherein said third step further comprises issuing said calculation-start instructions at predetermined intervals.
- 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.
- 14. A tone generating method as defined in claim 13, which further comprises a seventh step of converting the mixed sample data for each of the plural samples into an analog signal every sampling cycle.
- 15. A tone generating method as defined in claim 13, wherein said fourth step sequentially performs tone forming calculations for the respective tone generating channels so as to arithmetically form said waveform data for the plural samples on the basis of the control data read out from said channel registers prior to performing said tone forming calculations.
- 16. A tone generating method as defined in claim 13, wherein in said fourth step, the control data after the formation of said waveform data are written into said channel registers.
- 17. A tone generating method as defined in claim 13, wherein said fourth step performs calculations to collectively form waveform data for plural samples for one of the tone generating channels and then performs calculations to collectively form waveform data for plural samples for another one of the tone generating channels, to thereby sequentially execute the tone forming calculations sequentially for the individual tone generating channels, and wherein said fifth step accumulates every corresponding one of the plural samples of the individual tone generating channels, sequentially formed by said fourth step, at a selected location of a buffer capable of buffering the plural samples in such a way that the mixed sample data is formed within said buffer.
- 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.
- 19. A tone generating method as defined in claim 18, which further comprises a sixth step of adding, to at least one of the first and second tone signals, other waveform data samples.
- 20. A tone generating method as defined in claim 18, which further comprises a sixth step of converting the mixed sample data for each of the plural samples into an analog signal every sampling cycle.
- 21. A tone generating method as defined in claim 18, wherein said fourth step sequentially performs tone forming calculations for the respective tone generating channels so as to arithmetically form said waveform data for the plural samples on the basis of the control data read out from said channel registers prior to performing said tone forming calculations.
- 22. A tone generating method as defined in claim 18, wherein in said fourth step, the control data after the formation of said waveform data are written into said channel registers.
- 23. A tone generating method as defined in claim 18, wherein said fourth step performs calculations to collectively form waveform data for plural samples for one of the tone generating channels and then performs calculations to collectively form waveform data for plural samples for another one of the tone generating channels, to thereby sequentially execute the tone forming calculations sequentially for the individual tone generating channels, and wherein said fifth step accumulates every corresponding one of the plural samples of the individual tone generating channels, sequentially formed by said fourth step, at a selected location of a buffer capable of buffering the plural samples in such a way that the mixed sample data is formed within said buffer.
- 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.
- 36. A tone generating method as defined in claim 35, wherein in said fourth step, said waveform data formed during each said calculation period provides plural samples occurring between a previous calculation-start instructions and a current calculation-start instruction.
- 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.
- 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.
- 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.
- 42. A method as defined in claim 39 wherein said application software program and said tone generation software program are executed by said processor in a parallel fashion.
- 43. A tone generating device as defined in claim 40 wherein said application program and said tone generating program are executed by said processor in a parallel fashion.
- 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.
- 45. A tone generating method as defined in claim 44, wherein said fourth step, on the basis of volumes of tones being currently generated in the respective tone generating channels, distinguishes between the tone generating channels in which formation of the waveform data is to be performed and the tone generating channels in which formation of the waveform data is not to be performed.
- 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.
- 49. A tone generating method as defined in claim 48, wherein said sixth step includes a step of determining whether the calculations for all designated tone generating channels will be completed under a predetermined condition.
- 50. A tone generating method as defined in claim 48, wherein said sixth step further comprises providing damped waveform data for said at least one of the tone generating channels.
- 51. A tone generating method as defined in claim 48, wherein said sixth step further comprises discontinuing calculation of said waveform data for said at least one of the tone generating channels.
- 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.
- 55. A tone generating method as defined in claim 54, wherein said fifth step performs calculations in accordance with a predetermined calculation-processing order across the tone generating channels, said calculation-processing order being defined according to said importance of the tones determined by said third step.
- 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.
- 62. A tone generating-method as defined in claim 61, wherein said extra waveform data is other than the waveform data formed by said waveform formation step.
- 63. A tone generating method as defined in claim 61, which further comprises an output step of outputting, every sampling cycle, one sample of the synthesized waveform data.
- 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 toreceive 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 toreceive 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 toreceive 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 toreceive 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 toreceive 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 tosupply 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 toreceive 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 toreceive 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.
Priority Claims (3)
Number |
Date |
Country |
Kind |
7-144159 |
May 1995 |
JP |
|
7-264629 |
Sep 1995 |
JP |
|
8-023323 |
Jan 1996 |
JP |
|
RELATED APPLICATION
This is a divisional of application Ser. No. 08/649,168, filed May 17, 1996, which issued as U.S. Pat. No. 5,895,877, on Apr. 20, 1999.
US Referenced Citations (26)
Foreign Referenced Citations (3)
Number |
Date |
Country |
0 484 047 |
May 1992 |
EP |
0 597 381 |
May 1994 |
EP |
WO 8001215 |
Jun 1980 |
WO |
Non-Patent Literature Citations (4)
Entry |
“Computer Music Journal”, vol. 12, No. 3, Fall 1988, pp 79-80. |
“Computer Music Journal”, vol. 13, No. 1, Spring 1989, pp. 36-46. |
“Computer Music Journal”, vol. 13, No. 4, Winter 1989, pp. 54-64. |
Hal Chamberlin, “Muscial Applications of Microprocessors”, 2nd Ed., Hayden Books, 1987, pp 639-774. |