Claims
- 1. A musical instrument for producing musical sound comprising,
- input means for specifying a musical sound to be generated,
- wavetable-modification generator means for generating by wavetable modification an output signal representing the musical sound to be produced, including a wavetable unit for cyclically storing data values for a delay period N, including initial value means for storing input data values into said wavetable unit with said input data values having amplitudes determined at least in part randomly, including a modifier unit for combining two or more delayed data values from said wavetable unit to form a modified data value, and including selection means for selecting the modified data value as a stored value stored back into the wavetable unit for subsequent delay by the period N where the stored value forms the output signal, means for selecting the stored value as the output signal at a rate independent of the pitch of the musical sound to be produced,
- an output unit responsive to said output signal to produce the musical sund.
- 2. The musical instrument of claim 1 wherein said selection means includes means for selecting said modified data value or a delayed data value stochastically based upon a predetermined probability, d.
- 3. The instrument of claim 2 wherein said modifier unit includes an arithmetic unit for summing said two or more delayed data values from said wavetable unit and for dividing the summed data value by a number greater than unity to form said modified data value.
- 4. The instrument of claim 3 wherein said number greater than unity is 2 whereby said two or more delayed data values from said wavetable unit are averaged.
- 5. The instrument of claim 2 wherein said value has an amplitude y.sub.n at a sample time n greater than or equal to 0 where y.sub.n is given as follows, ##EQU7## where y.sub.n-N is the data value output from the wavetable after delay of N and where y.sub.n-(N+1) is the data value output from the wavetable after a delay of N+1 and where x.sub.n is an input data value at sample time n having a signal amplitude loaded for an initial number of samples M into the wavetable and where r.sub.n is a random number between 0 and 1 generated at sample time n.
- 6. The instrument of claim 5 wherein said output signal, at sample time n, is the data value having the amplitude y.sub.n.
- 7. The instrument of claim 5 wherein said wavetable unit is a random access memory, wherein the data value, y.sub.n, is stored in said memory at a Write Pointer address and wherein the data value y.sub.n-N is stored in said memory at a Read Pointer address, and wherein said Write Pointer address and said Read Pointer address are offset by a number of addresses equal to the number, N.
- 8. The instrument of claim 7 wherein the data value y.sub.n-(N+1) is stored in said memory at a Read Pointer +1 address which is offset from said Read Pointer address by +1.
- 9. The instrument of claim 5 wherein the values of x.sub.n initially stored in said wavetable represent "white noise".
- 10. The instrument of claim 9 wherein said values of x.sub.n are given as follows:
- x.sub.n =Au.sub.n
- where u.sub.n is determined as +1 or -1 as a function of the output of a random number generator and where A is some amplitude.
- 11. The instrument of claim 5 including control means for producing the values of y.sub.n for the output signal at a sampling frequency, f.sub.s, and wherein the fundamental frequency of the sound produced for a pitch number N is approximately equal to f.sub.s /(N+d/2).
- 12. The instrument of claim 7 including means for storing said Write Pointer address, means for storing the pitch number, N, as an address offset, means for calculating said Read Pointer address by summing said Write Pointer address and N, and means for sequentially changing said Write Pointer address to a new address for each value of y.sub.n stored.
- 13. The instrument of claim 12 wherein means for sequentially changing said Write Pointer address includes means for decrementing said Write Pointer address.
- 14. The instrument of claim 7 including means for storing said Write Pointer address, means for storing said Read Pointer address offset by an integer proportioned to N from said Write Pointer address, and means for sequentially changing said Write Pointer address and said Read Pointer address whereby the offset between said Write Pointer address and Read Pointer address remains the same.
- 15. The instrument of claim 2 wherein said generator means includes means for generating modified data values at a sampling frequency.
- 16. The instrument of claim 2 wherein said data values are digital and wherein said output unit includes a digital-to-analog converter, a low-pass filter, an amplifier and a speaker for producing the musical sound in response to said output signal.
- 17. The instrument of claim 1 wherein said wavetable modification generator generates musical sound for a plurality of voices, wherein said input unit includes means for specifying one or more of said voices, wherein said wavetable modification generator includes means for producing output signals representing the sound for each of said voices by probabilistic wavetable modification, and wherein said output unit in response to said output signals concurrently produces said musical sounds for all of said voices.
- 18. The instrument of claim 1 wherein said wavetable unit cyclically stores data values for a plurality of voices, each having a delay period specified by an independent pitch number, N, wherein said modifier unit modifies two or more delayed data values for each voice from said wavetable unit to form a modified data value, for each voice, and wherein said generator includes means for storing either the modified data value or a delayed data value for each voice back into the wavetable unit as a stored data value for subsequent delay by the corresponding N where the stored data value for each voice forms the output signal.
- 19. The instrument of claim 18 including means for storing and updating a Write Pointer each cycle to specify the location in the wavetable at which the stored data value for each voice is to be stored, and including means for storing a delay period N for each voice, and means for determining a Read Pointer for each voice to designate the location of the delayed data values for each voice in the wavetable memory.
- 20. The instrument of claim 19 wherein said Write Pointer is common for all of said voices and wherein said generator includes means for adding the pitch number N for each voice to the Write Pointer to provide the Read Pointer for each voice.
- 21. The instrument of claim 20 wherein the wavetable is a random access memory, wherein the stored data value for each voice is stored in said memory at a Write Pointer address unique to that corresponding voice and wherein the delayed data values are stored in memory locations determined by a Read Pointer address for each voice and wherein said Write Pointer and Read Pointer addresses for each voice are offset by a number equal to the pitch number, N for each voice.
- 22. The instrument of claim 21 wherein the Write Pointer address includes a low-order field for uniquely identifying each different voice and includes a high-order field for identifying the location within a portion of the memory associated with the voice identified in the corresponding low-order field.
- 23. The instrument of claim 22 wherein said generator includes means for decrementing said Write Pointer each time a data value is stored at the location specified by said Write Pointer.
- 24. The instrument of claim 23 wherein the sampling frequency, f.sub.s, is the same for each voice.
- 25. The instrument of claim 24 including means for providing said data values at a logic cycle frequency which is the number of voices times f.sub.s.
- 26. The instrument of claim 25 wherein the output unit includes a digital-to-analog converter for receiving each new data value for each voice and includes a low pass filter for filtering the analog value from said converter and wherein said converter receives a new data value at said logic cycle frequency whereby the output from said low pass filter is a signal representing the musical sound for all of the voices.
- 27. The instrument of claim 18 including means for storing a Write Pointer and means for storing a Read Pointer for each voice, said Write Pointer having an address offset from said Read Pointer for each voice by the pitch number N for each voice, respectively, and including means for updating both said Write Pointer and said Read Pointer concurrently for each voice whereby the offset N between the Read Pointer and the Write Pointer for each voice is maintained.
- 28. A musical instrument for producing musical sound comprising,
- input means for specifying a musical sound to be generated,
- wavetable-modification generator means for generating by wavetable modification an output signal representing the musical sound to be produced, including a wavetable unit for cyclically storing data values for a delay period defined by a pitch number N, including a modifier unit for combining two or more delayed data values from said wavetable unit to form a modified data value, and including selection means for selecting the modified data value or a delayed data value stochastically based upon a predetermined probability as a stored value stored back into the wavetable unit for subsequent delay by the period N where the stored value forms the output signal,
- an output unit responsive to said output signal to produce the musical sound.
- 29. The instrument of claim 28 wherein said predetermined probability equals unity whereby the stored value is always the modified data value, and has an amplitude y.sub.n at a sample time n where y.sub.n is given as follows,
- y.sub.n =x.sub.n +[y.sub.n-N +y.sub.n-(N+1) ]/2
- where y.sub.n-N is the data value output from the wavetable after delay of N and where y.sub.n-(N+1) is the data value output from the wavetable after a delay of N+1 and where x.sub.n is an input data value at sample time n having a signal amplitude initially loaded into the wavetable.
- 30. The instrument of claim 29 including means for storing the modified data value, y.sub.n, in said memory at a Write Pointer address, including means for storing the data value y.sub.n-N in said memory at a Read Pointer address, including means for storing the data value y.sub.n-(N+1) in said memory at a Read Pointer +1 address which is offset from said Read Pointer address by +1 and wherein said Write Pointer address and said Read Pointer address are offset by a number of addresses equal to the pitch number N.
- 31. The instrument of claim 30 wherein said values of x.sub.n represent white noise and are given as follows:
- x.sub.n =Au.sub.n, when n=0,1,2, . . . , (N-1)
- x.sub.n =0, when n.gtoreq.N
- where u.sub.n is determined as +1 or -1 as a function of the output of a random number generator and where A is some amplitude.
- 32. The instrument of claim 29 including control means for producing the values of y.sub.n for the output signal at a sampling frequency, f.sub.s, whereby the fundamental frequency of the sound produced for the pitch number N is approximately equal to f.sub.s /(N+1/2).
- 33. The instrument of claim 30 including means for storing said Write Pointer address, means for storing the pitch number N as an address offset, means for calculating said Read Pointer address by summing said Write Pointer address and N, and means for sequentially changing said Write Pointer address to a new address for each value of y.sub.n stored.
- 34. The instrument of claim 30 including means for storing said Write Pointer address, means for storing said Read Pointer address offset by an integer proportional to N from said Write Pointer address, and means for sequentially changing said Write Pointer address and said Read Pointer address whereby the offset between said Write Pointer address and Read Pointer address remains substantially the same.
- 35. The instrument of claim 28 wherein said wavetable modification generator generates musical sound for a plurality of voices, wherein said input unit includes means for specifying one or more of said voices, wherein said wavetable modification generator includes means for producing output signals representing the sound for each of said voices by probabilistic wavetable modification, and wherein said output unit in response to said output signals concurrently produces said musical sounds for all of said voices.
- 36. A wavetable-modification generator for use with a musical instrument having an input unit for specifying a musical sound to be generated and having an output unit responsive to an output signal to produce musical sound, said generator comprising,
- a digital wavetable unit having a random access memory for cyclically storing data values for a delay period N,
- initial value means for storing input data values into said wavetable unit with said input data values having amplitudes determined at least in part randomly,
- a modifier unit having an arithmetic unit for summing two or more delayed data values from said wavetable unit and for dividing the summed data value by a number greater than unity to form a modified data value, and
- means for storing the modified data value back into the memory for subsequent delay by the period N where the modified data value forms said output signal representing the musical sound to be produced.
- 37. The generator of claim 36 wherein said modified data value has an amplitude y.sub.n at a sample time n where y.sub.n is given as follows,
- y.sub.n =x.sub.n +[y.sub.n-N +y.sub.n-(N+1) ]/2
- where y.sub.n-N is the data value output from the wavetable after delay of N and where y.sub.n-(N+1) is the data value output from the wavetable after a delay of N+1 and where x.sub.n is an input data value at sample time n having a signal amplitude initially loaded into the wavetable.
- 38. The instrument of claim 28 including control means connected to said modifier unit for altering the manner in which said modified data value is formed.
- 39. The instrument of claim 38 wherein said control means includes a random number generator connected to control the selection of said delayed data values in accordance with a predetermined statistical probability, d, and means for providing said probability, d.
- 40. A musical instrument for producing musical sound comprising,
- input means for specifying a musical sound to be generated,
- wavetable modification generator means including,
- a wavetable unit for cyclically storing a plurality of data values for a delay period defined by a pitch number N,
- a modifier unit for combining after said delay period delayed first and second ones of said data values from said wavetable unit to form a modified data value,
- and selection means responsive to a selection signal for selecting either the modified data value or the first one of said delayed data values as a stored data value for storage into the wavetable unit for delay by said delay period where said stored data value forms the output signal,
- and selection signal means for generating said selection signal to cause said selection means to select the modified data value or the delayed first one of said data values stochastically with a probability, d,
- an output unit responsive to said output signal to produce the musical sound.
- 41. A musical instrument for producing musical sound comprising,
- input means for specifying a musical sound to be generated,
- wavetable-modification generator means for generating by wavetable modification an output signal representing the musical sound to be produced, including a wavetable unit for cyclically storing data values for a delay period, including initial value means for storing input data values into said wavetable unit with said input data values having amplitudes determined at least in part randomly, including a modifier unit for combining two or more delayed data values from said wavetable unit to form a modified data value, and including selection means for selecting the modified data value as a stored value stored back into the wavetable unit for subsequent delay where the stored value forms the output signal,
- an output unit responsive to said output signal to produce the musical sound.
- 42. A wavetable-modification generator for use with a musical instrument having an input unit for specifying a musical sound to be generated and having an output unit responsive to an output signal to produce musical sound said generator comprising,
- a digital wavetable unit having a random access memory for cyclically storing data values for a delay period,
- initial value means for storing input data values into said wavetable unit with said input data values having amplitudes determined at least in part randomly,
- a modifier unit having an arithmetic unit for summing two or more delayed data values from said wavetable unit and for dividing the summed data value by a number greater than unity to form a modified data value, and
- means for storing the modified data value back into the memory for subsequent delay where the modified data value forms said output signal representing the musical sound to be produced.
- 43. A musical instrument for producing musical sound comprising,
- input means for specifying a musical sound to be generated,
- wavetable-modification generator means for generating by wavetable modification an output signal representing the musical sound to be produced, including a wavetable unit for cyclically storing data values for a delay period, including a modifier unit for combining two or more delayed data values from said wavetable unit to form a modified data value, and including selection means for selecting the modified data value as a stored value stored back into the wavetable unit for subsequent delay where the stored value forms the output signal,
- an output unit responsive to said output signal to produce the musical sound.
- 44. A wavetable-modification generator for use with a musical instrument having an input unit for specifying a musical sound to be generated and having an output unit responsive to an output signal to produce musical sound said generator comprising,
- a digital wavetable unit having a random access memory for cyclically storing data values for a delay period,
- a modifier unit having an arithmetic unit for summing two or more delayed data values from said wavetable unit and for dividing the summed data value by a number greater than unity to form a modified data value, and
- means for storing the modified data value back into the memory for subsequent delay where the modified data value forms said output signal representing the musical sound to be produced.
Parent Case Info
This application is a continuation-in-part of the application entitled WAVETABLE-MODIFICATION INSTRUMENT AND METHOD FOR GENERATING MUSICAL SOUND, Ser. No. 463,270 filed Feb. 2, 1983.
US Referenced Citations (5)
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
463270 |
Feb 1983 |
|