Claims
- 1. A method of synthesizing a wavetable in a data processing system, comprising:segmenting the wavetable into a beginning portion and a remaining portion; page locking the beginning portion of the wavetable in a system memory for immediate synthesis on demand; storing the remaining portion in a memory page which is paged into and out of the system memory from a storage device; synthesizing the beginning portion of the wavetable; after beginning synthesis of the beginning portion, paging the memory page containing the remaining portion of the wavetable into system memory; and synthesizing the remaining portion of the wavetable.
- 2. The method of claim 1, further comprising:responsive to completing synthesis of the beginning portion prior to the remaining portion being paged into the memory, synthesizing a backup wavetable sample.
- 3. The method of claim 2, further comprising:looping an ending segment of the beginning portion to form the backup sample.
- 4. The method of claim 1, further comprising:segmenting a plurality of wavetables into beginning portions and remaining portions; loading the beginning portions into the system memory for immediate synthesis upon demand; and storing the remaining portions in memory pages which is paged into and out of the system memory.
- 5. The method of claim 4, wherein each wavetable within the plurality of wavetables contains, without looping, a different note sampled from a piano until decay.
- 6. The method of claim 1, further comprising:computing a maximum paging delay; and determining a size of the beginning portion of the wavetable which would accommodate the maximum paging delay, wherein the beginning portion stored within the system memory is at least the determined size.
- 7. The method of claim 6, further comprising:measuring a paging delay for paging the memory page containing the remaining portion; adding a margin for error to the measured paging delay to compute a computed paging delay; comparing the computed paging delay to the maximum paging delay; and responsive to determining that the computed paging delay differs from the maximum paging delay, segmenting the wavetable into a different beginning portion accommodating the computed paging delay and a different remaining portion.
- 8. An apparatus for synthesizing a wavetable in a data processing system, comprising:a wavetable segmented into a beginning portion and a remaining portion; a system memory containing the beginning portion of the wavetable for immediate synthesis on demand; a storage device storing the remaining portion in a memory page which is paged into and out of the system memory; synthesis means for synthesizing the beginning portion of the wavetable stored in said system memory; memory paging means for paging the memory page containing the remaining portion of the wavetable into the system memory after beginning synthesis of the beginning portion; and synthesis means for synthesizing the remaining portion of the wavetable.
- 9. The apparatus of claim 8, further comprising:synthesis means, responsive to completing synthesis of the beginning portion prior to the remaining portion being paged into the memory, for synthesizing a backup wavetable sample.
- 10. The apparatus of claim 9, further comprising:means for looping an ending segment of the beginning portion to form the backup sample.
- 11. The apparatus of claim 8, further comprising:a plurality of wavetables each segmented into beginning portions and remaining portions, wherein the beginning portions are loaded into the system memory for immediate synthesis upon demand, and the remaining portions are each stored in different memory pages which may be paged into and out of the system memory.
- 12. The apparatus of claim 11, wherein each wavetable within the plurality of wavetables contains, without looping, a different note sampled from a piano until decay.
- 13. The apparatus of claim 8, further comprising:means for computing a maximum paging delay; and means for determining a size of the beginning portion of the wavetable which would accommodate the maximum paging delay, wherein the beginning portion stored within the system memory is at least the determined size.
- 14. A computer program product for use with a data processing system, comprising:a computer usable medium; a wavetable segmented into a beginning portion and a remaining portion; first instructions on the computer usable medium for page locking the beginning portion of the wavetable in a system memory for immediate synthesis on demand; second instructions on the computer usable medium for storing the remaining portion in a memory page which is paged into and out of the system memory from a storage device; third instructions on the computer usable medium for synthesizing the beginning portion of the wavetable; fourth instructions on the computer usable medium for paging the memory page containing the remaining portion of the wavetable into the system memory after beginning synthesis of the beginning portion; and fifth instructions on the computer usable medium for synthesizing the remaining portion of the wavetable.
- 15. The computer program product of claim 14, further comprising:sixth instructions on the computer usable medium for loading a plurality of wavetable segments in the system memory, the plurality of wavetable segments comprising beginning portions of a plurality of different wavetables.
- 16. The computer program product of claim 15, wherein the sixth instructions further comprise:instructions for loading the beginning portions of the different wavetables, each wavetable containing, without looping, a different note sampled from a piano until decay.
- 17. The computer program product of claim 14, further comprising:instructions on the computer usable medium for computing a maximum paging delay; and instructions on the computer usable medium for determining a size of the beginning portion of the wavetable which would accommodate the maximum paging delay; instructions on the computer usable medium for storing the beginning portion of the wavetable in a page in the system memory, wherein the beginning portion is at least the size which would accommodate the maximum paging delay.
- 18. The computer program product of claim 17, further comprising:instructions on the computer usable medium for storing the remaining portion of the wavetable in a different memory page which is paged into and out of the system memory.
- 19. The computer program product of claim 14, wherein the computer usable medium comprises a CD-ROM.
- 20. The computer program product of claim 14, wherein the computer usable medium comprises a transmission from an Internet site.
Parent Case Info
This is a Division of application Ser. No. 08/835,131, filed Apr. 4, 1997, currently pending
US Referenced Citations (5)