Jerry Avins wrote:> I don't see a way to make a noise measurement on > a song, but you can test your system with a tone you generate yourself. > A sine should suffice. Generate it at double precision and dither it to > samples.I often call that song "One Kilohertz at Full Scale" and indeed, I have it on CD ;-) Other artists have made their own versions of it. It's a very popular song for system analysis, but it doesn't have much in the way of rhythm. It fails the listenability test miserably. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (703) 779-7770 To mess up a Linux box, you need to work at it; to mess up your Windows box, you just need to work on it. - Scott Granneman
SNR of a Song
Started by ●June 17, 2004
Reply by ●June 21, 20042004-06-21
Reply by ●June 21, 20042004-06-21
Jim Thomas wrote:> Jerry Avins wrote: > >> I don't see a way to make a noise measurement on a song, but you can >> test your system with a tone you generate yourself. A sine should >> suffice. Generate it at double precision and dither it to samples. > > > I often call that song "One Kilohertz at Full Scale" and indeed, I have > it on CD ;-) > > Other artists have made their own versions of it. It's a very popular > song for system analysis, but it doesn't have much in the way of rhythm. > It fails the listenability test miserably.I have a few vinyl pressings -- some of them unplayed -- of mono test tones at various levels and frequencies for checking out phono systems. They were made at the RCA facility in Indianapolis for use there and at RCA Labs. I have seen similar suites on reel-to-reel and cassette tape. Surely there must be CE equivalents. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●June 21, 20042004-06-21
On Mon, 21 Jun 2004 10:06:36 -0400, Jerry Avins <jya@ieee.org> wrote:> Jim Thomas wrote: > >> Jerry Avins wrote: >> >>> I don't see a way to make a noise measurement on a song, but you can >>> test your system with a tone you generate yourself. A sine should >>> suffice. Generate it at double precision and dither it to samples. >> >> >> I often call that song "One Kilohertz at Full Scale" and indeed, I have >> it on CD ;-) >> >> Other artists have made their own versions of it. It's a very popular >> song for system analysis, but it doesn't have much in the way of rhythm. >> It fails the listenability test miserably. > > I have a few vinyl pressings -- some of them unplayed -- of mono test > tones at various levels and frequencies for checking out phono systems. > They were made at the RCA facility in Indianapolis for use there and at > RCA Labs. I have seen similar suites on reel-to-reel and cassette tape. > Surely there must be CE equivalents. > > JerryDefinitely. You can also buy CDs of things like SMPTE time code in various formats. I missed whether his source is CD or not, but you if the OP downloads Audacity, it includes the ability to generate arbitrary sine waves. I don't claim exhaustive knowledge, but my recollection is that all audio recording is done fixed-point, at least in terms of the stored representation.
Reply by ●June 21, 20042004-06-21
Jim Thomas wrote: > Jerry Avins wrote: > >> I don't see a way to make a noise measurement on a song, but you can test your system with a tone you generate yourself. A sine should suffice. Generate it at double precision and dither it to samples. > > > > I often call that song "One Kilohertz at Full Scale" and indeed, I have it on CD > > Other artists have made their own versions of it. It's a very popular song for system analysis, but it doesn't have much in the way of rhythm. It fails the listenability test miserably. I have a few vinyl pressings -- some of them unplayed -- of mono test tones at various levels and frequencies for checking out phono systems. They were made at the RCA facility in Indianapolis for use there and at RCA Labs. I have seen similar suites on reel-to-reel and cassette tape. Surely there must be CE equivalents. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●June 21, 20042004-06-21
U-CDK_CHARLES\Charles wrote:> I don't claim exhaustive knowledge, but my recollection is that all > audio recording is done fixed-point, at least in terms of the stored > representation.I've never seen a floating-point DAC, so it makes sense that you're right. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●June 21, 20042004-06-21
argon_gold@hotmail.com writes:> "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message news:<h_CdnTZkPINkGE7dRVn-jw@centurytel.net>... > > "Eric Jacobsen" <eric.jacobsen@ieee.org> wrote in message > > news:40d31c4f.35456031@news.west.cox.net... > > > Gold, > > > > > > If you have a high-precision reference of the song then you can > > > subtract it > > > > Properly or carefully scaled that is.... might even require an iterative > > process to get the scaling to be optimal (minimum difference energy). > > Assuming the original has some noise in it or noiselike properties then, > > assuming that the noises are uncorrelated, subtracting noise from noise is > > additive. So, you might get a lower SNR estimate than is actually > > there.... One would have to run some numbers. > > > > Fred > > Well, the reference SONG has a sampling frequency of 44.1kHz. While I > am upsampling this song by a factor of 2, that means changing its > sampling frequency to 88.2kHz. I've developed two routines (fixed > point 16-bit and floating point) so after processing or upsampling > it,I wanna compare the SNR of the song processed by these two > routines. As the sampling frequency is different after the processing > so I can not simply subtract it from my reference song. I've no SNR > Info even for my reference SONG. > > The formula expressing the SNR of a digital audio system is SNR (dB) = > 6.02n + 1.76 + 10 log10 (Fs/2Fmax), where n is the number of bits per > sample, Fs the sampling frequency in Hz and Fmax the maximum baseband > frequency in Hz.Hi, That is the formula for the signal-to-quantization noise ratio of a quantizer (i.e., A/D converter) that uses a technique called oversampling. The ratio Fs/(2Fmax) is called the oversampling ratio. However, the signal you're starting out with (the 44.1 kHz signal) has already been quantized. You cannot remove the quantization noise once it's been quantized. So what you're trying to do can't be done. It's based on an incorrect analysis of the signal processing involved. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Reply by ●June 21, 20042004-06-21
How about if you either 1) up-sampled the reference song to 88.2kHz using a 3rd party high-quality "reference algorithm" or 2) downsampled your 2 versions back to 44.1 using the best quality algorithm you can find, maybe again a 3rd party "reference algorithm". Then, with the reference and processed versions at the same sample rate, comparison is easier. However, stepping back a bit, I agree with the other posters that suggest using tones to calculate SNR rather than songs. The results will be much more predictable, understandable, and easier to obtain. That's what the sample rate conversion chips do for their spec sheets. In fact, reading some of those would be a good way to get started in deepening your understanding of these issues. <argon_gold@hotmail.com> wrote in message news:9903481.0406190109.6ce75fb2@posting.google.com...> "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in messagenews:<h_CdnTZkPINkGE7dRVn-jw@centurytel.net>...> > "Eric Jacobsen" <eric.jacobsen@ieee.org> wrote in message > > news:40d31c4f.35456031@news.west.cox.net... > > > Gold, > > > > > > If you have a high-precision reference of the song then you can > > > subtract it > > > > Properly or carefully scaled that is.... might even require an iterative > > process to get the scaling to be optimal (minimum difference energy). > > Assuming the original has some noise in it or noiselike properties then, > > assuming that the noises are uncorrelated, subtracting noise from noise is > > additive. So, you might get a lower SNR estimate than is actually > > there.... One would have to run some numbers. > > > > Fred > > Well, the reference SONG has a sampling frequency of 44.1kHz. While I > am upsampling this song by a factor of 2, that means changing its > sampling frequency to 88.2kHz. I've developed two routines (fixed > point 16-bit and floating point) so after processing or upsampling > it,I wanna compare the SNR of the song processed by these two > routines. As the sampling frequency is different after the processing > so I can not simply subtract it from my reference song. I've no SNR > Info even for my reference SONG. > > The formula expressing the SNR of a digital audio system is SNR (dB) = > 6.02n + 1.76 + 10 log10 (Fs/2Fmax), where n is the number of bits per > sample, Fs the sampling frequency in Hz and Fmax the maximum baseband > frequency in Hz. > > (1) FOR fs = 44.1khz with 16-bit Fmax = 22050 > a1 = (1.76 + (6.02*16)+ (10 * log10(44100/(2*22050)))) > a1 = 98.0800 dB > > (2)(upsampling) FOR Fs = 88.2kHz with 16-bit Fmax = 22050 > a2 = (1.76 + (6.02*16)+ (10 * log10(88200/(2*22050)))) > a2 = 101.0903 dB > > The above formula tells that if I double the sampling frequency I > should have 3db increase in SNR. But how to determine it exactly from > a given SONG??
Reply by ●June 30, 20042004-06-30
If you have a reference vector, then you can even use Perceptual anlayzers instead of or in addition to finding just SNR. For audio, actually the perceptual quality is much more important. There is atleast a free tool "EAQUAL" which can be used for this. Balaji "Jon Harris" <goldentully@hotmail.com> wrote in message news:<2jopneF12udirU1@uni-berlin.de>...> How about if you either > 1) up-sampled the reference song to 88.2kHz using a 3rd party high-quality > "reference algorithm" > or > 2) downsampled your 2 versions back to 44.1 using the best quality algorithm you > can find, maybe again a 3rd party "reference algorithm". > > Then, with the reference and processed versions at the same sample rate, > comparison is easier. > > However, stepping back a bit, I agree with the other posters that suggest using > tones to calculate SNR rather than songs. The results will be much more > predictable, understandable, and easier to obtain. That's what the sample rate > conversion chips do for their spec sheets. In fact, reading some of those would > be a good way to get started in deepening your understanding of these issues. > > <argon_gold@hotmail.com> wrote in message > news:9903481.0406190109.6ce75fb2@posting.google.com... > > "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message > news:<h_CdnTZkPINkGE7dRVn-jw@centurytel.net>... > > > "Eric Jacobsen" <eric.jacobsen@ieee.org> wrote in message > > > news:40d31c4f.35456031@news.west.cox.net... > > > > Gold, > > > > > > > > If you have a high-precision reference of the song then you can > > > > subtract it > > > > > > Properly or carefully scaled that is.... might even require an iterative > > > process to get the scaling to be optimal (minimum difference energy). > > > Assuming the original has some noise in it or noiselike properties then, > > > assuming that the noises are uncorrelated, subtracting noise from noise is > > > additive. So, you might get a lower SNR estimate than is actually > > > there.... One would have to run some numbers. > > > > > > Fred > > > > Well, the reference SONG has a sampling frequency of 44.1kHz. While I > > am upsampling this song by a factor of 2, that means changing its > > sampling frequency to 88.2kHz. I've developed two routines (fixed > > point 16-bit and floating point) so after processing or upsampling > > it,I wanna compare the SNR of the song processed by these two > > routines. As the sampling frequency is different after the processing > > so I can not simply subtract it from my reference song. I've no SNR > > Info even for my reference SONG. > > > > The formula expressing the SNR of a digital audio system is SNR (dB) = > > 6.02n + 1.76 + 10 log10 (Fs/2Fmax), where n is the number of bits per > > sample, Fs the sampling frequency in Hz and Fmax the maximum baseband > > frequency in Hz. > > > > (1) FOR fs = 44.1khz with 16-bit Fmax = 22050 > > a1 = (1.76 + (6.02*16)+ (10 * log10(44100/(2*22050)))) > > a1 = 98.0800 dB > > > > (2)(upsampling) FOR Fs = 88.2kHz with 16-bit Fmax = 22050 > > a2 = (1.76 + (6.02*16)+ (10 * log10(88200/(2*22050)))) > > a2 = 101.0903 dB > > > > The above formula tells that if I double the sampling frequency I > > should have 3db increase in SNR. But how to determine it exactly from > > a given SONG??