← Back to Patent Explorer
US5596159A Expired / Lapsed US ⏱️ 0.0 years remaining

Software sound synthesis system

Assignee: HEADSPACE Inc NOW KNOWN AS BEATNIK Inc
•
Filing: 1995-11-22
•
Granted: 1997-01-21
•
Expires: 2015-11-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An audio signal processing system including an input circuit for inputting musical instrument digital interface (MIDI) commands in real time over a plurality of channels, a computer including a central processing unit (CPU) supplied with the MIDI commands for simultaneously synthesizing one or more voices for each of the channels in response to the MIDI commands, each of the voices being generated by one or more of a plurality of predefined audio synthesis algorithms executed in software, a random access memory (RAM) for storing digital voice data representative of each of the voices generated by the CPU, an output circuit for audibly reproducing the voices from the digital voice data stored in the RAM, and wherein the CPU, in generating the voices selects the one or more audio synthesis algorithms based on one or more of the following criteria: the external processing demands placed upon the CPU by other operations being performed by the personal computer, a best match, according to predetermined criteria, between the type of voice required and audio synthesis algorithms available to the CPU, and the availability of wavetable voice data to be buffered into the RAM.

Inventors

  • 👤 Steven S. O'Connell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 12:57
CPC Classifications
G; G10; G10H; G10H1/00; G10H1/0033; G10H1/0041; G10H1/0058; G10H1/0066; G10H1/0075; G10H7/00; G10H7/002; G10H7/006; G10H2210/00; G10H2210/155; G10H2210/245; G10H2210/251; G10H2210/265; G10H2210/281; G10H2210/295; Y; Y10; Y10S; Y10S84/00; Y10S84/26

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 187 words
An audio signal processing system comprising: input means for inputting musical instrument digital interface (MIDI) commands in real time over a plurality of channels; personal computer means including a central processing unit (CPU) supplied with the MIDI commands for simultaneously synthesizing one or more voices for each of the channels in response to the MIDI commands, each of the voices being generated by one or more audio synthesis algorithms executed in software by the CPU; random access memory means (RAM) for storing digital voice data representative of each of the voices generated by the CPU; output means for audibly reproducing the voices from the digital voice data stored in the RAM; and wherein the CPU, in generating the voices selects the one or more audio synthesis algorithms based on one or more of the following criteria: the external processing demands placed upon the CPU by other operations being performed by the personal computer, a best match, according to predetermined criteria, between the type of voice required and audio synthesis algorithms available to the CPU, and the availability of wavetable voice data to be buffered into the RAM.
Claim 2
Dependent Claim 187 words
An audio signal processing system comprising: input means for inputting musical instrument digital interface (MIDI) commands in real time over a plurality of channels; personal computer means including a central processing unit (CPU) supplied with the MIDI commands for simultaneously synthesizing one or more voices for each of the channels in response to the MIDI commands, each of the voices being generated by one or more audio synthesis algorithms executed in software by the CPU; random access memory means (RAM) for storing digital voice data representative of each of the voices generated by the CPU; output means for audibly reproducing the voices from the digital voice data stored in the RAM; and wherein the CPU, in generating the voices selects the one or more audio synthesis algorithms based on one or more of the following criteria: the external processing demands placed upon the CPU by other operations being performed by the personal computer, a best match, according to predetermined criteria, between the type of voice required and audio synthesis algorithms available to the CPU, and the availability of wavetable voice data to be buffered into the RAM.
Claim 3
Dependent Claim 34 words
An audio signal processing system according to claim 1, further wherein the one or more audio synthesis algorithms include a wavetable algorithm, a frequency modulation algorithm, an analog algorithm, and a physical model algorithm.
Claim 4
Dependent Claim 38 words
An audio signal processing system according to claim 1, further wherein the CPU, in generating the voices further processes the digital voice data by special effects processing, including one or more of reverberation, spatialization, equalization, and chorusing processing.
Claim 5
Dependent Claim 49 words
An audio signal processing system according to claim 1, wherein: the CPU, in generating the voices, selectively diminishes the complexity of the processing of a selected audio synthesis algorithm as the processing time available to the CPU diminishes due to processing demands of other operations being performed by it.
Claim 6
Dependent Claim 33 words
An audio signal processing system according to claim 4, wherein: the CPU selects the audio synthesis algorithm whose processing complexity is to be diminished based on the type of voice to be generated.
Claim 7
Dependent Claim 204 words
An audio signal processing system comprising: input means for inputting musical instrument digital interface (MIDI) commands in real time over a plurality of channels; computer means including a central processing unit (CPU) supplied with the MIDI commands for simultaneously synthesizing one or more voices for each of the channels in response to the MIDI commands, each of the voices being generated by one or more of a plurality of predefined audio synthesis algorithms, including a wavetable algorithm, a frequency modulation algorithm, an analog algorithm, and a physical model algorithm executed in software; random access memory means (RAM) for storing digital voice data representative of each of the voices generated by the CPU; output means for audibly reproducing the voices from the digital voice data stored in the RAM; and wherein the CPU, in generating the voices selects the one or more audio synthesis algorithms based on one or more of the following criteria: the external processing demands placed upon the CPU by other operations being performed by the personal computer, a best match, according to predetermined criteria, between the type of voice required and audio synthesis algorithms available to the CPU, and the availability of wavetable voice data to be buffered into the RAM.
Claim 8
Dependent Claim 204 words
An audio signal processing system comprising: input means for inputting musical instrument digital interface (MIDI) commands in real time over a plurality of channels; computer means including a central processing unit (CPU) supplied with the MIDI commands for simultaneously synthesizing one or more voices for each of the channels in response to the MIDI commands, each of the voices being generated by one or more of a plurality of predefined audio synthesis algorithms, including a wavetable algorithm, a frequency modulation algorithm, an analog algorithm, and a physical model algorithm executed in software; random access memory means (RAM) for storing digital voice data representative of each of the voices generated by the CPU; output means for audibly reproducing the voices from the digital voice data stored in the RAM; and wherein the CPU, in generating the voices selects the one or more audio synthesis algorithms based on one or more of the following criteria: the external processing demands placed upon the CPU by other operations being performed by the personal computer, a best match, according to predetermined criteria, between the type of voice required and audio synthesis algorithms available to the CPU, and the availability of wavetable voice data to be buffered into the RAM.
Claim 9
Dependent Claim 49 words
An audio signal processing system according to claim 6, wherein: the CPU, in generating the voices, selectively diminishes the complexity of the processing of a selected audio synthesis algorithm as the processing time available to the CPU diminishes due to processing demands of other operations being performed by it.
Claim 10
Dependent Claim 33 words
An audio signal processing system according to claim 7, wherein: the CPU selects the audio synthesis algorithm whose processing complexity is to be diminished based on the type of voice to be generated.
Claim 11
Dependent Claim 38 words
An audio signal processing system according to claim 6, further wherein the CPU, in generating the voices further processes the digital voice data by special effects processing, including one or more of reverberation, spatialization, equalization, and chorusing processing.
Claim 12
Dependent Claim 334 words
A programmed computer for synthesizing musical sounds in response to the input of real time commands comprising: a hard disk drive (HDD) for storing a musical instrument synthesis program including a plurality of musical synthesis algorithms and waveform data; a random access memory (RAM); a coder/decoder (CODEC); audio sound reproduction means; a central processor (CPU) for the personal computer for controlling the RAM, the HDD, the CODEC, and the audio reproduction means, wherein the CPU is programmed to: (a) load the musical instrument synthesis program into RAM from the HDD along with object data for synthesizing a predetermined grouping of instruments after first determining the memory requirements of the object data and purging RAM of previously stored object data according to a predetermined priority scheme; (b) receive and store in RAM musical instrument digital interface (MIDI) commands in real time over a plurality of channels; (c) process the MIDI commands to generate a linked list of musical synthesis data objects in a buffer memory; (d) calculate instrument voices using the linked list of musical synthesis data objects and generate, by means of musical instrument synthesis algorithms specified by the linked list of data objects, digital voice data and storing the digital voice data in a main buffer memory; (e) supply the digital voice data from the main buffer memory through the CODEC to the audio sound reproduction means to audibly produce musical instrument sounds; and (f) monitor the amount of time spent by the CPU in performing operations (c), (d), and (e) and determine the amount of monitored time as a percentage of the amount of processing time available to the CPU for performing all of its functions, and, if the percentage exceeds a predetermined amount, modify the operations (c) and (d) to require less CPU processing time by doing one or more of the following: using different synthesis algorithms, diminishing the complexity of the processing of a selected synthesis algorithm, processing fewer instrument voices for each MIDI channel, or deleting some instrument voices.
Claim 13
Dependent Claim 334 words
A programmed computer for synthesizing musical sounds in response to the input of real time commands comprising: a hard disk drive (HDD) for storing a musical instrument synthesis program including a plurality of musical synthesis algorithms and waveform data; a random access memory (RAM); a coder/decoder (CODEC); audio sound reproduction means; a central processor (CPU) for the personal computer for controlling the RAM, the HDD, the CODEC, and the audio reproduction means, wherein the CPU is programmed to: (a) load the musical instrument synthesis program into RAM from the HDD along with object data for synthesizing a predetermined grouping of instruments after first determining the memory requirements of the object data and purging RAM of previously stored object data according to a predetermined priority scheme; (b) receive and store in RAM musical instrument digital interface (MIDI) commands in real time over a plurality of channels; (c) process the MIDI commands to generate a linked list of musical synthesis data objects in a buffer memory; (d) calculate instrument voices using the linked list of musical synthesis data objects and generate, by means of musical instrument synthesis algorithms specified by the linked list of data objects, digital voice data and storing the digital voice data in a main buffer memory; (e) supply the digital voice data from the main buffer memory through the CODEC to the audio sound reproduction means to audibly produce musical instrument sounds; and (f) monitor the amount of time spent by the CPU in performing operations (c), (d), and (e) and determine the amount of monitored time as a percentage of the amount of processing time available to the CPU for performing all of its functions, and, if the percentage exceeds a predetermined amount, modify the operations (c) and (d) to require less CPU processing time by doing one or more of the following: using different synthesis algorithms, diminishing the complexity of the processing of a selected synthesis algorithm, processing fewer instrument voices for each MIDI channel, or deleting some instrument voices.
Claim 14
Dependent Claim 31 words
A programmed computer for synthesizing musical sounds according to claim 10, wherein the synthesis algorithms include a wavetable algorithm, a frequency modulation algorithm, an analog algorithm, and a physical model algorithm.
Claim 15
Independent Claim 329 words
A method for synthesizing musical sounds in response to the input of real time commands using a personal computer comprising the steps of: (a) storing in a hard disk drive (HDD) a musical instrument synthesis program including a plurality of synthesis algorithms and waveform data; (b) controlling with a central processor (CPU) for the personal computer a random access memory (RAM), the HDD, a coder/decoder (CODEC), and an audio reproduction circuit; (c) loading the musical instrument synthesis program into RAM from the HDD along with object data for synthesizing a predetermined grouping of instruments after first determining the memory requirements of the object data and purging RAM of previously stored object data according to a predetermined scheme; (d) receiving and storing in RAM musical instrument digital interface (MIDI) commands in real time over a plurality of channels; (e) processing the MIDI commands in the CPU to generate a linked list of synthesis data objects in a buffer memory; (f) calculating in the CPU instrument voices using the linked list of synthesis data objects and generating, by means of the synthesis algorithms specified by the linked list of data objects, digital voice data and storing the digital voice data in a main buffer memory; (g) supplying the digital voice data from the main buffer memory through the CODEC to the audio sound reproduction circuit to audibly produce musical instrument sounds; and (h) monitoring the amount of time spent by the CPU in performing operations (e), (f), and (g) and determining the amount of monitored time as a percentage of the amount of processing time available to the CPU for performing all of its functions, and, if the percentage exceeds a predetermined amount, modifying the operations (e) and (f) to require less CPU processing time by doing one or more of the following: using different synthesis algorithms, diminishing the complexity of the processing of a selected synthesis algorithm, processing fewer instrument voices for each MIDI channel, or deleting some instrument voices.
Claim 16
Independent Claim 329 words
A method for synthesizing musical sounds in response to the input of real time commands using a personal computer comprising the steps of: (a) storing in a hard disk drive (HDD) a musical instrument synthesis program including a plurality of synthesis algorithms and waveform data; (b) controlling with a central processor (CPU) for the personal computer a random access memory (RAM), the HDD, a coder/decoder (CODEC), and an audio reproduction circuit; (c) loading the musical instrument synthesis program into RAM from the HDD along with object data for synthesizing a predetermined grouping of instruments after first determining the memory requirements of the object data and purging RAM of previously stored object data according to a predetermined scheme; (d) receiving and storing in RAM musical instrument digital interface (MIDI) commands in real time over a plurality of channels; (e) processing the MIDI commands in the CPU to generate a linked list of synthesis data objects in a buffer memory; (f) calculating in the CPU instrument voices using the linked list of synthesis data objects and generating, by means of the synthesis algorithms specified by the linked list of data objects, digital voice data and storing the digital voice data in a main buffer memory; (g) supplying the digital voice data from the main buffer memory through the CODEC to the audio sound reproduction circuit to audibly produce musical instrument sounds; and (h) monitoring the amount of time spent by the CPU in performing operations (e), (f), and (g) and determining the amount of monitored time as a percentage of the amount of processing time available to the CPU for performing all of its functions, and, if the percentage exceeds a predetermined amount, modifying the operations (e) and (f) to require less CPU processing time by doing one or more of the following: using different synthesis algorithms, diminishing the complexity of the processing of a selected synthesis algorithm, processing fewer instrument voices for each MIDI channel, or deleting some instrument voices.
Claim 17
Dependent Claim 30 words
A method for synthesizing musical sounds according to claim 12, wherein the synthesis algorithms include a wavetable algorithm, a frequency modulation algorithm, an analog algorithm, and a physical model algorithm.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-01-21 2000-07-22 2001-01-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-01-21 2004-07-22 2005-01-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-01-21 2008-07-22 2009-01-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag