Tone waveform generating method and apparatus based on software
Abstract
A method of generating a tone waveform using a CPU is provided which prevents or minimizes operational delays of other software processing that is executed concurrently with tone waveform generating processing on a multitask basis. The CPU collectively calculates 128 (one block of) tone waveform sample values each corresponding to a sampling clock pulse, and transmits the calculated tone waveform sample values to a reproduction section in response to a predetermined calculation triggering clock pulse generated every 128 samples. When sufficient processing capability of the CPU performing the multitask is available for the waveform sample calculation, tone waveform sample values for one or more following blocks are also calculated and stored in a sample buffer in advance. When the CPU is too busy with the other software processing to execute the waveform sample calculation, it is just sufficient that the previously stored tone waveform sample values be read out to be transmitted to the reproduction section. This prevents operational delays of the other software processing.
Claims
exact text as granted — not AI-modified1. A method of generating a tone waveform based on automatic performance information, using a processor device executing a plurality of different programs on a time division basis, said method including executing a waveform calculating process for calculating tone waveform samples on the basis of one of the programs by sharing the processor device with another process based on another one of the programs, said method comprising the steps of:
detecting an available time portion in which said processor device is not currently used for the other process, as available processing capability for the waveform calculating process;
calculating a plurality of tone waveform samples based on the performance information in advance of predetermined generation timing thereof by executing the waveform calculating process using said available processing capability detected by said step of detecting, said step of calculating including a step of storing the calculated tone waveform samples in a memory; and
generating a tone waveform by reading out the tone waveform samples from the memory.
2. A method as defined in claim 1 wherein said step of calculating calculates one or more predetermined units of the tone waveform samples depending on said detected available processing capability, each said unit being a predetermined number of the tone waveform samples.
3. A method as defined in claim 1 wherein said step of calculating starts calculating the tone waveform samples in advance of said step of generating, and said step of generating starts reading the tone waveform samples from the memory after a plurality of the tone waveform samples are stored in the memory.
4. A method as defined in claim 1 wherein when more than a predetermined number of unread tone waveform samples are not resident in the memory, said step of calculating calculates a predetermined number of tone waveform samples irrespective of said detected available processing capability.
5. A method of generating a tone waveform based on automatic performance information, using a processor device executing a plurality of different programs on a time division basis, said method including executing a waveform calculating process for calculating tone waveform samples on the basis of one of the programs by sharing the processor device with another process based on another one of the programs, the waveform calculating process being executed per predetermined constant period so as to collectively generate a plurality of tone waveform samples per execution of the waveform calculating process, said method comprising the steps of:
detecting an amount of calculation time necessary for the other process, when the waveform calculating process is to be executed; and
calculating tone waveform samples by selectively executing the waveform calculating process that involves a variable calculation amount which depends on said amount of calculation time necessary for the other process detected by said step of detecting; and
outputting the tone waveform generated by the waveform calculating process .
6. A method as defined in claim 5 wherein said step of calculating calculates the tone waveform samples with different precision depending on the calculation amount involved in the waveform calculating process.
7. A method of generating tone waveforms corresponding to first performance information based on a real-time performance and second performance information based on an automatic performance, which includes executing a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said method comprising the steps of:
calculating a predetermined number of first tone waveform samples for each predetermined period on the basis of said first performance information supplied in response to a real-time performance;
detecting a portion of processing capability of said arithmetic processing section which is not currently occupied by a process for calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
calculating second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said available processing capability detected by said step of detecting;
storing in a memory said first and second tone waveform samples calculated by said steps of calculating; and
generating tone waveforms corresponding to the real-time performance and automatic performance by synchronously reading said first and second tone waveform samples from the memory.
8. A method as defined in claim 7 wherein said step of storing in a memory includes a step of adding said first and second tone waveform samples for each sample corresponding to same generation timing so as to store resultant added tone waveform samples in the memory, and said step of generating reads out the added tone waveform samples from the memory.
9. A method of generating tone waveforms corresponding to first performance information based on a real-time performance and second performance information based on an automatic performance, which includes executing a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said method comprising the steps of:
calculating a predetermined number of first tone waveform samples for each predetermined block period on the basis of said first performance information supplied in response to a real-time performance, said step of calculating including a step of, at optional a time within first said block period, calculating said predetermined number of first tone waveform samples to be generated within second said block period following said first block period and storing the calculated first tone waveform samples in a memory, said first tone waveform samples stored in the memory being sequentially read out at regular sampling intervals in said second block period;
detecting a portion of processing capability of said arithmetic processing section which is not currently occupied by a process for calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
calculating second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said available processing capability detected by said step of detecting, said step of calculating second tone waveform samples including a step of storing in a memory the calculated second tone waveform samples; and
generating tone waveform samples corresponding to the real-time performance and automatic performance by, at regular sampling intervals, reading out from the memory said first and second tone waveform samples corresponding to each same said block period.
10. A method as defined in claim 9 wherein said step of storing said first and second tone waveform samples adds said first and second tone waveform samples, for each sample, that are to be generated in same said block period so as to store resultant added tone waveform samples in the memory, and said step of generating reads out the added tone waveform samples from the memory.
11. A machine-readable recording medium containing a group of instructions to cause said machine to generate a tone waveform based on automatic performance information by executing a waveform calculating process for calculating tone waveform samples by using a processor device, the processor device also executing another process in response to a different group of instructions, said medium group of instructions executable by said processor device to perform a method comprising the steps of:
means for instructing the machine to detect a time portion in which said processor device is not currently used for the other process, as available processing capability for the waveform calculating process;
means for instructing the machine to calculate a plurality of tone waveform samples based on the automatic performance information in advance of predetermined generation timing thereof by executing the waveform calculating process using said detected available processing capability, said means for instructing the machine to calculate including means for instructing the machine to store the calculated tone waveform samples in a memory; and
means for instructing the machine to generate a tone waveform by reading out the tone waveform samples from the memory.
12. A machine-readable recording medium containing a group of instructions to cause said machine to generate a tone waveform based on performance information by executing a waveform calculating process for calculating tone waveform samples by using a processor device, the processor device also executing another process in response to a different group of instructions, said medium comprising the waveform calculating process being executed per predetermined constant period so as to collectively generate a plurality of tone waveform samples per execution of the waveform calculating process, said group of instructions executable by said processor device to perform a method comprising the steps of:
means for instructing the machine to detect an amount of calculation time necessary for the other process, when the waveform calculating process is to be executed;
means for instructing the machine to calculate tone waveform samples by selectively executing the waveform calculating process that involves a variable calculation amount that depends on said detected amount of calculation time necessary for the other process; and
means for instructing the machine to generate a tone waveform based on the calculated tone waveform samples.
13. A machine-readable recording medium containing a group of instructions to cause said machine to generate tone waveforms corresponding to first performance information based on a real-time performance and second performance information based on an automatic performance, by executing a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said medium group of instructions comprising the steps of:
means for instructing the machine to calculate a predetermined number of first tone waveform samples for each predetermined period on the basis of said first performance information supplied in response to a real-time performance;
means for instructing the machine to detect a portion of the processing capability of said arithmetic processing section which is not currently occupied by a process for calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
means for instructing the machine to calculate second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said detected available processing capability;
means for instructing the machine to store in a memory said first and second tone waveform samples calculated by said steps of calculating; and
means for instructing the machine to generate tone waveforms corresponding to the real-time performance and automatic performance by synchronously reading said first and second tone waveform samples from the memory.
14. A machine-readable recording medium containing a group of instructions to cause said machine to generate tone waveforms corresponding to first performance information based on a real-time performance and second performance information based on an automatic performance, by executing a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said medium group of instructions comprising the steps of:
means for instructing the machine to calculate a predetermined number of first tone waveform samples for each predetermined block period on the basis of said first performance information supplied in response to a real-time performance, including means for instructing the machine to calculate, at an optional time within a first said block period, said predetermined number of first tone waveform samples to be generated within a second said block period following said first block period, and means for instructing the machine to store the calculated first tone waveform samples in a memory, and sequentially read out at regular sampling intervals in said second block period said first tone waveform samples stored in the memory;
means for instructing the machine to detect a portion of the processing capability of said arithmetic processing section which is not currently occupied by the process of calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
means for instructing the machine to calculate second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said detected available processing capability, said means for instructing the machine to calculate second tone waveform samples including means for instructing the machine to store in a memory the calculated second tone waveform samples; and
means for instructing the machine to generate tone waveform samples corresponding to the real-time performance and automatic performance by, at regular sampling intervals, reading out from the memory said first and second tone waveform samples corresponding to each same said block period.
15. A computer system for generating a tone waveform based on automatic performance information, said computer system comprising:
a memory device that stores a plurality of programs; and
a processor device that executes a waveform generating process including a waveform calculating process for calculating tone waveform samples based on a predetermined one of said programs, and one or more other processes based on other of said programs in a parallel manner on a time-divisional basis,
wherein said processor device predetermined one of said programs includes the steps of:
means for detecting an available time portion in which said processor device is not currently occupied by the other process, as available processing capability for the waveform calculating process;
means for calculating a plurality of tone waveform samples based on the performance information in advance of predetermined generation timing thereof by executing the waveform calculating process using said available processing capability detected by said means forstep of detecting;
means for storing the calculated tone waveform samples in a memory; and
means for generating a tone waveform by reading out the tone waveform samples from the memory.
16. A computer system for generating a tone waveform based on performance information, said computer system comprising:
a memory device that stores a plurality of programs; and
a processor device that executes a waveform generating process including a waveform calculating process for calculating tone waveform samples based on a predetermined one of said programs and one or more other processes based on other of said programs in a parallel manner on a time-division basis, the waveform calculating process being executed per predetermined constant period so as to collectively generate a plurality of tone waveform samples per execution of the waveform calculating process,
wherein said processor device predetermined one of said programs includes the steps of:
means for detecting an amount of calculation time necessary for said other process, when the waveform calculating process is to be executed; and
means for calculating tone waveform samples by selectively executing the waveform calculating process that involves a variable calculation amount which depends on said amount of calculation necessary for said other process detected by said means for detecting.
17. A computer system for generating tone waveforms corresponding to first performance information based on a real-time performance and second performance information based on an automatic performance, which executes a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said computer system waveform calculating process comprising the steps of:
means for calculating a predetermined number of first tone waveform samples for each predetermined period on the basis of said first performance information supplied in response to a real-time performance;
means for detecting a portion of processing capability of said arithmetic processing section which is not currently occupied by a process for calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
means for calculating second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said available processing capability detected by said means forstep of detecting;
means for storing in a memory said first and second tone waveform samples calculated by said means forstep of calculating; and
means for generating tone waveforms corresponding to the real-time performance and automatic performance by synchronously reading said first and second tone waveform samples from the memory.
18. A computer system for generating tone waveforms corresponding to first performance information supplied in response to a real-time performance and second performance information supplied in response to an automatic performance, which executes a waveform calculating process for calculating tone waveform samples on the basis of said first and second performance information, respectively, by use of a common arithmetic processing section, said computer system waveform calculating process comprising the steps of:
means for calculating a predetermined number of first tone waveform samples for each predetermined block period on the basis of said first performance information supplied in response to a real-time performance, said means forstep of calculating, at optionala time within first said block period, calculating said predetermined number of first tone waveform samples to be generated within second said block period following said first block period and storing the calculated first tone waveform samples in a memory, said first tone waveform samples stored in the memory being sequentially read out at regular sampling intervals in said second block period;
means for detecting a portion of processing capability of said arithmetic processing section which is not currently occupied by a process for calculating said first tone waveform samples, as available processing capability for generation of a tone waveform based on said second performance information;
means for calculating second tone waveform samples based on said second performance information in advance of predetermined generation timing thereof, using said available processing capability detected by said means forstep of detecting, said means forstep of calculating second tone waveform samples also storing in a memory the calculated second tone waveform samples; and
means for generating tone waveform samples corresponding to the real-time performance and automatic performance by, at regular sampling intervals, reading out from the memory said first and second tone waveform samples corresponding to each same said block period.
19. A method of generating a tone waveform by a processor which executes a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of performance information, said method comprising the steps of:
detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; executing the waveform value calculating process based on the performance information using the detected remaining available portion of processing capability so as to generate a given quantity of tone waveform values, wherein said given quantity corresponds to the detected remaining available portion, and storing the generated tone waveform values in a storage section; determining whether the waveform value calculating process in said step of executing is being executed in advance of given read timing; when said step of determining determines that the waveform value calculating process is not being executed in advance of the given read timing, calculating a given quantity of tone waveform values on the basis of the performance information and storing the calculated tone waveform values in the storage section; and generating a tone waveform by reading out, from the storage section, the tone waveform values at the read timing arriving at given time intervals.
20. A method of generating a tone waveform by a processor which executes a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of received performance information, said method comprising the steps of:
calculating a given quantity of tone waveform values in advance of given read timing, by executing the waveform value calculating process based on the performance information; storing the tone waveform values calculated by said calculation step in storage locations of a storage section indicated by writing location data and renewing the writing location data; generating a tone waveform by reading out, from storage locations of the storage section indicated by reading location data, the tone waveform values at the read timing arriving at given time intervals and then renewing the reading location data; and controlling, in response to a difference between said writing location data and reading location data, calculation progression of said step of calculating.
21. A method as recited in claim 20 which further comprises a step of detecting a remaining available portion of processing capability of said processor that is not currently used by the other process, and wherein said step of calculating calculates a quantity of tone waveform values corresponding to the remaining available portion detected by said step of detecting, by executing the waveform value calculating process based on the performance information using the detected remaining available portion.
22. A method as recited in claim 21 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
23. A method as recited in claim 20 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
24. A method of generating a tone waveform by a processor which executes a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of received performance information, said method comprising the steps of:
detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; calculating a given quantity of tone waveform values in advance of given read timing, by executing the waveform value calculating process based on the performance information; storing the tone waveform values calculated by said step of calculating in storage locations of a storage section indicated by writing location data and renewing the writing location data; generating a tone waveform by reading out, from storage locations of the storage section indicated by reading location data, the tone waveform values at read timing arriving at given time intervals and renewing the reading location data; further calculating a given quantity of tone waveform values, on the basis of a relationship between said reading location data and said writing location data, by executing the waveform value calculating process based on the performance information; and further storing the tone waveform values calculated by said step of further calculating in storage locations of the storage section corresponding to the writing location data and renewing the writing location data.
25. A method as recited in claim 24 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
26. A tone waveform synthesizing apparatus comprising:
a storage adapted to temporarily store a plurality of tone waveform samples, said storage permitting the writing and reading, independently of each other, in a parallel fashion, said storage further storing a waveform forming program; and a processor coupled to said storage and adapted to collectively generate a plurality of tone waveform samples in advance of predetermined reproduction timing, by executing the waveform forming program stored in said storage, said processor adapted to control writing of the generated tone waveform samples into said storage and reading out the tone waveform samples from said storage at said reproduction timing, the writing and reading into and from said storage being controlled independently of each other and also in such a manner that an advance of the writing does not outpace an advance of the reading.
27. A tone waveform synthesizing apparatus as recited in claim 26 wherein said storage permits the writing and reading, independently of each other, in accordance with separate write instruction and readout instruction signals, respectively, and
wherein said processor is adapted to control the write instruction signal so that the tone waveform samples are sequentially written into said storage from a beginning of a predetermined storage region of said storage and, upon arrival at an end of the predetermined storage region, the writing of the tone waveform samples returns to the beginning of the predetermined storage region and also that a writing location, in the storage region, indicated by the write instruction signal does not get ahead of a reading location, in the storage region, indicated by the read instruction signal.
28. A method of generating a tone waveform, said method comprising the steps of:
collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing, by a processor executing a waveform forming program; writing, into a storage, the plurality of tone waveform samples produced by said generating step, said storage being capable of writing and reading, independently of each other, in a parallel fashion; reading out the stored tone waveform samples from said storage at said reproduction timing; controlling writing and reading into and from said storage by said steps of writing and reading independently of each other and also in such manner that an advance of the writing does not outpace an advance of the reading; and outputting the tone waveform samples read by said steps of the reading.
29. A method as recited in claim 28 wherein said steps of writing and reading into and from said storage further comprise the steps of being performed, independently of each other, in accordance with separate write instruction and readout instruction signals, respectively, and
wherein said step of controlling further comprises the step of controlling the write instruction signal so that the tone waveform samples are sequentially written into said storage from a beginning of a predetermined storage region of said storage and, upon arrival at an end of the predetermined storage region, the writing of the tone waveform samples returns to the beginning of the predetermined storage region and also that a writing location, in the storage region, indicated by the write instruction signal does not get ahead of a reading location, in the storage region, indicated by the read instruction signal.
30. A method of generating a tone waveform based on performance information, using a processor executing a tone waveform forming program stored in a storage, said method comprising the steps of:
receiving automatic performance information; receiving real - time performance information generated in response to a real - time performance operation; generating tone waveform samples using said processor, said step of generating including a step of collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing on the basis of the received automatic performance information and a step of collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing on the basis of the received real - time performance information, said step of generating being capable of generating the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real - time performance information in a parallel fashion; and outputting the tone waveform samples generated by said step of generating.
31. A method as recited in claim 30 wherein said step of outputting further includes a step of mixing the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real- time performance information to thereby provide mixtures of the samples, each of the mixtures being composed of the tone waveform samples to be reproduced at a same reproduction timing, and a step of writing the mixtures into an output buffer.
32. A method as recited in claim 30 wherein said step of generating further comprises the step of performing arithmetic operations for generating the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real- time performance information, independently of each other, in such a manner that an advance of the arithmetic operations for the tone waveform samples based on the automatic performance information and an advance of the arithmetic operations for the tone waveform samples based on the real - time performance information differ from each other.
33. A method as recited in claim 32 wherein said step of generating further comprises the step of advancing arithmetic operations for the tone waveform samples based on the automatic performance information within an extent of an available processing capability taking into account a current processing capability of said processor.
34. A method of generating a tone waveform using a processor capable of executing a plurality of different programs on a time divisional basis, said method comprising the steps of:
supplying said processor with application software including at least an image control program for controlling image display, a music control program for controlling tone generation, and a general control program, said music control program including tone color data; causing said processor to execute, under control by the general control program, the image control program and the music control program in a parallel fashion, to output image data generated as a result of execution of the image control program and tone waveform data generated as a result of execution of the music control program; detecting an available time portion in which said processor is not currently used for any other process than a tone waveform generating process, as an available processing capability for the tone waveform generating process, wherein the tone waveform generating process is controlled by the music control program to generate the tone waveform data; causing said processor to execute the tone waveform generating process based on the music control program, using the available processing capability detected by said step of detecting; and outputting the tone waveform generated by the waveform generating process.
35. A method as recited in claim 34 wherein the supplying step further comprises the step of including in the music control program, within the tone color data, waveform data pertaining to at least one given tone color.
36. A method as recited in claim 34 wherein the supplying step further comprises the step of including within the music control program a tone waveform generating program for generating tone waveform samples on the basis of performance information.
37. A method as recited in claim 34 wherein the supplying step further comprises the step of including, with the application software, software directed to at least one of a karaoke and a game.
38. A method as recited in claim 34 wherein the supplying step further comprises the step of supplying the application software to said processor via a communication network.
39. A method as recited in claim 34 wherein the supplying step further comprises the step of supplying the application software to said processor by setting, in said processor, a transportable medium storing the application software.
40. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform, said method comprising the steps of: collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing; writing, into a storage, the plurality of tone waveform samples produced by said generating step, said storage being capable of writing and reading, independently of each other, in a parallel fashion; reading out the stored tone waveform samples from said storage at said reproduction timing; controlling writing and reading into and from said storage by said steps of writing and reading independently of each other and also in such a manner that an advance of the writing does not outpace an advance of the reading; and outputting the tone waveform samples read by said step of the reading.
41. The medium as recited in claim 40 wherein said steps of writing and reading into and from said storage further comprise the steps of being performed, independently of each other, in accordance with separate write instruction and readout instruction signals, respectively, and
wherein said step of controlling further comprises the step of controlling the write instruction signal so that the tone waveform samples are sequentially written into said storage from a beginning of a predetermined storage region of said storage and, upon arrival at an end of the predetermined storage region, the writing of the tone waveform samples returns to the beginning of the predetermined storage region and also that a writing location, in the storage region, indicated by the write instruction signal does not get ahead of a reading location, in the storage region, indicated by the read instruction signal.
42. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform by executing a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of performance information, said method comprising the steps of: detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; executing the waveform value calculating process based on the performance information using the detected remaining available portion of processing capability so as to generate a given quantity of tone waveform values, wherein said given quantity corresponds to the detected remaining available portion, and storing the generated tone waveform values in a storage section; determining whether the waveform value calculating process in said step of executing is being executed in advance of given read timing; when said step of determining determines that the waveform value calculating process is not being executed in advance of the given read timing, calculating a given quantity of tone waveform values on the basis of the performance information and storing the calculated tone waveform values in the storage section; and generating a tone waveform by reading out, from the storage section, the tone waveform values at the read timing arriving at given time intervals.
43. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform by executing a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of received performance information, said method comprising the steps of: calculating a given quantity of tone waveform values in advance of given read timing, by executing the waveform value calculating process based on the performance information; storing the tone waveform values calculated by said calculation step in storage locations of a storage section indicated by writing location data and renewing the writing location data; generating a tone waveform by reading out, from storage locations of the storage section indicated by reading location data, the tone waveform values at the read timing arriving at given time intervals and then renewing the reading location data; and controlling, in response to a difference between said writing location data and reading location data, calculation progression of said step of calculating.
44. A medium as recited in claim 43 which further comprises a step of detecting a remaining available portion of processing capability of said processor that is not currently used by the other process, and wherein said step of calculating calculates a quantity of tone waveform values corresponding to the remaining available portion detected by said step of detecting, by executing the waveform value calculating process based on the performance information using the detected remaining available portion.
45. A medium as recited in claim 44 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
46. A medium as recited in claim 43 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
47. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform by executing a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of received performance information, said method comprising the steps of: detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; calculating a given quality of tone waveform values in advance of given read timing, by executing the waveform value calculating process based on the performance information; storing the tone waveform values calculated by said step of calculating in storage locations of a storage section indicated by writing location data and reviewing the writing location data; generating a tone waveform by reading out, from storage locations of the storage section indicated by reading location data, the tone waveform values at read timing arriving at given time intervals and renewing the reading location data; further calculating a given quantity of tone waveform values, on the basis of a relationship between said reading location data and said writing location data, by executing the waveform value calculating process based on the performance information; and further storing the tone waveform values calculated by said step of further calculating in storage locations of the storage section corresponding to the writing location data and renewing the writing location data.
48. A method as recited in claim 47 wherein said storing step further comprises the step of providing a ring buffer for said storage section.
49. A tone waveform generating apparatus comprising:
a processor; storage coupled to said processor and adapted to store tone waveform values; a program memory storing instructions executable by said processor for causing said apparatus to generate tone waveforms by executing a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of performance information, said program memory comprising the steps of: detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; executing the waveform value calculating process based on the performance information using the detected remaining available portion of processing capability so as to generate a given quantity of tone waveform values, wherein said given quantity corresponds to the detected remaining available portion, and storing the generated tone waveform values in said storage; determining whether the waveform value calculating process in said step of executing is being executed in advance of given read timing, when said step of determining determines that the waveform value calculating process is not being executed in advance of the given read timing, calculating a given quantity of tone waveform values on the basis of the performance information and storing the calculated tone waveform values in said storage; and generating a tone waveform by reading out, from said storage, the tone waveform values at the read timing arriving at given time intervals.
50. A tone waveform generating apparatus comprising:
a processor; storage coupled to said processor and adapted to store a plurality of tone waveform samples; and a program memory storing instructions executable by said processor for causing said apparatus to generate tone waveforms by executing a waveform value calculating process, in parallel with another process, for calculating a tone waveform value for each sampling timing on the basis of received performance information, said program memory comprising the steps of: calculating a given quantity of tone waveform values in advance of given read timing, by executing a waveform value calculating process based on performance information; storing the tone waveform values calculated by said calculation step in storage locations of said storage indicated by writing location data and renewing the writing location data; generating a tone waveform by reading out, from storage locations of said storage indicated by reading locations data, the tone waveform values at the read timing arriving at given time intervals and then renewing the reading location data; and controlling, in response to a difference between said writing location data and reading location data, calculation progression of said step of calculating.
51. An apparatus as recited in claim 50 wherein said program memory further comprises the step of detecting a remaining available portion of processing capability of said processor that is not currently used by the other process, and wherein said step of calculating calculates a quantity of tone waveform values corresponding to the remaining available portion detected by said step of detecting, by executing the waveform value calculating process based on the performance information using the detected remaining available portion.
52. An apparatus as recited in claim 51 wherein said storage further comprises a ring buffer.
53. A method as recited in claim 50 wherein said storage further comprises a ring buffer.
54. A tone waveform generating apparatus comprising:
a processor; storage coupled to said processor and adapted to store data; a program memory storing instructions executable by said processor for causing said apparatus to generate tone waveforms by executing a waveform value calculating process, in parallel with another process, to calculate a tone waveform value for each sampling timing on the basis of received performance information, said program memory comprising the steps of: detecting a remaining available portion of processing capability of said processor that is not currently used by the other process; calculating a given quantity of tone waveform values in advance of given read timing, by executing the waveform value calculating process based on the performance information; storing the tone waveform values calculated by said step of calculating in storage locations of said storage indicated by writing location data and renewing the writing location data; generating a tone waveform by reading out, from storage locations of said storage indicated by reading location data, the tone waveform values at read timing arriving at given time intervals and renewing the reading location data; further calculating a given quantity of tone waveform values, on the basis of a relationship between said reading location data and said writing location data, by executing the waveform value calculating process based on the performance information; and further storing the tone waveform values calculated by said step of further calculating in storage locations of said storage corresponding to the writing location data and renewing the writing location data.
55. An apparatus as recited in claim 54 wherein said storage further comprises a ring buffer.
56. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform based on performance information, said method comprising the steps of: receiving automatic performance information; receiving real - time performance information generated in response to a real - time performance operation; generating tone waveform samples using said processor, said step of generating including a step of collectively generating a plurality of toe waveform samples in advance of predetermined reproduction timing on the basis of the received automatic performance information and a step of collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing on the basis of the received real - time performance information, said step of generating being capable of generating the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real - time performance information in a parallel fashion; and outputting the tone waveform samples generated by said step of generating.
57. A medium as recited in claim 56 wherein said step of outputting further includes a step of mixing the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real- time performance information to thereby provide mixtures of the samples, each of the mixtures being composed of the tone waveform samples to be reproduced at a same reproduction timing, and a step of writing the mixtures into an output buffer.
58. A medium as recited in claim 56 wherein said step of generating further comprises the step of performing arithmetic operations for generating the tone waveform samples based on the performance information and the tone waveform samples based on the real- time performance information, independently of each other, in such a manner that an advance of the arithmetic operations for the tone waveform samples based on the performance information and an advance of the arithmetic operations for the tone waveform samples based on the real - time performance information differ from each other.
59. A medium as recited in claim 58 wherein said step of generating further comprises the step of advancing arithmetic operations for the tone waveform samples based on the performance information within an extent of an available processing capability taking into account a current processing capability of said processor.
60. A machine- readable medium for use in an apparatus having a processor, said medium including instructions executable by said processor for causing said apparatus to perform a method of generating a tone waveform by executing a plurality of different programs on the time divisional basis, said method comprising the step of: supplying said processor with application software including at least an image control program for controlling image display, a music control program for controlling tone generation, and a general control program, said music control program including tone color data; causing said processor to execute, under control by the general control program, the image control program and the music control program in a parallel fashion, to output image data generated as a result of execution of the image control program and tone waveform data generated as a result of execution of the music control program; detecting an available time portion in which said processor is not currently used for any other process than a tone waveform generating process, as an available processing capability for the tone waveform generating process; and causing said processor to execute the tone waveform generating process based on the music control program, using the available processing capability detected by said step of detecting.
61. A medium as recited in claim 60 wherein the supplying step further comprises the step of including in the music control program, within the tone color data, waveform data pertaining to at least one given tone color.
62. A medium as recited in claim 60 wherein the supplying step further comprises the step of including within the music control program a tone waveform generating program for generating tone waveform samples on the basis of performance information.
63. A medium as recited in claim 60 wherein the supplying step further comprises the step of including, with the application software, software directed to at least one of a karaoke and a game.
64. A medium as recited in claim 60 wherein the supplying step further comprises the step of supplying the application software to said processor via a communication network.
65. A medium as recited in claim 60 wherein the supplying step further comprises the step of supplying the application software to said processor by setting, in said processor, a transportable medium storing the application software.
66. A tone waveform generating apparatus comprising:
storage adapted to receive automatic performance information and to receive real - time performance information generated in response to a real - time performance operation; and a processor coupled to said storage and adapted to execute a tone waveform forming program stored in said storage, said processor generating tone waveform samples by collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing on the basis of the automatic performance information and by collectively generating a plurality of tone waveform samples in advance of predetermined reproduction timing on the basis of the real - time performance information, said processor further generating the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real - time performance information in a parallel fashion and outputting the generated tone waveform samples.
67. An apparatus as recited in claim 66 wherein said processor further mixes the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real- time performance information to thereby provide mixtures of the samples, each of the mixtures being composed of the tone waveform samples to be reproduced at a same reproduction timing, said processor further writing the mixtures into an output buffer.
68. An apparatus as recited in claim 66 wherein said processor further performs arithmetic operations to generate the tone waveform samples based on the automatic performance information and the tone waveform samples based on the real- time performance information, independently of each other, in such a manner that an advance of the arithmetic operations for the tone waveform samples based on the automatic performance information and an advance of the arithmetic operations for the tone waveform samples based on the real - time performance information differ from each other.
69. An apparatus as recited in claim 68 wherein said processor further advances arithmetic operations for the tone waveform samples based on the automatic performance information within an extent of an available processing capability taking into account a current processing capability of said processor.
70. A tone waveform generating apparatus comprising:
storage adapted to storage application software including at least an image control program for controlling image display, a music control program for controlling tone generation, and a general control program, said music control program including tone color data; a processor coupled to said storage and adapted to generate a tone waveform by executing a plurality of different programs on a time divisional basis, said processor adapted to execute, under control by the general control program, the image control program and the music control program in a parallel fashion, to output image data generated as a result of execution of the image control program and tone waveform data generated as a result of execution of the music control program; and detecting an available time portion in which said processor is not currently used for any other process than a tone waveform generating process, as an available processing capability for the tone waveform generating process; and causing said processor to execute the tone waveform generating process based on the music control program, using the available processing capability detected by said step of detecting.
71. An apparatus as recited in claim 70 wherein the tone color data included in the music control program contains waveform data pertaining to at least one given tone color.
72. An apparatus as recited in claim 70 wherein the music control program includes a tone waveform generating program for generating tone waveform samples on the basis of performance information.
73. An apparatus as recited in claim 70 wherein the application software further comprises software directed to at least one of a karaoke and a game.
74. An apparatus as recited in claim 70 wherein said application software is supplied via a communication network.
75. An apparatus as recited in claim 70 wherein said application software is supplied to said processor by setting, in said processor, a transportable medium storing the application software.Join the waitlist — get patent alerts
Track USRE41297E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.