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

Audio I/O instruction interpretation for audio card

Assignee: International Business Machines Corp
•
Filing: 1995-06-07
•
Granted: 1996-05-07
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for handling audio input/output data translates audio message in a first format from an audio application resident in a virtual machine to an audio voice in a second format which may have no exact match for the original audio message. The invention is used for audio applications which directly write to a particular hardware register of a particular audio card to communicate with an audio card which operates according to completely different principles. The translating program intercepts the audio message written in the first format including a first plurality of audio parameters, compares the audio parameters to those corresponding to a table of audio voices and selects the audio voice which corresponds to a match of the audio parameters in the audio message. If there is no exact match in the table, a variety of techniques are provided to calculate the closest or at least an acceptable audio voice for the original audio message. In one preferred embodiment, the audio parameters are a plurality of FM synthesis parameters and the audio voices are a set of generalized MIDI voices.

Inventors

  • 👤 John Deacon
  • 👤 Ron Lisle
  • 👤 Bridget Ritthaler

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 21:33
CPC Classifications
G; G10; G10H; G10H1/00; G10H1/0033; G10H1/0041; G10H1/0058; G10H1/0066; G10H1/0075; G10H2230/00; G10H2230/045; G10H2230/065; G10H2230/071; G10H2230/075; G10H2230/081; G10H2230/085; G10H2230/095; G10H2230/101; G10H2230/105; G10H2230/115; G10H2230/125; G10H2230/151; G10H2230/155; G10H2230/161; G10H2230/165; G10H2230/171; G10H2230/175; G10H2230/185; G10H2230/191; G10H2230/195; G10H2230/201; G10H2230/205; G10H2230/215; G10H2230/221; G10H2230/225; G10H2230/231; G10H2230/235; G10H2230/241; G10H2230/251; G10H2230/255; G10H2250/00; G10H2250/315; G10H2250/365

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 104 words
A method for using I/O instructions from an audio application resident in a memory of a computer system intended for registers of a first type of audio card to interact with a second type of audio card, comprising the steps of: intercepting a first I/O instruction from the audio application; determining by table lookup an audio voice which corresponds to data in the first I/O instruction; and transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction.
Claim 2
Independent Claim 104 words
A method for using I/O instructions from an audio application resident in a memory of a computer system intended for registers of a first type of audio card to interact with a second type of audio card, comprising the steps of: intercepting a first I/O instruction from the audio application; determining by table lookup an audio voice which corresponds to data in the first I/O instruction; and transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction.
Claim 3
Dependent Claim 86 words
The method as recited in claim 1 which further comprises the steps of: responsive to an absence of a corresponding audio voice, calculating a weighted average of the data in the first I/O instruction and selecting an audio voice as a closest match having a value closest to the weighted average; and, transmitting audio data corresponding to the audio voice which is the closest match to the second type of audio card coupled to the computer system and an expected I/O instruction to the audio application.
Claim 4
Dependent Claim 100 words
The method as recited in claim 2 which further comprises the steps of: determining whether a value of a first audio parameter corresponding to each audio voice matches a value of the first audio parameter in the first I/O instruction where there is a single value for the first audio parameter for each audio voice; and, discarding any audio voice as a contender for the closest match whose first audio parameter value does not match the first audio parameter value of the first I/O instruction where there is a single value for the first audio parameter for each audio voice.
Claim 5
Dependent Claim 88 words
The method as recited in claim 2 wherein the data in the first I/O instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters, and the method further comprises the steps of: determining a difference between a first audio parameter in the first I/O instruction and the value for the first audio parameter corresponding to the audio voice which is the closest match; and, altering the audio data according to the difference.
Claim 6
Dependent Claim 100 words
The method as recited in claim 2 wherein the data in the first I/0 instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters and the method further comprises the step of: if a weighted average of the values of the set of parameters for the closest match exceeds a predetermined difference from the weighted average of the first I/O instruction, selecting the audio voice whose value for a first audio parameter matches the value of the first parameter in the first I/O instruction.
Claim 7
Dependent Claim 42 words
The method as recited in claim 1 which further comprises the steps of: determining which register of the first type of audio card the I/O instruction was intended; and sending the I/O instruction to a transformation module which corresponds to the register.
Claim 8
Dependent Claim 48 words
The method as recited in claim 1 which further comprises the steps of: finding a requested sample rate in the first I/O instruction; and in the absence of the requested sample rate in the second type of audio card, sending the closest available rate in the audio data.
Claim 9
Dependent Claim 42 words
The method as recited in claim 1 which further comprises the steps of: maintaining the audio application in a virtual machine in an operating system; and, wherein intercepting the I/O instruction from the audio application is accomplished with a virtual device driver.
Claim 10
Dependent Claim 22 words
The method as recited in claim 1 wherein the data in the first I/O instruction comprise a plurality of FM synthesis parameters.
Claim 11
Dependent Claim 51 words
The method as recited in claim 1 wherein I/O instructions from a second audio application resident in the memory of the computer system intended for a third type of audio card are used to interact with the second type of audio card concurrently with I/O instructions from the first audio application.
Claim 12
Independent Claim 188 words
A system for using I/O instructions from an audio application to a second format intended for registers of a first type of audio card to interact with a second type of audio card, comprising: a memory for storing sets of instructions for performing computer functions, the sets of instructions including the audio application and a translating program; a processor coupled to the memory for carrying out the sets of instructions; an audio card coupled to the processor for performing audio functions according to an I/O instruction from the audio application; the translating program comprising: means for intercepting a first I/O instruction written in the first format including a first plurality of audio parameters from the audio application; means for determining an audio voice which corresponds to data in the first I/O instruction; means for transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction the means being activated when the translating program is resident in memory and activated by the processor.
Claim 13
Independent Claim 188 words
A system for using I/O instructions from an audio application to a second format intended for registers of a first type of audio card to interact with a second type of audio card, comprising: a memory for storing sets of instructions for performing computer functions, the sets of instructions including the audio application and a translating program; a processor coupled to the memory for carrying out the sets of instructions; an audio card coupled to the processor for performing audio functions according to an I/O instruction from the audio application; the translating program comprising: means for intercepting a first I/O instruction written in the first format including a first plurality of audio parameters from the audio application; means for determining an audio voice which corresponds to data in the first I/O instruction; means for transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction the means being activated when the translating program is resident in memory and activated by the processor.
Claim 14
Dependent Claim 86 words
The system as recited in claim 11 further comprising: means responsive to an absence of a corresponding audio voice for calculating a weighted average of the data in the first I/O instruction and selecting an audio voice as a closest match having a value closest to the weighted average; and, means for transmitting audio data corresponding to the audio voice which is the closest match to the second type of audio card coupled to the computer system and an expected I/O instruction to the audio application.
Claim 15
Dependent Claim 93 words
The system as recited in claim 12 further comprising: means for determining whether a value of a first audio parameter in each selected set corresponding to each audio voice matches a value of the first audio parameter in the first I/O instruction where there is a single value for the first audio parameter for each audio voice; and, means for discarding any audio voice as a contender for the closest match whose first audio parameter value does not match the first audio parameter value of the first plurality of audio parameters I/O instruction.
Claim 16
Dependent Claim 98 words
The system as recited in claim 12 wherein the data in the first I/O instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters, and the method wherein the translating program further comprises: means for determining a difference between a first audio parameter in the first plurality I/O instruction and the value for the first audio parameter in the closest set corresponding to the audio voice which is the closest match; and, means for altering the audio data according to the difference.
Claim 17
Dependent Claim 103 words
The system as recited in claim 12 wherein the data in the first I/O instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters and the method wherein the translating program further comprises: means responsive to a weighted average of the values of the set of parameters exceeding a predetermined difference from the weighted average of the first I/O instruction for the closest match for selecting the audio voice whose value for a first audio parameter matches the value of the first parameter in the first plurality.
Claim 18
Dependent Claim 33 words
The system as recited in claim 11 which further comprises: a virtual machine in an operating system in which to maintain the audio application; and, the translating program is a virtual device drive.
Claim 19
Dependent Claim 36 words
The system as recited in claim 11 wherein the audio parameters are data in the first I/O instruction comprise a plurality of FM synthesis parameters and the audio voices are a set of generalized MIDI voices.
Claim 20
Independent Claim 155 words
A system for using I/O instructions from an audio application intended for registers of a first type of audio card to interact with a second type of audio card, for use in a data processing system having a memory and a processor comprising: an audio card of the second type for performing audio functions according to an I/O instruction from the audio application; a translating program on a storage device comprising; means for intercepting a first I/O instruction from the audio application; means for determining an audio voice which corresponds to data in the first I/O instruction; and, means for transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction, the means being activated when the storage device is connected to and accessed by the data processing system.
Claim 21
Independent Claim 155 words
A system for using I/O instructions from an audio application intended for registers of a first type of audio card to interact with a second type of audio card, for use in a data processing system having a memory and a processor comprising: an audio card of the second type for performing audio functions according to an I/O instruction from the audio application; a translating program on a storage device comprising; means for intercepting a first I/O instruction from the audio application; means for determining an audio voice which corresponds to data in the first I/O instruction; and, means for transmitting audio data corresponding to the audio voice to the second type of audio card coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction, the means being activated when the storage device is connected to and accessed by the data processing system.
Claim 22
Dependent Claim 131 words
A storage device for using I/O instructions from an audio application intended for registers of a first type of audio card to interact with a second type of audio card, for use in a data processing system having a memory and a processor comprising: means for intercepting a first I/O instruction from the audio application; means for determining by table lookup an audio voice which corresponds to data in the first I/O instruction; and, means for transmitting audio data corresponding to the audio voice to the second type of audio card, coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction, the means being activated when the storage device is connected to and accessed by the data processing system.
Claim 23
Dependent Claim 131 words
A storage device for using I/O instructions from an audio application intended for registers of a first type of audio card to interact with a second type of audio card, for use in a data processing system having a memory and a processor comprising: means for intercepting a first I/O instruction from the audio application; means for determining by table lookup an audio voice which corresponds to data in the first I/O instruction; and, means for transmitting audio data corresponding to the audio voice to the second type of audio card, coupled to the computer system and a second I/O instruction to the audio application expected in response to the first I/O instruction, the means being activated when the storage device is connected to and accessed by the data processing system.
Claim 24
Dependent Claim 94 words
The device as recited in claim 19 which further comprises: means responsive to an absence of a corresponding audio voice of calculating a first output value of a function using the data in the first I/O instruction as inputs and selecting an audio voice as a closest match having a value closest to the first output value; and, means for transmitting audio data corresponding to the audio voice which is the closest match to the second type of audio card coupled to the computer system and an expected I/O instruction to the audio application.
Claim 25
Dependent Claim 86 words
The device as recited in claim 20 which further comprises: means for determining whether a value of a first audio parameter corresponding to each audio voice matches a value of the first audio parameter in the first I/O instruction where there is a single value for the first audio parameter for each audio voice; and, means for discarding any audio voice as a contender for the closest match whose first audio parameter value does not match the first audio parameter value of the first I/O instruction.
Claim 26
Dependent Claim 92 words
The device as recited in claim 20 wherein the data in the first I/O instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters, and the method further comprises: means for determining a difference between the value for a first audio parameter in the first I/O instruction and the value for the first audio parameter corresponding to the audio voice which is the closest match; and, means for altering the audio data according to the difference.
Claim 27
Dependent Claim 99 words
The device as recited in claim 20 wherein the data in the first I/O instruction is a plurality of values for a set of parameters and each audio voice corresponds to a plurality of values for the set of parameters and the method further comprises: means responsive to the determination that a weighted average of the values of the set of parameters exceeds a predetermined difference from the first I/O instruction for the closest match for selecting the audio voice whose value for a first audio parameter matches the value of the first parameter in the first I/O instruction.
Claim 28
Dependent Claim 33 words
The device as recited in claim 19 wherein the data in the first I/O instruction comprise a plurality of FM synthesis parameters and the audio voices are a set of generalized MIDI voices.

References Cited (Backward Citations)

US4402243A Cited
US4422362A Cited
US4974151A Cited
US4680796A Cited
US4777857A Cited
US4942551A Cited
US5208745A Cited
US5074183A Cited
US5121667A Cited
US5129036A Cited
EP0484043A2 Cited
US5119711A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-05-07 1999-11-06 2000-05-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-05-07 2003-11-06 2004-05-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-05-07 2007-11-06 2008-05-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag