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

Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory which minimizes audio infidelity due to wavetable data access latency

Assignee: Microsemi Semiconductor US Inc
•
Filing: 1996-03-25
•
Granted: 1997-11-18
•
Expires: 2016-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system and method for performing wavetable music synthesis which uses system memory to store wavetable data and minimizes audio infidelity introduced by wavetable data access latency. The system comprises a system memory which stores wavetable data, an I/O bus coupled to the system memory, and a system audio device. The system audio device comprises an I/O bus interface coupled to the I/O bus, a synthesizer which generates sounds in response to the wavetable data, a plurality of buffers coupled to the I/O bus interface and to the synthesizer for buffering the wavetable data from the system memory, and a buffer manager coupled to the I/O bus interface, the synthesizer, and the plurality of buffers. The buffer manager manages transfers of the wavetable data from the system memory to the buffers and from the buffers to the synthesizer. The synthesizer generates a request to the buffer manager for wavetable data samples. If the samples do not reside in the buffers and the buffer manager is unable to retrieve the samples from the system memory within a desired frame time, the synthesizer outputs surrogate values until the samples become available. The synthesizer calculates the surrogate values so as to avoid producing audible artifacts in the sound generated by the synthesizer. The synthesizer calculates the surrogate values according to one of two methods. The first method is to simply output the last valid value calculated by the synthesizer. The second method is to ramp the value toward zero at a rate defined as the fastest rate which does not produce audible artifacts.

Inventors

  • 👤 Dale E. Gulick

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 16:26
CPC Classifications
G; G10; G10H; G10H7/00; G10H7/02; G10H7/002; G10H7/004; G10H2240/00; G10H2240/171; G10H2240/201; G10H2240/275

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 134 words
A computer system for performing wavetable music synthesis comprising: a system memory, said system memory storing wavetable data; an I/O bus coupled to said system memory; and a system audio device comprising: an I/O bus interface coupled to said I/O bus; and a synthesizer coupled to said I/O bus interface, wherein said synthesizer generates a request to said I/O bus interface for one or more wavetable data samples, wherein said synthesizer generates sounds in response to said one or more wavetable data samples; wherein if said system audio device is unable to retrieve said one or more wavetable data samples within a desired frame time said synthesizer outputs one or more surrogate values, wherein said synthesizer calculates said surrogate values so as to avoid producing audible artifacts in said sound generated by said synthesizer.
Claim 2
Dependent Claim 134 words
A computer system for performing wavetable music synthesis comprising: a system memory, said system memory storing wavetable data; an I/O bus coupled to said system memory; and a system audio device comprising: an I/O bus interface coupled to said I/O bus; and a synthesizer coupled to said I/O bus interface, wherein said synthesizer generates a request to said I/O bus interface for one or more wavetable data samples, wherein said synthesizer generates sounds in response to said one or more wavetable data samples; wherein if said system audio device is unable to retrieve said one or more wavetable data samples within a desired frame time said synthesizer outputs one or more surrogate values, wherein said synthesizer calculates said surrogate values so as to avoid producing audible artifacts in said sound generated by said synthesizer.
Claim 3
Dependent Claim 17 words
The system of claim 1, wherein said surrogate values are the previous value calculated by the synthesizer.
Claim 4
Dependent Claim 32 words
The system of claim 1, wherein said synthesizer calculates said surrogate values to ramp toward zero at a rate which does not produce audible artifacts in said sound generated by said synthesizer.
Claim 5
Dependent Claim 13 words
The system of claim 1 wherein said I/O bus is the PCI bus.
Claim 6
Independent Claim 130 words
A method of performing wavetable music synthesis in a system comprising a system memory storing wavetable data samples, an I/O bus, and a system audio device, said system audio device having an I/O bus interface coupled to said I/O bus, and a synthesizer coupled to said I/O bus interface, comprising: said synthesizer generating a request to said I/O bus interface for one or more wavetable data samples; determining if said one or more wavetable data samples are unavailable to said synthesizer within a desired frame time; said synthesizer calculating a surrogate value if said one or more wavetable data samples are unavailable to said synthesizer within a desired frame time, wherein said surrogate value avoids producing audible artifacts in sound generated by said synthesizer; said synthesizer outputting said surrogate value.
Claim 7
Independent Claim 130 words
A method of performing wavetable music synthesis in a system comprising a system memory storing wavetable data samples, an I/O bus, and a system audio device, said system audio device having an I/O bus interface coupled to said I/O bus, and a synthesizer coupled to said I/O bus interface, comprising: said synthesizer generating a request to said I/O bus interface for one or more wavetable data samples; determining if said one or more wavetable data samples are unavailable to said synthesizer within a desired frame time; said synthesizer calculating a surrogate value if said one or more wavetable data samples are unavailable to said synthesizer within a desired frame time, wherein said surrogate value avoids producing audible artifacts in sound generated by said synthesizer; said synthesizer outputting said surrogate value.
Claim 8
Dependent Claim 31 words
The method of claim 5, wherein said synthesizer calculating a surrogate value comprises said synthesizer calculating said surrogate value to be the value calculated by the synthesizer for the previous frame.
Claim 9
Dependent Claim 36 words
The method of claim 5, wherein said synthesizer calculating a surrogate value comprises said synthesizer calculating said surrogate value to be the value which ramps toward zero at a rate which does not produce audible artifacts.
Claim 10
Dependent Claim 199 words
A computer system for performing wavetable music synthesis comprising: a system memory, said system memory storing wavetable data; an I/O bus coupled to said system memory; and a system audio device comprising: an I/O bus interface coupled to said I/O bus; a synthesizer which generates sounds in response to said wavetable data; a plurality of buffers coupled to said I/O bus interface and to said synthesizer for buffering said wavetable data from said system memory; and a buffer manager coupled to said I/O bus interface, said synthesizer, and said plurality of buffers, for managing transfers of said wavetable data from said system memory to said buffers; wherein said wavetable data is transferred from said buffers to said synthesizer; wherein said synthesizer generates a request to said buffer manager for one or more wavetable data samples; wherein said one or more samples do not reside in said plurality of buffers and said buffer manager is unable to retrieve said one or more wavetable data samples within a desired frame time, wherein said synthesizer outputs one or more surrogate values, wherein said synthesizer calculates said surrogate values so as to avoid producing audible artifacts in said sound generated by said synthesizer.
Claim 11
Dependent Claim 199 words
A computer system for performing wavetable music synthesis comprising: a system memory, said system memory storing wavetable data; an I/O bus coupled to said system memory; and a system audio device comprising: an I/O bus interface coupled to said I/O bus; a synthesizer which generates sounds in response to said wavetable data; a plurality of buffers coupled to said I/O bus interface and to said synthesizer for buffering said wavetable data from said system memory; and a buffer manager coupled to said I/O bus interface, said synthesizer, and said plurality of buffers, for managing transfers of said wavetable data from said system memory to said buffers; wherein said wavetable data is transferred from said buffers to said synthesizer; wherein said synthesizer generates a request to said buffer manager for one or more wavetable data samples; wherein said one or more samples do not reside in said plurality of buffers and said buffer manager is unable to retrieve said one or more wavetable data samples within a desired frame time, wherein said synthesizer outputs one or more surrogate values, wherein said synthesizer calculates said surrogate values so as to avoid producing audible artifacts in said sound generated by said synthesizer.
Claim 12
Dependent Claim 17 words
The system of claim 8, wherein said surrogate values are the previous value calculated by the synthesizer.
Claim 13
Dependent Claim 32 words
The system of claim 8, wherein said synthesizer calculates said surrogate values to ramp toward zero at a rate which does not produce audible artifacts in said sound generated by said synthesizer.
Claim 14
Dependent Claim 90 words
The system of claim 8, wherein said buffer manager generates a data unavailable signal, indicating that one or more of said one or more samples do not reside in said plurality of buffers and said buffer manager is unable to retrieve said one or more wavetable data samples within a desired frame time; wherein said buffer manager asserts said data unavailable signal, wherein said synthesizer outputs said one or more said surrogate values in response to said data unavailable signal until said one or more wavetable data samples becomes available.
Claim 15
Dependent Claim 13 words
The system of claim 8, wherein said I/O bus is the PCI bus.
Claim 16
Independent Claim 188 words
A method of performing wavetable music synthesis in a system comprising a system memory storing wavetable data samples, an I/O bus, and a system audio device, said system audio device having an I/O bus interface coupled to said I/O bus, a synthesizer, a plurality of buffers coupled to said I/O bus interface and said synthesizer, and a buffer manager coupled to said I/O bus interface, said synthesizer, and said plurality of buffers, comprising: said synthesizer generating a request to said buffer manager for one or more wavetable data samples; said buffer manager determining if said one or more samples reside in said plurality of buffers; said buffer manager attempting to retrieve said one or more samples from said system memory if said buffer manager determines said one or more samples do not reside in said plurality of buffers; said synthesizer calculating a surrogate value if said buffer manager is unable to retrieve said one or more wavetable data samples from said system memory within a desired frame time, wherein said surrogate value avoids producing audible artifacts in sound generated by said synthesizer; said synthesizer outputting said surrogate value.
Claim 17
Independent Claim 188 words
A method of performing wavetable music synthesis in a system comprising a system memory storing wavetable data samples, an I/O bus, and a system audio device, said system audio device having an I/O bus interface coupled to said I/O bus, a synthesizer, a plurality of buffers coupled to said I/O bus interface and said synthesizer, and a buffer manager coupled to said I/O bus interface, said synthesizer, and said plurality of buffers, comprising: said synthesizer generating a request to said buffer manager for one or more wavetable data samples; said buffer manager determining if said one or more samples reside in said plurality of buffers; said buffer manager attempting to retrieve said one or more samples from said system memory if said buffer manager determines said one or more samples do not reside in said plurality of buffers; said synthesizer calculating a surrogate value if said buffer manager is unable to retrieve said one or more wavetable data samples from said system memory within a desired frame time, wherein said surrogate value avoids producing audible artifacts in sound generated by said synthesizer; said synthesizer outputting said surrogate value.
Claim 18
Dependent Claim 31 words
The method of claim 13, wherein said synthesizer calculating a surrogate value comprises said synthesizer calculating said surrogate value to be the value calculated by the synthesizer for the previous frame.
Claim 19
Dependent Claim 36 words
The method of claim 13, wherein said synthesizer calculating a surrogate value comprises said synthesizer calculating said surrogate value to be the value which ramps toward zero at a rate which does not produce audible artifacts.

References Cited (Backward Citations)

US5553011A Cited
US5486644A Cited
US5539145A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag