Tone generating method and device based on software
First Claim
1. A tone generating device comprising:
- a supply unit for supplying performance information;
a storage unit for storing therein a plurality of programs including a tone generating program; and
a general-purpose arithmetic processing unit capable of concurrently executing the programs stored in said storage unit in a parallel manner, said arithmetic processing unit causing a plurality of internal interrupt signals to be generated within a predetermined time period and activating the tone generating program to generate tone data based on the performance information that is supplied by said supply unit in response to the internal interrupt signals, wherein the tone generating program activated by said arithmetic processing unit includes an adjusting mechanism for variably adjusting an amount of a tone waveform to be generated, in such a manner that a predetermined number of samples of tone data can be cumulatively formed within the predetermined time period by tone data forming operations being effected only when the tone generating program is actually activated by said arithmetic processing unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Tone generating processing is executed on an operating system having no full multitask function. The tone generating processing is activated a plurality of times, i.e., at a plurality of activating times, within each predetermined time period. Thus, even when the tone generating processing fails to be activated at some of the activating times, a predetermined number of samples of tone data can be belatedly formed within the predetermined time period, by tone data forming operations being effected only at the other activating times when the tone generating processing is actually activated. If the predetermined number of samples of tone data can not be formed, just by the tone data forming operations effected only when the tone generating processing is actually activated, for every tone generating channel assigned to the tone generating processing, the number of the tone generating channels to be used for forming the tone data is reduced so as to secure formation of the predetermined number of samples of tone data.
14 Citations
19 Claims
-
1. A tone generating device comprising:
-
a supply unit for supplying performance information;
a storage unit for storing therein a plurality of programs including a tone generating program; and
a general-purpose arithmetic processing unit capable of concurrently executing the programs stored in said storage unit in a parallel manner, said arithmetic processing unit causing a plurality of internal interrupt signals to be generated within a predetermined time period and activating the tone generating program to generate tone data based on the performance information that is supplied by said supply unit in response to the internal interrupt signals, wherein the tone generating program activated by said arithmetic processing unit includes an adjusting mechanism for variably adjusting an amount of a tone waveform to be generated, in such a manner that a predetermined number of samples of tone data can be cumulatively formed within the predetermined time period by tone data forming operations being effected only when the tone generating program is actually activated by said arithmetic processing unit. - View Dependent Claims (2)
-
-
3. A tone generating method for causing a general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a first step of generating internal interrupt signals to activate tone generating processing a plurality of times within a predetermined time period;
a second step of designating an amount of a tone waveform to be generated by the tone generating processing, in such a manner that a predetermined number of samples of tone data can be cumulatively formed within the predetermined time period by tone data forming operations being effected only when the tone generating processing is actually activated in response to the internal interrupt signals; and
a third step of executing the tone generating processing in response to the internal interrupt signals, so as to form tone data corresponding to the amount of a tone waveform designated by said second step. - View Dependent Claims (4)
-
-
5. A tone generating device comprising:
-
a supply unit for supplying performance information;
a first register for, when tone generating processing based on the performance information is assigned to an unused tone generating channel, storing therein a parameter for controlling the tone generating processing;
a second register for, when new tone generating processing based on other performance information is assigned to the tone generating channel while said channel is not available for the new tone generating processing, storing therein a parameter for controlling the new tone generating processing;
a selecting unit for selecting said first register before a predetermined time point to start the new tone generating processing and selecting said second register after the predetermined time point; and
a tone generating unit for generating tone data in the tone generating channel by use of one of said first and second registers selected by said selecting unit.
-
-
6. A tone generating method for causing general-purpose arithmetic processing unit to execute tone generating processing on the basis of supplied performance information, said method comprising:
-
a first step of assigning tone generating processing to an unused tone generating channel and storing a parameter for controlling the tone generating processing into a first register;
a second step of assigning new tone generating processing to the tone generating channel while said channel is not available for the new tone generating processing, storing a parameter for controlling the new tone generating processing into a second register;
a third step of selecting said first register before a predetermined time point to start the new tone generating processing and selecting said second register after the predetermined time point; and
a fourth step of generating tone data in the tone generating channel by use of one of said first and second registers selected by said third step.
-
-
7. A tone generating device comprising:
-
a supply unit for supplying performance information;
a plurality of output buffers for writing therein tone data;
a reproducing unit for sequentially reproducing the tone data from one of the output buffers which has been reserved for subsequent tone data reproduction;
a storage unit for storing therein a plurality of programs including a tone generating program; and
a general-purpose arithmetic processing unit capable of concurrently executing the programs stored in said storage unit in a parallel manner, said arithmetic processing unit activating the tone generating program in response to internal interrupt signals generated at predetermined time intervals, wherein said tone generating program contains program code mechanisms to implement a tone generating process for generating tone data on the basis of the performance information that is supplied by said supply unit prior to reproduction timing of said reproducing unit, a writing process for writing the generated tone data into another of said output buffers that is not reserved, and a reserving process for reserving said other output buffer, having the tone data written therein, for subsequent tone data reproduction by said reproducing unit, and wherein said generating process receives the performance information at timing that precedes the reproduction timing by a time corresponding to a total capacity of said output buffers, and two or more of said output buffers can be simultaneously reserved by said reserving process.
-
-
8. A tone generating method for causing a general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data from a specific one of a plurality of output buffers which has been reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of said reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by the reproduction step, wherein the generation step receives the performance information at timing that precedes the reproduction timing by a time corresponding to a total capacity of said output buffers, and two or more of said output buffers can be simultaneously reserved.
-
-
9. A tone generating device comprising:
-
a supply unit for supplying performance information;
a plurality of output buffers for writing therein tone data;
a reproducing unit for sequentially reproducing the tone data stored in one of the output buffers which has been reserved for subsequent tone data reproduction;
a storage unit for storing therein a plurality of programs including a tone generating program; and
a general-purpose arithmetic processing unit capable of concurrently executing the programs stored in said storage unit in a parallel manner, said arithmetic processing unit activating the tone generating program in response to internal interrupt signals generated at predetermined time intervals, wherein said tone generating program contains program code mechanisms to implement a tone generating process for generating tone data on the basis of the performance information that is supplied by said supply unit prior to reproduction timing of said reproducing unit, a writing process for writing the generated tone data into another of said output buffers that is not reserved, and a reserving process for reserving said other output buffer, having the tone data written therein, for subsequent tone data reproduction by said reproducing unit, and wherein if tone data for writing into one of said output buffers to be next reserved has not yet been prepared at a time point when said reproducing unit has reproduced all the tone data from the reserved output buffer, said generating process discontinues generation of tone data that should have been completed by said time point and then newly starts generation of other tone data to be formed a predetermined time after said time point.
-
-
10. A tone generating method for causing a general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data stored in a specific one of a plurality of output buffers which has been reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of said reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by said reproduction step, wherein if tone data for writing into one of said output buffers to be next reserved has not yet been prepared at a time point when said reproduction step has reproduced all the tone data from the reserved output buffer, said generating process discontinues generation of tone data that should have been completed by said time point and then newly starts generation of the tone data to be formed a predetermined time after said time point.
-
-
11. A tone generating device comprising:
-
a supply unit for supplying performance information;
a plurality of output buffers for writing therein tone data;
a reproducing unit for sequentially reproducing the tone data stored in one of the output buffers which has been reserved for subsequent tone data reproduction;
a storage unit for storing therein a plurality of programs including a tone generating program;
a general-purpose arithmetic processing unit capable of concurrently executing the programs stored in said storage unit in a parallel manner, said arithmetic processing unit causing a plurality of internal interrupt signals to be generated within a predetermined time period and activating the tone generating program to generate tone data based on the performance information that is supplied by said supply unit in response to the internal interrupt signals;
wherein said tone generating program contains program code mechanisms to implement a tone generating process for generating tone data on the basis of performance information that is supplied by said supply unit prior to reproduction timing of said reproducing unit, a writing process for writing the generated tone data into another of said output buffers that has not been reserved, and a reserving process for reserving said other output buffer, having the tone data written therein, for subsequent tone data reproduction by said reproducing unit, and wherein on the basis of a specific number of samples of tone data previously generatable at a time of activation of said tone generating process, determines a total number of samples of tone data to be generated. - View Dependent Claims (12)
-
-
13. A tone generating method for causing a general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data stored in a specific one of a plurality of output buffers which is reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of the reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by said reproduction step, wherein on the basis of a specific number of samples of tone data previously generatable at a time of activation of said tone generating process, determines a total number of samples of tone data to be generated. - View Dependent Claims (14)
-
-
15. A machine readable recording medium containing a group of instructions to cause said machine to implement a method for causing general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a first step of generating internal interrupt signals to activate tone generating processing a plurality of times within a predetermined time period;
a second step of designating an amount of a tone waveform to be generated by the tone generating processing, in such a manner that a predetermined number of samples of tone data can be cumulatively formed within the predetermined time period by tone data forming operations being effected only when the tone generating processing is actually activated in response to the internal interrupt signals; and
a third step of executing the tone generating processing in response to the internal interrupt signals, so as to form tone data corresponding to the amount of a tone waveform designated by said second step.
-
-
16. A machine readable recording medium containing a group of instructions to cause said machine to implement a method for causing general-purpose arithmetic processing unit to execute tone generating processing on the basis of supplied performance information, said method comprising:
-
a first step of assigning tone generating processing to an unused tone generating channel and storing a parameter for controlling the tone generating processing into a first register;
a second step of assigning new tone generating processing to the tone generating channel while said channel is not available for the new tone generating processing, storing a parameter for controlling the new tone generating processing into a second register;
a third step of selecting said first register before a predetermined time point to start the new tone generating processing and selecting said second register after the predetermined time point; and
a fourth step of generating tone data in the tone generating channel by use of one of said first and second registers selected by said third step.
-
-
17. A machine readable recording medium containing a group of instructions to cause said machine to implement a method for causing general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data from a specific one of a plurality of output buffers which has been reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of said reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by the reproduction step, wherein the generation step receives the performance information at timing that precedes the reproduction timing by a time corresponding to a total capacity of said output buffers, and two or more of said output buffers can be simultaneously reserved.
-
-
18. A machine readable recording medium containing a group of instructions to cause said machine to implement a method for causing general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data stored in a specific one of a plurality of output buffers which has been reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of said reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by said reproduction step, where if tone data for writing into one of said output buffers to be next reserved has not yet been prepared at a time point when said reproduction step has reproduced all the tone data form the reserved output buffer, said generating process discontinues generation of tone data that should have been completed by said time point and then newly starts generation of other tone data to be formed a predetermined time after said time point.
-
-
19. A machine readable recording medium containing a group of instructions to cause said machine to implement a method for causing general-purpose arithmetic processing unit to generate a tone on the basis of performance information by executing one of a plurality of programs which are concurrently executable thereby, said method comprising:
-
a reproduction step of sequentially reproducing tone data stored in a specific one of a plurality of output buffers which is reserved for subsequent tone data reproduction; and
a generation step of, in response to internal interrupt signals generated at predetermined time intervals, generating tone data on the basis of performance information that is supplied prior to reproduction timing of the reproduction step, writing the generated tone data into another of said output buffers than said specific output buffer, and reserving said other output buffer for subsequent tone data reproduction by said reproduction step, wherein on the basis of a specific number of samples of tone data previously generatable at a time of activation of said tone generating process, determines a total number of samples of tone data to be generated.
-
Specification