WO2001039174A1 - Low memory digital audio effects using down-sampling up-sampling technique - Google Patents
Low memory digital audio effects using down-sampling up-sampling technique Download PDFInfo
- Publication number
- WO2001039174A1 WO2001039174A1 PCT/SG1999/000133 SG9900133W WO0139174A1 WO 2001039174 A1 WO2001039174 A1 WO 2001039174A1 SG 9900133 W SG9900133 W SG 9900133W WO 0139174 A1 WO0139174 A1 WO 0139174A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sampling
- sample data
- selected number
- input
- aliasing filter
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K15/00—Acoustics not otherwise provided for
- G10K15/08—Arrangements for producing a reverberation or echo sound
- G10K15/12—Arrangements for producing a reverberation or echo sound using electronic time-delay networks
Definitions
- This invention is applicable in the field of Digital Audio Effects Algorithms (e.g. echo, chorus, reverberation, flanging) implemented on a DSP with reduced memory usage requirement.
- Digital Audio Effects Algorithms e.g. echo, chorus, reverberation, flanging
- Audio effects such as echo, chorus, reverberation and flanging are indispensable in systems such as music production, home entertainment (Hi-Fi), car audio and Karaoke Systems. Often these effects are implemented using digital signal processors, with associated memory, input-output peripherals, analogue-to-digital and digital-to-analogue converters.
- the processor takes in the "dry” input, produced by an instrument such as a keyboard or previously recorded on some analogue medium, and samples it at an appropriate rate. It is also possible that the input comes from a digitally recorded source (e.g. 44.1 kHz. sampled Audio CD) , in which case no additional sampling is required. Whatever the source, the fmal input stream is in digital form so that it can be subjected to DSP effects algorithm. The resulting "wet" stream is reconstructed to analogue form, to be sent to the next unit in the audio chain, such as speaker system, a recording channel, a mixer, or another effects processor .
- a digitally recorded source e.g. 44.1 kHz. sampled Audio CD
- the basic element is the delay-buffer, several of which may be combined to form complicated effects such as reverberation.
- the delay buffer stores data at the same rate as the input sampling rate. Therefore the delay buffer size is a function of not only of the maximum delay allowed in the system but also of the sampling frequency.
- Delay Buffer Size (words) Max. Delay (ms.) x Sampling Frequency (kHz.)
- words Max. Delay (ms.) x Sampling Frequency (kHz.)
- the memory requirement can be prohibitive when it comes to implementing effects such as reverb where delays of over 200 ms. are often desired.
- This invention attempts to decrease memory requirements for effects algorithm without affecting quality appreciably.
- a method of introducing digital audio effects in an audio signal including: receiving an input stream at an input sampling frequency; down-sampling the input stream so that a selected number of sample data are retained; applying a digital audio effect to the selected number of sample data; and up-sampling the sample data to a predetermined output frequency.
- a digital signal processor including an audio effect engine for introducing a digital audio effect in an audio signal, including: a down-sampler for down-sampling an input signal to a selected number of sample data; an audio effects engine for applying the digital audio effect to the sample data; and an up-sampler for up-sampling the sample data, to which the audio effect has been applied, to a predetermined output frequency.
- the input data may be converted to a lower sampling frequency at, for example, a ratio of 4: 1.
- the amount of data is lesser, for the same duration of the signal.
- the algorithm introduces effect at this frequency.
- For generating the output the effect added samples are reconvened to the desired output frequency.
- Figure 2 illustrates a down-sampling/up-sampling technique to decrease delay-buffer size.
- Delay Buffer Size Max. Delay (ms.)
- x Sampling Frequency (kHz.) 200 ms.
- x 44.1 kHz. 8820 words
- the buffer size above can also be decreased if the amount of data necessary for representing the signal for same duration (Max. Delay) is decreased. This can be realised by perforrning sampling rate conversion. At a lower sampling rate the same duration of the signal can be represented using fewer samples. High frequency contents of the signals will have to be discarded, but this may be acceptable in cases where listening and singing environment (microphone, analogue-to-digital converters etc.) are of commercial level quality only.
- Figure 2 shows the Down-Sampling Up-Sampling Technique for reducing buffer size.
- the input stream Prior to storage or any action by the audio effects engine, the input stream passes through an anti-aliasing filter +decimator.
- the anti-aliasing filter removes frequency components above ⁇ /N, where N is the decimation factor. Decimation by N means that one out of every N sample data is retained, the rest are thrown away. Decimation causes the high frequency components (above sampling_frequency/(2* ⁇ )), to wrap around and appear as ghost frequency components at lower frequency. To avoid these ghost components, the high frequencies are suppressed so that the wrap around is not audible.
- 16-bit pcm pulse code modulated
- the output from the effects' engine has to be re-converted to the desired output frequency through an up-sampling process.
- Up-sampling consists of two steps, the first being the expansion stage wherein each data is preceded by N-l zeros, where N is the up-sampling ratio.
- Zeros insertion causes the spectrum to shrink by N. Therefore frequency images at 2 ⁇ intervals (created due to sampling process) come within the 0 ⁇ / ⁇ boundary. They are removed by an anti-aliasing filter with cut-off at ⁇ /N. Looking equivalently at the time domain behaviours of the filtering process, the inserted zeros are changed to new values, obtained by interpolation behaviour of the filter.
- the same filter may be used for both decimation and expansion steps.
Abstract
A method of introducing digital audio effects in an audio signal including: receiving an input stream at an input sampling frequency; down-sampling the input stream so that a selected number of sample data are retained; applying a digital audio effect to the selected number of sample data; and up-sampling the sample data to a predetermined output frequency.
Description
Low Memory Digital Audio Effects Using Down-sampling Up-sampling Technique
Field of the Invention
This invention is applicable in the field of Digital Audio Effects Algorithms (e.g. echo, chorus, reverberation, flanging) implemented on a DSP with reduced memory usage requirement.
Background of the Invention
Audio effects, such as echo, chorus, reverberation and flanging are indispensable in systems such as music production, home entertainment (Hi-Fi), car audio and Karaoke Systems. Often these effects are implemented using digital signal processors, with associated memory, input-output peripherals, analogue-to-digital and digital-to-analogue converters.
The processor takes in the "dry" input, produced by an instrument such as a keyboard or previously recorded on some analogue medium, and samples it at an appropriate rate. It is also possible that the input comes from a digitally recorded source (e.g. 44.1 kHz. sampled Audio CD) , in which case no additional sampling is required. Whatever the source, the fmal input stream is in digital form so that it can be subjected to DSP effects algorithm. The resulting "wet" stream is reconstructed to analogue form, to be sent to the next unit in the audio chain, such as speaker system, a recording channel, a mixer, or another effects processor .
In all digital audio effects the basic element is the delay-buffer, several of which may be combined to form complicated effects such as reverberation. Traditionally, the delay buffer stores data at the same rate as the input sampling rate. Therefore the delay buffer size is a function of not only of the maximum delay allowed in the system but also of the sampling frequency. Delay Buffer Size (words) = Max. Delay (ms.) x Sampling Frequency (kHz.)
The memory requirement can be prohibitive when it comes to implementing effects such as reverb where delays of over 200 ms. are often desired.
This invention attempts to decrease memory requirements for effects algorithm without affecting quality appreciably.
Summary of the Invention
In accordance with the invention, there is provided a method of introducing digital audio effects in an audio signal including: receiving an input stream at an input sampling frequency; down-sampling the input stream so that a selected number of sample data are retained; applying a digital audio effect to the selected number of sample data; and up-sampling the sample data to a predetermined output frequency.
In another aspect, there is provided a digital signal processor including an audio effect engine for introducing a digital audio effect in an audio signal, including: a down-sampler for down-sampling an input signal to a selected number of sample data; an audio effects engine for applying the digital audio effect to the sample data; and an up-sampler for up-sampling the sample data, to which the audio effect has been applied, to a predetermined output frequency.
The input data may be converted to a lower sampling frequency at, for example, a ratio of 4: 1. At lower sampling rate, the amount of data is lesser, for the same duration of the signal. The algorithm introduces effect at this frequency. For generating the output the effect added samples are reconvened to the desired output frequency.
Brief Description of the Drawings
The invention is more fully described by way of non-limiting example only, with reference to the accompanying drawings, in which: Figure 1 illustrates audio effects operating at a constant sampling rate; and
Figure 2 illustrates a down-sampling/up-sampling technique to decrease delay-buffer size.
Detailed Description of a Preferred Embodiment
Consider the effects engine in Figure 1. The input stream is arriving at the rate of 44.1 kHz. If a delay of 200 ms. is required, the buffer size for single channel would be
Delay Buffer Size (words) = Max. Delay (ms.) x Sampling Frequency (kHz.) = 200 ms. x 44.1 kHz. = 8820 words
This would be considered a large amount for a Karaoke System. One method of avoiding such large size could be to keep data in the buffer in a compressed format. However, it comes with several difficulties. If a Lossy compressor such as AC-3 or MPEG is used, the computation requirement for encoding and decoding is very high. Lossless compression will not give high compression, and in addition to that the compression ratio is not fixed.
The buffer size above can also be decreased if the amount of data necessary for representing the signal for same duration (Max. Delay) is decreased. This can be realised by perforrning sampling rate conversion. At a lower sampling rate the same duration of the signal can be represented using fewer samples. High frequency contents of the signals will have to be discarded, but this may be acceptable in cases where listening and singing environment (microphone, analogue-to-digital converters etc.) are of commercial level quality only.
Figure 2. shows the Down-Sampling Up-Sampling Technique for reducing buffer size. Prior
to storage or any action by the audio effects engine, the input stream passes through an anti-aliasing filter +decimator. The anti-aliasing filter removes frequency components above π/N, where N is the decimation factor. Decimation by N means that one out of every N sample data is retained, the rest are thrown away. Decimation causes the high frequency components (above sampling_frequency/(2*Ν)), to wrap around and appear as ghost frequency components at lower frequency. To avoid these ghost components, the high frequencies are suppressed so that the wrap around is not audible. 16-bit pcm (pulse code modulated) has 96 dB SNR, therefore an anti-aliasing filter with stop-band attenuation around 100 dB. would be sufficient.
After decimation, data from input stream is ready for storage into buffer and also available to the audio effect engine. The manner in which the effects algorithm acts upon this data depends on the actual effect it implements. Simple effect such as echo are implemented as y[n] =a*x[n] + (l-a)x[n-D], O≤a≤l, x[n] being the current input, y[n] the output and D the delay. The output is a simple function of current input and a delayed version it.
Complex algorithms such as reverb require current input as well as pre-processed input at various delay time. All such delay times may have to be scaled to obtain equivalent time in terms of the decimated samples. Moreover, most effects' algorithms have lattice-filter coefficients adjusted to the pre-defined frequencies of operation (e.g. 44.1kHz). They have to be adjusted to the operating sampling frequency of the delay-buffer. Once these adjustments are done, mrining the effects algorithm is really straightforward as it effectively operates at the down-sampled frequency.
The output from the effects' engine has to be re-converted to the desired output frequency through an up-sampling process. Up-sampling consists of two steps, the first being the expansion stage wherein each data is preceded by N-l zeros, where N is the up-sampling ratio. Zeros insertion causes the spectrum to shrink by N. Therefore frequency images at 2π intervals (created due to sampling process) come within the 0</≤π boundary. They are removed by an anti-aliasing filter with cut-off at π/N. Looking equivalently at the time
domain behaviours of the filtering process, the inserted zeros are changed to new values, obtained by interpolation behaviour of the filter.
It is to be noted that if the decimation and expansion ratio are same, the same filter may be used for both decimation and expansion steps.
Claims
1. A method of introducing digital audio effects in an audio signal including: receiving an input stream at an input sampling frequency; down-sampling the input stream so that a selected number of sample data are retained; applying a digital audio effect to the selected number of sample data; and up-sampling the sample data to a predetermined output frequency.
2. A method as claimed in claim 1, wherein the down-sampling includes removing frequency components from the input stream and applying a decimation factor such that only the selected number of sample data are retained
3. A method as claimed in any one of the preceding claims, wherein the down-sampling includes passing the input stream through an anti-aliasing filter for the removal of frequency components, the filter being operable to remove frequency components above π/N, where N is the decimation factor, in that one out of every N samples are retained.
4. A method as claim in claim 1 , wherein the up-sampling includes expansion of the sample data by insertion of zeros.
5. A method as claimed in claim 4, wherein the up-sampling further includes passing the expanded sample data through an anti-aliasing filter with cut-off at π/N, where N is the up- sampling ratio.
6. A method as claimed in claim 5, wherein the zeros introduced with expansion of the sample data are changed to new values, based on interpolation behaviour of the filter.
7. A method as claimed in any one of the preceding claims, wherein the retained sample data are stored in a buffer prior to application of the audio effect.
8. A digital signal processor, including: a down-sampler for down-sampling an input signal to a selected number of sample data; an audio effects engine for applying a digital audio effect to the sample data; and an up-sampler for up-sampling the sample data, to which the audio effect has been applied, to a predetermined output frequency.
9. A digital signal processor as claimed in claim 8, wherein the down-sampler includes an anti-aliasing filter and a decimator, the decimator being arranged to retain the selected number of sample data by applying a decimation factor N and retaining one out of every N sample data input to the down-sampler, and wherein the anti-aliasing filter is effective to remove frequency components above π/N.
10. A digital signal processor as claimed in claim 8, wherein the up-sampler includes an anti-aliasing filter and an expansion means for inserting N-1 zeros before each sample data, to which the audio effect has been applied, where N is the up-sampling ratio, and wherein the anti-aliasing filter has a cut-off at π/N.
11. A digital signal processor as claimed in any one of claims 8 to 10, further including a buffer in which the selected number of sample data are stored prior to application of the audio effect.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SG1999/000133 WO2001039174A1 (en) | 1999-11-25 | 1999-11-25 | Low memory digital audio effects using down-sampling up-sampling technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SG1999/000133 WO2001039174A1 (en) | 1999-11-25 | 1999-11-25 | Low memory digital audio effects using down-sampling up-sampling technique |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2001039174A1 true WO2001039174A1 (en) | 2001-05-31 |
Family
ID=20430259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SG1999/000133 WO2001039174A1 (en) | 1999-11-25 | 1999-11-25 | Low memory digital audio effects using down-sampling up-sampling technique |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2001039174A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6949880B1 (en) | 1999-12-17 | 2005-09-27 | Osram Opto Semiconductors Gmbh | Encapsulation for organic LED device |
US6952078B1 (en) | 1999-12-17 | 2005-10-04 | Osram Opto Semiconductord Gmbh | Encapsulation for organic LED device |
US7166007B2 (en) | 1999-12-17 | 2007-01-23 | Osram Opto Semiconductors Gmbh | Encapsulation of electronic devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5123050A (en) * | 1989-10-12 | 1992-06-16 | Matsushita Electric Industrial Co., Ltd. | Sound field control system |
US5917917A (en) * | 1996-09-13 | 1999-06-29 | Crystal Semiconductor Corporation | Reduced-memory reverberation simulator in a sound synthesizer |
-
1999
- 1999-11-25 WO PCT/SG1999/000133 patent/WO2001039174A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5123050A (en) * | 1989-10-12 | 1992-06-16 | Matsushita Electric Industrial Co., Ltd. | Sound field control system |
US5917917A (en) * | 1996-09-13 | 1999-06-29 | Crystal Semiconductor Corporation | Reduced-memory reverberation simulator in a sound synthesizer |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6949880B1 (en) | 1999-12-17 | 2005-09-27 | Osram Opto Semiconductors Gmbh | Encapsulation for organic LED device |
US6952078B1 (en) | 1999-12-17 | 2005-10-04 | Osram Opto Semiconductord Gmbh | Encapsulation for organic LED device |
US7166007B2 (en) | 1999-12-17 | 2007-01-23 | Osram Opto Semiconductors Gmbh | Encapsulation of electronic devices |
US7394153B2 (en) | 1999-12-17 | 2008-07-01 | Osram Opto Semiconductors Gmbh | Encapsulation of electronic devices |
US7419842B2 (en) | 1999-12-17 | 2008-09-02 | Osram Gmbh | Encapsulation of electroluminescent devices with shaped spacers |
US7432533B2 (en) | 1999-12-17 | 2008-10-07 | Osram Gmbh | Encapsulation of electronic devices with shaped spacers |
US8344360B2 (en) | 1999-12-17 | 2013-01-01 | Osram Opto Semiconductor Gmbh | Organic electronic devices with an encapsulation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5647008A (en) | Method and apparatus for digital mixing of audio signals in multimedia platforms | |
US6438434B1 (en) | Mixing, coding and decoding devices and methods | |
JP3576936B2 (en) | Frequency interpolation device, frequency interpolation method, and recording medium | |
US7492848B2 (en) | Method and apparatus for efficient multi-stage FIR filters | |
JPH07160299A (en) | Sound signal band compander and band compression transmission system and reproducing system for sound signal | |
US6009386A (en) | Speech playback speed change using wavelet coding, preferably sub-band coding | |
JP3576941B2 (en) | Frequency thinning device, frequency thinning method and recording medium | |
US6337645B1 (en) | Filter for digital-to-analog converters | |
JP3310682B2 (en) | Audio signal encoding method and reproduction method | |
JP3463513B2 (en) | AD converter | |
WO2001039174A1 (en) | Low memory digital audio effects using down-sampling up-sampling technique | |
JP3576935B2 (en) | Frequency thinning device, frequency thinning method and recording medium | |
JP5133172B2 (en) | FM transmission circuit and oversampling processing circuit | |
US5661478A (en) | Conversion between analogue and digital signals | |
CN107112979B (en) | Non-linear filter with group delay at the front response frequency of high-resolution audio | |
JP3239756B2 (en) | Mixing circuit, encoding device and codec | |
JP3297792B2 (en) | Signal expansion apparatus and method | |
JPS5898793A (en) | Voice synthesizer | |
KR0149318B1 (en) | Digital echo processor | |
EP0630108A2 (en) | A method of expanding the frequency range of a digital audio signal | |
JP3339320B2 (en) | Digital signal processor | |
JPH11150784A (en) | Microphone system composed of plural partial band microphones | |
JP3200940B2 (en) | Music control device | |
JPH1098353A (en) | Digital signal processor | |
JPH09200055A (en) | Audio data decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |