Method for paging software wavetable synthesis samples

Electrical computers and digital processing systems: memory – Address formation – Address mapping

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S202000, C711S203000, C084S603000, C084S604000, C084S605000, C084S606000, C084S607000

Reexamination Certificate

active

06195736

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates in general to audio facilities in data processing system and in particular to audio wavetable handling in data processing systems. Still more particularly, the present invention relates to a method of paging audio wavetables into a system memory for a data processing system.
2. Description of the Related Art
Audio capabilities for data processing systems can be supported in a variety of manners. One method employs musical instrument digital interface (MIDI) wavetable synthesis, which is also employed in electronic musical instruments. In the wavetable technique, pulse code modulation (PCM) or compressed data of actual sounds are used to represent the desired waveform or the tone to be generated. This digitized recording, or “sample”, of the desired tone may then be stored in a digital format in a memory, typically referred to as a wavetable. To recreate the tone, the digital waveform is retrieved from memory and converted from a digital format to an analog signal to generate the desired sound.
A PCM wavetable algorithm plays a recreated sound into a filter whose output can be modulated in a mixer according to a volume input. To conserve memory, a digitized representation of the desired sound may be looped. For such wavetables, the desired sound may then be generated for any length of time by starting at the beginning of the wavetable and, upon reaching the loop, repeatedly looping between the loop start and loop end for the desired period.
Regeneration of the desired tone from the stored digital representation is typically performed by a MIDI synthesizer, a process which controls the filter, mixer, and volume input described above. In the past, MIDI synthesizers in data processing systems employed dedicated hardware, such as an audio adapter or “sound card,” or some specialized peripheral. However, wavetable synthesis is increasingly being performed on the data processing system host processor. Several companies already offer software MIDI synthesizer products, while others have announced release plans.
Software wavetable synthesizers typically include at least three modules: an interrupt handler, a timer, and applications calls. Current commercial software wavetable synthesizers generally require a substantial amount of system memory to hold the digitized samples of each sound to be played, currently ranging from ½ to 8 megabytes of system memory. Since the system memory holding the digitized samples must be available from within the interrupt handler, such memory is typically “locked,” or retained continuously in memory while the software synthesizer is operating.
Locking wavetables into memory, as is done by current wavetable synthesizers, limits the memory resources available for other purposes while the software synthesizer is active. Also, the availability of system memory limits the number of wavetables which may be employed to generate a specific sound, and requires that the wavetables employed be small, low quality wavetables.
It would be desirable, therefore, to provide a mechanism for providing wavetables to a wavetable synthesizer with reduced system memory requirements, even with wavetables of the same quality. It would further be advantageous for the mechanism to permit the synthesizer to utilize higher quality wavetables and to utilize a very large number of wavetables without regard to wavetable size.
SUMMARY OF THE INVENTION
It is therefore one object of the present invention to provide improved audio facilities in data processing system.
It is another object of the present invention to provide improved audio wavetable handling in data processing systems.
It is yet another object of the present invention to provide a method of paging audio wavetables into a system memory for a data processing system.
The foregoing objects are achieved as is now described. Wavetables for a wavetable synthesizer are divided into nonpaged and paged segments. The nonpaged segments are page locked in system memory, so that the wavetable may beginning playing when referenced. The paged segments are paged into memory as needed, and may be paged out of memory when no longer required. The segmentation of the wavetable is determined based on the maximum data rate for the wavetable and a maximum paging delay for the system. Wavetable segmentation is automatically tuned by monitoring actual paging delays and, taking into account a margin for error, updating the value of the maximum paging delay used to determine the required size for a nonpaged wavetable segment. An aggressive margin for error may be employed where an alternative mechanism is provided for handling underruns of the paged wavetable segments.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.


REFERENCES:
patent: 5675762 (1997-10-01), Bodin et al.
patent: 5753841 (1998-05-01), Hewitt
patent: 5847304 (1998-12-01), Hewitt
patent: 5909559 (1999-06-01), So
patent: 5987584 (1999-11-01), Chambers et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for paging software wavetable synthesis samples does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for paging software wavetable synthesis samples, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for paging software wavetable synthesis samples will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2588673

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.