Patent EA-002990-B1 (EA)
Title: Method of modifying harmonic content of a complex waveform
Inventor: SMITH PAUL REED
IPC: G10L25/90
Filed: 1999-10-29
Abstract: 1. A method of modifying the amplitudes of harmonics of a detected tone spectrum in a complex waveform, the method comprising: applying an amplitude modifying function (14, 14') to each harmonic of the detected tone spectrum selected by harmonic rank, where the frequency of each amplitude modifying function is continually set (16) to the frequency corresponding to the harmonic rank as the frequencies of the detected tone spectrum containing the selected harmonics change over time. 2. The method according to Claim 1, wherein the amplitude modifying functions (14, 14') are adjustable with respect to at least one of frequency and amplitude. 3. The method according to Claim 1, including assigning a harmonic rank to each amplitude modifying function (14) and setting (16) the frequency of the amplitude modifying function to the frequency of the harmonic of that rank as the frequency of the harmonic changes. 4. The method according to Claim 3, including assigning (16) an amplitude change to each amplitude modifying function. 5. The method according to Claim 1, wherein the amplitude modifying functions (14') are set to fixed frequencies; applying the amplitude modifying function to a selected harmonic when the frequency of the amplitude amplifying function and the harmonic correspond; and adjusting (16) the amplitude modification of the amplitude modifying function as a function of the selected rank of the harmonics. 6. The method according to Claim 1, including using the methods of Fast Find Fundamental (12) to determine the ranks of the harmonic frequencies of the detected tone spectrum. 7. The method according to Claim 1, including determining (12) which partials are harmonics of a harmonic tone spectrum and their harmonic ranks using the methods of Fast Find Fundamental. 8. The method according to Claim 1, wherein the amplitude modifying function (14, 14') varies in frequency and amplitude with time. 9. The method according to Claim 1, wherein the amplitude modifying function (14, 14') includes adjusting the amplitude of the selected ranks of harmonics by a predetermined value. 10. The method according to Claim 1, including comparing (16) a first selected harmonic's amplitude to a second selected harmonic's amplitude within the same tone spectrum and adjusting the first harmonic's amplitude relative to the second selected harmonic's amplitude based on the comparison and rank. 11. The method according to Claim 1, including using the amplitude modifying function (14, 14') to synthesize (16) harmonics of selected harmonic ranks and adding the synthesized harmonic frequencies to the waveform. 12. The method according to Claim 11, wherein the harmonics are synthesized (16) using a modeling function n x S log2n, where S is a constant greater than 1 and n is the rank of the harmonic. 13. The method according to Claim 1 including using the amplitude modifying function (14) to synthesize (16) selected inharmonicities and adding the synthesized inharmonicities to the waveform. 14. The method according to Claim 1, wherein the amplitude modifying function (14, 14') includes modifying detected partials of the complex waveform by frequency, amplitude, and location in time and by harmonic rank to resemble a second source complex waveform. 15. The method according to Claim 1, wherein the amplitude modifying function (14, 14') includes synthesizing (16) selected partials of the complex waveform by frequency, amplitude, and location in time and by harmonic to resemble a second source complex waveform. 16. The method according to Claim 1, including setting (16) two or more frequency based parameters; selecting (16) an interpolation function; and adjusting (14, 14') the amplitudes of harmonics based on the frequency based parameters and interpolation function. 17. The method according to Claim 1, including: determining (16, 24) a dynamic energy threshold as a function of frequency from the detected energy of partials; setting (16, 24) a noise floor threshold as a function of frequency; continually determining (16, 24) with a scaling function an amplitude modification for each partial relative to the thresholds; and applying (14', 24) the determined modification to the partials with amplitude modifying functions. 18. A method of modifying the amplitudes of partials in a complex waveform, the method comprising: determining (16, 24) a dynamic energy threshold as a function of frequency from the detected energy of partials; setting (16, 24) a noise floor threshold as a function of frequency; continually determining (16, 24) with a scaling function an amplitude modification for each partial relative to the thresholds; and applying (14', 24) the determined modification to the partials with amplitude modifying functions. 19. The method according to Claims 17 and 18, wherein (16, 24) setting the noise floor threshold as a function of frequency is performed continuously. 20. The method according to Claim 19, wherein the noise floor threshold is set (16, 24) as a function of time. 21. The method according to Claims 1, 17 and 18, wherein the amplitude modifying functions (14', 24) are processed using mathematical models, algorithms, or functions. 22. The method according to Claims 17 and 18, wherein the partial's amplitude modification changes (16, 24) with the partial's frequency as the partial's frequency changes over time. 23. The method according to Claims 17 and 18, wherein the frequency of each amplitude modifying function (14, 24) is continuously set to the frequency corresponding to the partial's frequency as the frequency of the partial changes over time. 24. The method according to Claims 17 and 18, wherein the dynamic energy threshold is determined (16, 24) from the detected energy of adjacent partials. 25. The method according to Claims 17 and 18, wherein the dynamic energy threshold is determined (16, 24) from the detected partial's energy and frequency within a time period. 26. The method according to Claims 17 and 18, wherein the dynamic energy threshold is determined (16, 24) as an average of the detected energy of all of the partials. 27. The method according to Claims 17 and 18, wherein the dynamic energy threshold is determined (16, 24) for each partial from partial's energy within a frequency band of that partial within a time period. 28. The method according to Claims 17 and 18, wherein the partial's amplitude modification is determined (16, 24) by that partial's amplitude over time and its relation to the thresholds during that time period. 29. The method according to Claims 17 and 18, wherein a partial whose energy is above the dynamic energy threshold is adjusted (14', 24) using the scaling function. 30. The method according to Claims 17 and 18, wherein a partial whose energy is below the dynamic energy threshold is adjusted (14', 24) using the scaling function. 31. The method according to Claims 17 and 18, including determining (16, 24) a second dynamic energy threshold as a function of frequency from the detected energy of the partials. 32. The method according to Claims 17 and 18, including setting (16, 24) a maximum clipping threshold. 33. The method according to Claims 17 and 18, wherein the scaling functions are scaled (16, 24) when the threshold levels change. 34. The method according to Claims 17 and 18, including not adjusting (16, 24) the amplitude of partials having an amplitude less than the noise floor threshold. 35. The method according to Claims 17 and 18, wherein the partial's energies must (16, 24) meet amplitude thresholds for a set time duration before partials are adjusted in amplitude. 36. The method according to Claim 35, wherein the time duration (16, 24) may vary. 37. The method according to claim 18, including modifying the amplitudes of harmonics of a detected tone spectrum in the complex waveform by applying an amplitude modifying function (14, 14') to each harmonic selected by harmonic rank, where the frequency of each amplitude modifying function (14, 14') is continuously set to the frequency corresponding to the harmonic rank as the frequency of the detected tone spectrum containing the selected harmonic changes over time. 38. The method according to Claims 1, 17 and 18, wherein the partial's amplitude modifying function (14', 24) is accomplished using frequency & amplitude adjustable digital filtering methods. 39. The method according to Claims 1, 17 and 18, wherein the partial's amplitude modifying function (14', 24) is accomplished using fixed frequency, variable amplitude filters processing methods. 40. The method according to any of Claims 1 to 39, including storing the method as instructions in a digital signal processor (16, 32). 41. The method according to Claim 40, including passing the detected tone spectrum through a delay buffer (24). 42. The method according to Claim 40, including initially passing the complex waveform; through an A/D converter (26). 43. The method according to any of Claims 1 to 39, including storing (16, 30) the complex waveform; and determining over time the tone spectra and its harmonic's frequencies, amplitudes, and harmonic ranks.