Resuming my self-imposed role as "playground cop", here's the deal as I see it: There are actually 2 different issues up for debate in this thread: 1. Does quantizing to 1-bit audio give that "old time movie sound"? I think we all agree the answer is no! 2. Does quantizing to 1-bit audio yield pure noise or can you still recognize the audio? From my experiments, the answer is clearly that when _dithered properly_ and the original signal was large enough, you can still definitely recognize the audio, though it is buried in noise. It sounds somewhat like recording something at a very low level on a cassette deck and then really cranking up the volume on playback. The tape hiss is very audible, but you can still make out the audio, noisy as it is. Most of the confusion seems to be due to not recognizing the 2 separate questions. IMHO. -Jon "Jerry Avins" <jya@ieee.org> wrote in message news:40ae15cb$0$3107$61fed72c@news.rcn.com...> TonyP wrote: > > > "Jerry Avins" <jya@ieee.org> wrote in message > > news:40ad4ecf$0$3106$61fed72c@news.rcn.com... > > > >>Dick Pierce wrote: > >> > >>>"Richard Crowley" <rcrowley7@xprt.net> wrote in message > > > > news:<10aola6pnbau090@corp.supernews.com>... > > > >>>>Of course true "1-bit" audio is indistinguishable from > >>>>random noise. > >>> > >>>In a word, wrong. In two words, completely wrong. > >>>A 1-bit stream is perfectly capable of holding quite intelligible > >>>audio. It will have a broadband dynamic range of only 6 dB, but > >>>that is quite enough for intelligible speech and easily recognizable > >>>music. > > > > > >>Please read the thread and don't try to justify balf-baked ideas. > > > > > > Nothing half baked about Dicks ideas! > > As far as facts go, Dick is right on the mark. Nothing half baked there. > The notion of making sound with just the sign bit of a sampled waveform > and expecting it to sound like an old movie sound track: that's half baked. > > >>>You should maybe review works such as Lipshitz and Vanderkooy's > >>>"Resolution below the least significant bit in audio systems with > >>>dither" from JAES before making such a pronouncement. > > > > > >>Why? It's irrelevant to this thread. > > > > > > Dick specifically responded to Richards incorrect statement. Your post is > > irrelevant to that. > > He responded with IMHO irrelevant examples useful of 1-bit signals. (He > could have added delta modulation and bit-serial data protocols.)
1-Bit Wave File?
Started by ●May 16, 2004
Reply by ●May 21, 20042004-05-21
Reply by ●May 21, 20042004-05-21
"Richard Crowley" <rcrowley7@xprt.net> wrote in message news:10aqsuum4rggo20@corp.supernews.com...> > "Jon Harris" <goldentully@hotmail.com> wrote in message > news:2h46a1F8tjkvU1@uni-berlin.de... > > "Richard Crowley" <rcrowley7@xprt.net> wrote in message > > news:10aola6pnbau090@corp.supernews.com... > > > > > > Of course true "1-bit" audio is indistinguishable from > > > random noise. > > > > Not really. DSD is one bit (at a very high sampling rate) and certainly > doesn't > > sound like random noise. Even with "regular" sample rates such as > 44.1kHz, so > > you can still recognize properly-dithered audio at very low bit depths > (even 1 > > bit). The audio is buried in noise, just like it would sound if you > recorded at > > very low levels on a medium such as cassette tape, but the ear is pretty > good at > > pulling out the real sound from the noise. > > While theoretically possible, this seems light-years away from > the OP's original discussion, hence my "shocking" statement.The thread has elvolved somewhat from the OP's question. See my other post on this. I agree that whether 1-bit audio sounds like noise or audio is far afield from the OP question, but it is an interesting (to me) side-topic worth discussing at least a little bit.
Reply by ●May 21, 20042004-05-21
"jim" <"N0sp"@m.sjedging@mwt.net> wrote in message news:40ae12c8_4@corp.newsgroups.com...> > > Randy Yates wrote: > > > The noise will be high, but my intuition tells me you will be able to hear > > the signal (at least one that is at a high level) in the noise. Almost > > certainly one would be able to hear a full-scale sinewave in such noise. > > Why would the scale of the sine wave make any difference or maybe I > misunderstand what you're saying.It is simply a signal-to-noise ratio issue. Much noise is added by the dithering/quantizing process. If the original signal is quite loud, it will still be recognizable above the noise floor. If it is very low level, it will be further buried by the noise. I did a quick experiment, and a full scale sinewave quanitzed with dither was easily heard. I decreased the level and somewhere around 20-30dB down, you really start to lose it. I was actually suprised by how low you could go and still make out the tone in the noise.
Reply by ●May 21, 20042004-05-21
"Robert Gault" <robert.gault@worldnet.att.net> wrote in message news:%Y1rc.8040$fF3.196740@bgtnsc05-news.ops.worldnet.att.net...> Curious wrote: > > > Randy Yates <yates@ieee.org> wrote in messagenews:<u0yfes12.fsf@ieee.org>...> > > > I want film-quality sound. By "film quality" I am referring to the > > crackling [resembles the sound of burning coal] and lack of clarity in > > the audio recordings of old B&W films which used the > > variable-intensity recording. I would like to preserve the frequency > > response of CD-audio [keep the 44.1 KHz sampling rate], however, I > > would like to make it mono and film-quality in terms of the artifacts > > mentioned above. For some reason this type of music gets my juices > > going. > > You may be able to get this effect with a program like CoolEditPro which > can merge a wide variety of distortion effects into your original sound. > One of the built-in distortion settings may produce the type of sound > you are after or you can create your own distortion. > > If you own one of these noisy films, record the sound from a section of > film that has mostly noise and no audio. A program like CoolEditPro can > extract the noise from the film section and merge it into any other > sound file you have.I think this is the right approach. This type of film noise is bursty, not like quantization noise. I would probably add some low level pink noise to increase the noise floor (easier than quantizing) and then find/create a suitable "crackly" sound file to mix in. This file could be looped as necessary if it wasn't as long as the sound track.
Reply by ●May 21, 20042004-05-21
Jon Harris wrote:>> > It is simply a signal-to-noise ratio issue. Much noise is added by the > dithering/quantizing process. If the original signal is quite loud, it will > still be recognizable above the noise floor. If it is very low level, it will > be further buried by the noise. I did a quick experiment, and a full scale > sinewave quanitzed with dither was easily heard. I decreased the level and > somewhere around 20-30dB down, you really start to lose it. I was actually > suprised by how low you could go and still make out the tone in the noise.Well that was the point I was making in general there isn't going to be any significant difference between fullscale and halfscale, for example. No difference at all if they both have the same SNR. I'm also not so sure that dithering helps any when you reduce the bit depth below 2 bits. But maybe I just don't know the _proper_ way to dither when going down to 1 bit. -jim -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Reply by ●May 21, 20042004-05-21
jim <"N0sp"@m.sjedging@mwt.net> writes:> [...] > Why would the scale of the sine wave make any difference or maybe I > misunderstand what you're saying.Simple - signal-to-noise ratio. The higher the sine wave (up to FS clipping) the higher the signal power and the better the SNR. If you use dither, I would think, even with only 1 bit, you could hear a sine wave at lower levels than FS, but FS would almost definitely be audible. Wait - I'll try it... Yep, you can hear a FS sine wave just fine - boomin'! A Chopin piano piece came through lovely too, just with a bunch of noise. Here are the Matlab scripts in case you want to try this at home: % Modify as required [chopin,Fs,N] = wavread('~/wav/chopin'); wavwrite(quantize(chopin,1,1),Fs, N, 'chopinq'); quantize.m ---------- function y = quantize(x,N,ditherBool) %function y = quantize(x,N,dBool) % FUNCTION: N-bit Dithered Quantizer % AUTHOR: Randy Yates % DATE: 05-21-2004 % PARAMETERS: % x = real input vector to be quantized, in the range -1 to +1. % N = number of bits % ditherBool % 0 = do NOT dither % 1 = add TPDF dither of appropriate amplitude to x before quantizing % DESCRIPTION: % This function takes the input x and quantizes it N bits. % Both the input and output will be in the range -1 to +1. % generate dither d = ditherBool*(rand(size(x)) + rand(size(x)) - 1); x1 = x*2^(N-1) + 2^(N-1) - 1/2; x2 = clip(x1+d,-0.5+20*eps,2^N - 1 - 20*eps); x2 = round(x2); x3 = x2* (2/(2^N - 1)) - 1; y = x3; clip.m ------ function y = clip(x, Mmin, Mmax) %function y = clip(x, min, max) % FUNCTION: clip % AUTHOR: Randy Yates % DATE: 05-21-2004 % PARAMETERS: % x = real input vector to be clipped % Mmin = lower clip level % Mmax = upper clip level % DESCRIPTION: % The input will be clipped so that Mmin <= y <= Mmax y = min(x,Mmax); y = max(y,Mmin); -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Reply by ●May 21, 20042004-05-21
jim <"N0sp"@m.sjedging@mwt.net> writes:> Jon Harris wrote: > > > > > > > It is simply a signal-to-noise ratio issue. Much noise is added by the > > dithering/quantizing process. If the original signal is quite loud, it will > > still be recognizable above the noise floor. If it is very low level, it will > > be further buried by the noise. I did a quick experiment, and a full scale > > sinewave quanitzed with dither was easily heard. I decreased the level and > > somewhere around 20-30dB down, you really start to lose it. I was actually > > suprised by how low you could go and still make out the tone in the noise. > > Well that was the point I was making in general there isn't going to be any > significant difference between fullscale and halfscale, for example. No > difference at all if they both have the same SNR.They *WON'T* have the same SNR. THAT'S THE POINT!> I'm also not so sure that dithering helps any when you reduce the bit depth > below 2 bits.The coarser the quantizer, the more dither helps, all the way down to 1 bit!> But maybe I just don't know the _proper_ way to dither when > going down to 1 bit.Same way as for N bits. The dither level for N bits is a function of N, just set N = 1. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Reply by ●May 21, 20042004-05-21
On 2004-05-21, Jon Harris <goldentully@hotmail.com> wrote:> "jim" <"N0sp"@m.sjedging@mwt.net> wrote in message > news:40ae12c8_4@corp.newsgroups.com... >> >> >> Randy Yates wrote: >> >> > The noise will be high, but my intuition tells me you will be able to hear >> > the signal (at least one that is at a high level) in the noise. Almost >> > certainly one would be able to hear a full-scale sinewave in such noise. >> >> Why would the scale of the sine wave make any difference or maybe I >> misunderstand what you're saying. > > It is simply a signal-to-noise ratio issue. Much noise is added by the > dithering/quantizing process. If the original signal is quite loud, it will > still be recognizable above the noise floor. If it is very low level, it will > be further buried by the noise. I did a quick experiment, and a full scale > sinewave quanitzed with dither was easily heard. I decreased the level and > somewhere around 20-30dB down, you really start to lose it. I was actually > suprised by how low you could go and still make out the tone in the noise.Here is an experiment I did. There are 16 repetitions of the well-known 909 kick drum, mixing triangular noise in varying amounts and quantizing to 1 bit. Each hit of the drum doubles the noise. It's really interesting to look at with a wave editor, as well as to listen. At the low-noise version, you hear a "mean" kick sound. At the noisy end, you hear more dynamic range and more noise. I personally like it best with about 3/4 of an LSB added. BTW, the subjective volume seems quieter when more noise is added: http://www.gweep.net/~shifty/audio/1bit/reduction/re02.wav best listened to in loop mode!! :) -- different MP3 every day! http://gweep.net/~shifty/snackmaster . . . . . . . . ... . . . . . . "Maybe if you ever picked up a goddamn keyboard | Niente and compiler, you'd know yourself." -Matthew 7:1 | shifty@gweep.net
Reply by ●May 21, 20042004-05-21
"Randy Yates" <randy.yates@sonyericsson.com> wrote in message news:xxpisepcyg7.fsf@usrts005.corpusers.net...> jim <"N0sp"@m.sjedging@mwt.net> writes: > > > Jon Harris wrote: > > > > > > It is simply a signal-to-noise ratio issue. Much noise is added by the > > > dithering/quantizing process. If the original signal is quite loud, itwill> > > still be recognizable above the noise floor. If it is very low level, itwill> > > be further buried by the noise. I did a quick experiment, and a fullscale> > > sinewave quanitzed with dither was easily heard. I decreased the leveland> > > somewhere around 20-30dB down, you really start to lose it. I wasactually> > > suprised by how low you could go and still make out the tone in the noise. > > > > Well that was the point I was making in general there isn't going to be any > > significant difference between fullscale and halfscale, for example. No > > difference at all if they both have the same SNR. > > They *WON'T* have the same SNR. THAT'S THE POINT!Right! Halfscale with have 6dB less SNR than full-scale.
Reply by ●May 21, 20042004-05-21
Thanks for posting Randy. FYI, I accomplished a similar thing using CoolEdit. I first reduced the gain by 90dB, making sure the Dither option was checked in preferences. Then I normalized the file to boost the level to where I could easily hear it. It's not strictly 1-bit, because you end up with 3 levels (-full scale, zero, +full scale), so it's more than 1.5 bit. But it illustrates the general effect quite nicely. "Randy Yates" <randy.yates@sonyericsson.com> wrote in message news:xxpn041cyuf.fsf@usrts005.corpusers.net...> Wait - I'll try it... > > Yep, you can hear a FS sine wave just fine - boomin'! A Chopin > piano piece came through lovely too, just with a bunch of noise. > > Here are the Matlab scripts in case you want to try this at home: > > % Modify as required > [chopin,Fs,N] = wavread('~/wav/chopin'); > wavwrite(quantize(chopin,1,1),Fs, N, 'chopinq'); > > quantize.m > ---------- > function y = quantize(x,N,ditherBool) > %function y = quantize(x,N,dBool) > % FUNCTION: N-bit Dithered Quantizer > % AUTHOR: Randy Yates > % DATE: 05-21-2004 > % PARAMETERS: > % x = real input vector to be quantized, in the range -1 to +1. > % N = number of bits > % ditherBool > % 0 = do NOT dither > % 1 = add TPDF dither of appropriate amplitude to x before quantizing > % DESCRIPTION: > % This function takes the input x and quantizes it N bits. > % Both the input and output will be in the range -1 to +1. > > % generate dither > d = ditherBool*(rand(size(x)) + rand(size(x)) - 1); > x1 = x*2^(N-1) + 2^(N-1) - 1/2; > x2 = clip(x1+d,-0.5+20*eps,2^N - 1 - 20*eps); > x2 = round(x2); > x3 = x2* (2/(2^N - 1)) - 1; > y = x3; > > > clip.m > ------ > function y = clip(x, Mmin, Mmax) > %function y = clip(x, min, max) > % FUNCTION: clip > % AUTHOR: Randy Yates > % DATE: 05-21-2004 > % PARAMETERS: > % x = real input vector to be clipped > % Mmin = lower clip level > % Mmax = upper clip level > % DESCRIPTION: > % The input will be clipped so that Mmin <= y <= Mmax > > y = min(x,Mmax); > y = max(y,Mmin);






