Claims
- 1. A musical sound generator comprising:
- means receptive of frequency data for producing read-out addresses and interpolation data associated therewith;
- a waveform memory for storing musical sound data associated with the read-out addresses in address locations between a loop-top address and a loop-end address, wherein the data stored in the loop-end address is the same as the data stored in the loop-top address and is used only for interpolation;
- means receptive of the read-out addresses for producing a corrected read-out address for each read-out address in accordance with a difference between respective read-out addresses and the loop-end address;
- means for repeatedly reading out musical sound data from the corrected read-out address locations in the waveform memory between the loop-top address and an address location which is just previous to the loop-end address to produce a continuous musical sound waveform; and
- means receptive of the interpolation data including the data in the loop-end address for performing an interpolation of read-out musical sound data for a subsequent read-out of musical sound data between the loop-top address and said address just previous to the loop-end address to effect a smooth continuous sound waveform;
- wherein the means for producing a corrected read-out address for each read-out address includes means for subtracting a read-out address from the loop-end address to produce a value .DELTA., and setting the corrected read-out address equal to the difference between the loop-end address and .DELTA. when .DELTA. is greater than zero and equal to the difference between the loop-top address and .DELTA. when .DELTA. is less than zero.
- 2. A musical sound generator according to claim 1; wherein the musical sound data stored in said waveform memory corresponds to a musical sound waveform of a specified length, and wherein a head of the musical sound waveform is stored at the loop-top address and at the loop-end address.
- 3. A musical sound generator according to claim 1; wherein the musical sound waveform data stored in said waveform memory corresponds to a cross-faded sound waveform of a specified length, and wherein a head of the musical sound waveform is stored at the loop-top address and at the loop-end address.
- 4. A musical sound generator according to claim 1; wherein the means for producing a read-out address comprises a wired logic circuit.
- 5. A musical sound generator according to claim 1; wherein the means for producing a read-out address comprises a processor.
- 6. A musical sound generator according to claim 1; wherein the means for producing a read-out address comprises means for generating read-out addresses incrementally at an interval corresponding to pitch.
- 7. A musical sound generator according to claim 1; wherein the means for performing an interpolation comprises a wired logic circuit.
- 8. A musical sound generator according to claim 1; wherein the means for performing an interpolation comprises a processor.
- 9. A musical sound generator according to claim 1; wherein the sound waveform data between the loop-top address and said address just previous to the loop-end address extends over at least one period.
- 10. A musical sound generator according to claim 1; wherein the read-out address contains an integral part and a decimal part constituting the interpolation data.
- 11. A musical sound generator according to claim 10; wherein the means for performing an interpolation includes means receptive of the decimal part for interpolating the data stored at the loop-end address for the next read-out at the loop-top address.
- 12. A method of generating a musical sound, comprising the steps of:
- producing read-out addresses and interpolation data associated therewith from frequency data;
- storing musical sound data associated with the read-out addresses in a waveform memory in address locations between a loop-top address and a loop-end address, wherein the data stored in the loop-end address is the same as the data stored in the loop-top address and is used only for interpolation;
- producing a corrected read-out address for each read-out address in accordance with a difference between respective read-out addresses and the loop-end address;
- repeatedly reading out musical sound data from the corrected read-out address locations in the waveform memory between the loop-top address and an address location which is just previous to the loop-end address to produce a continuous musical sound waveform; and
- performing an interpolation of read-out musical sound data as a function of the data in the loop-end address and the interpolation data for a subsequent read-out of musical sound data between the loop-top address and said address just previous to the loop-end address to effect a smooth continuous sound waveform;
- wherein the step of producing a corrected read-out address includes the step of subtracting a read-out address from the loop-end address to produce a value .DELTA., and setting the corrected read-out address equal to the difference between the loop-end address and .DELTA. when .DELTA. is greater than zero and equal to the difference between the loop-top address and .DELTA. when .DELTA. is less than zero.
- 13. A method according to claim 12; wherein the musical sound data stored in said waveform memory corresponds to a musical sound waveform of a specified length, and wherein a head of the musical sound waveform is stored at the loop-top address and at the loop-end address.
- 14. A method according to claim 12; wherein the musical sound waveform data stored in said waveform memory corresponds to a cross-faded sound waveform of a specified length, and wherein a head of the musical sound waveform is stored at the loop-top address and at the loop-end address.
- 15. A method according to claim 12; wherein the read-out address is produced by a wired logic circuit.
- 16. A method according to claim 12; wherein the read-out address is produced by a processor.
- 17. A method according to claim 12; wherein read-out addresses are generated incrementally at an interval corresponding to pitch.
- 18. A method according to claim 12; wherein the interpolation is performed by a wired logic circuit.
- 19. A method according to claim 12; wherein the interpolation is performed by a processor.
- 20. A method according to claim 12; wherein the sound waveform data between the loop-top address and said address just previous to the loop-end address extends over at least one period.
- 21. A method according to claim 12; wherein the read-out address contains an integral part and a decimal part constituting the interpolation data.
- 22. A method according to claim 21; wherein the interpolation is performed by receiving the decimal part of the address for interpolating the data stored at the loop-end address for the next read-out at the loop-top address.
- 23. A musical sound generator comprising: means receptive of frequency data for producing read-out addresses and interpolation data associated therewith; a waveform memory for storing musical sound data associated with the read-out addresses in address locations between a loop-top address and a loop-end address; means receptive of the read-out addresses for producing a corrected read-out address for each read-out address in accordance with a difference between respective read-out addresses and the loop-end address, the means for producing a corrected read-out address for each read-out address including means for subtracting a read-out address from the loop-end address to produce a value .DELTA., and setting the corrected read-out address equal to the difference between the loop-end address and .DELTA. when .DELTA. is greater than zero and equal to the difference between the loop-top address and .DELTA. when .DELTA. is less than zero; means for repeatedly reading out musical sound data from corrected read-out address locations in the waveform memory between the loop-top address and the loop-end address to produce a continuous musical sound waveform; and means receptive of the interpolation data including data for performing an interpolation of read-out musical sound data to effect a smooth continuous sound waveform.
- 24. A method of generating a musical sound, comprising the steps of: producing read-out addresses and interpolation data associated therewith from frequency data; storing musical sound data associated with the read-out addresses in a waveform memory in address locations between a loop-top address and a loop-end address; producing a corrected read-out address for each read-out address in accordance with a difference between respective read-out addresses and the loop-end address by subtracting a read-out address from the loop-end address to produce a value .DELTA., and setting the corrected read-out address equal to the difference between the loop-end address and .DELTA. when .DELTA. is greater than zero and equal to the difference between the loop-top address and .DELTA. when .DELTA. is less than zero; repeatedly reading out musical sound data from the corrected read-out address locations in the waveform memory between the loop-top address and the loop-end address to produce a continuous musical sound waveform; and performing an interpolation of read-out musical sound data to effect a smooth continuous sound waveform.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2-81187 |
Mar 1990 |
JPX |
|
Parent Case Info
This is a continuation of application Ser. No. 07/938,498 filed Aug. 31, 1992 which is a continuation of application Ser. No. 07/678,527 filed Mar. 28, 1991.
US Referenced Citations (7)
Continuations (2)
|
Number |
Date |
Country |
Parent |
938498 |
Aug 1992 |
|
Parent |
678527 |
Mar 1991 |
|