I need add nothing to this:
Here’s something I’d completely forgotten about, or perhaps never known. The ‘Scarlett Book’ for SACD recommended that the high resolution audio be low pass filtered at 50kHz (@-3dB). I was reminded/informed of this by the datasheet for the Cirrus Logic CS4398 DAC.
What then to make of this insert that appeared in just about all SACDs in the early days?
A lot rests on the word ‘theoretically’.
So, here’s another signal generator to compare to those I looked at in ‘Noise and distortion in signal generation’. This is the Siglent SDG1020, a dual output 20MHz, arbitrary waveform model. It uses 14 bits of resolution apparently.
Here’s its noise performance. Channel 2 output (Channel 1 is identical), 1kHz sine wave recorded using a Focusrite Forte ADC at 24 bits, 96kHz using the ASIO interface with Reaper to preserve full resolution, then examining the file in CoolEdit 2000. I neglected to record the output levels in the previous post. This one I had it set to 4 volts peak-to-peak:
A slight improvement over the Velleman, but not all that much.
What was a big improvement was the square wave rise time (as you’d expect, since the Velleman is only a 1Mhz unit). As a reminder, here’s the zoomed in leading edge of a 1V p-p sine wave with the Vellemen:
You can read the rise time off the info bar near the bottom: 233 nanoseconds.
And here’s the same from the Siglent:
A bit of overshoot there, but a hugely fast rise time. The info bar shows 5 nanoseconds, but it was actually toggling between 5 and 9. Still, that’s pretty damned fast. That overshoot is present regardless of output frequency or level. I wonder if there’s a calibration adjustment.
(I have written an article for Australian HI-FI suggesting that a good way to start to understand the differences between 16 and 24 bit audio is to listen to the differences between 8 bit and 16 bit audio. To that end
I will in the future be posting four versions of a musical excerpt here. In the meantime, I want to explore a weirdness that my experiments revealed, and explain why it happened.)
Let’s create a sine wave of 980 hertz with a sampling rate of 44.1kHz and 16 bits of resolution. Let this sine wave be of an extremely low level, with a peak of -80dB. Here’s its spectrogram:
(This was generated with a small amount of dither, which is why it has a noise floor at -138dB and is unaccompanied by the nasty harmonics that would normally be present with a sine wave that is sketched out in values of +3 to -3). Note that the spike reaches -80dB.
Now let’s downsample it to 8 bits, accompanied by some dither noise:
Note the very high level of the noise, to the point that the 980 hertz signal barely peeks out over the top. This signal’s spike reaches -80dB, just as it did before it was downconverted.
So let’s go back to the 16 bit original and downsample it again to 8 bits, this time with some aggressive noise shaping:
That’s better. The 980 hertz signal stands well out from the signal, and if you turn the whole thing up it is clearly audible. It, once again, reaches -80dB.
Now what I’ve been leading up to: again we return to the 16 bit original, and again we downsample to 8 bits. But this time there’s no dither, no added low level noise. Instead we simply divide the 16 bit value of each sample by 8, and map it onto the nearest 8 bit integer value. Here’s the spectrum:
Lots of harmonics, quite a bit of noise (although a lower level than with the plain dithering) and something that’s distinctly odd. Instead of the 980 hertz spike reaching -80dB, it makes it up to -48dB. How could reducing its precision from 16 bits to 8 bits have caused that?
Well, here’s the thing: -80dB is lower than minimum value definable in an 8 bit signal. The lowest quantisation level is -48dB. So the only way this wave form can be represented is by toggling between values for zero and one. Let’s zoom in on the wave form:
As you can see, our sine wave has become a kind of square wave, which explains all those harmonics. But it also explains why the fundamental is way too powerful. A sample value of ‘1’ is -48dB on an 8 bit scale, so that’s what our signal becomes.
Which is why dither is so vitally important, at least with 8 bit audio.
Here are the four test signals with the low level 980 hertz sine wave:
Download them and listen. You’ll have to turn up the volume quite a way to hear the 980 hertz tone.
And here are the four excerpts of the music from the group B’Jezus referred to in the article:
Last year I reviewed the Western Digital TV Live media box for Sound+Image, along with a bunch of other media boxes, and I gave it high marks, not the least because of its ability to handle high resolution audio. For that test I used the HDMI output only.
The thing is still sitting around here, so I thought I’d give the analogue output a whirl, just for fun. This is a 3.5mm socket for left and right audio plus composite video. I tested it on 44.1kHz stuff and got a mediocre-ish result. Noise floor around -94dBA, frequency response down 1.1dB at 20kHz. The kind of result that we would have killed for back in the 1970s, but a bit ho-hum by today’s standards.
Then I checked out 24 bit, 96kHz performance. Noise a touch better at slightly over 95dBA, but still pretty poor. The frequency response was down by 0.5dB at 20kHz, and then dropped away as though hitting a brick wall filter. This clearly wasn’t 96kHz output. So I figured I’d plug the WD TV Live’s optical output into a good quality DAC for comparison. I used the low cost, decent enough Silverstone EB01-E. It delivered a much better noise performance, consonant with 24 bit audio. Its output was down by only a quarter of a dB at 20kHz, but fell away as though hitting the same brick wall. Could it be that the WD was downsampling 96kHz? I plugged its HDMI output into a home theatre receiver that reports the audio sampling frequency, and it reported 96kHz. I plugged the optical output into a different DAC, one with sampling frequency indicators, and it showed 48kHz, not 96kHz.
So it seems that the WD TV Live can do high resolution audio output via HDMI, but not via analogue or optical out.
Here’s the response of the analogue output, the optical (via Silverstone) and for comparison the Silverstone being fed 24 bit, 96kHz directly from a computer:
You may be wondering why the Silverstone delivers a higher output at 20kHz when being fed the downsampled signal via optical than when it is receiving the full 96kHz via USB. With 44.1/48kHz signals they’ve gone for a sharp filter, but with 96kHz and higher they seem to have settled on a slower, gentler one.
When it came to noise, the WD TV Live to Silverstone delivered a much, much better result that the device’s own analogue output:
So this is interesting. Apparently, according to the fairly sparse specifications, the Velleman HPG1 signal generator uses a ten bit DAC, which suggests a fairly high noise floor. I figured I’d measure it to provide this blog with some more pretty pictures, and for comparison include the EA analogue generator that I built lo those many years ago. Then I thought, why not also compare a couple of computer-based DACs.
For the latter I generated a 1kHz sine wave in 24 bits/96kHz in Audacity on a Mac, fed it out through the relevant USB DAC. From then on the path was the same: analogue output recorded using a Focusrite Forte ADC at 24 bits, 96kHz using the ASIO interface with Reaper to preserve full resolution, then examining the file in CoolEdit 2000. These are worth looking closely at because there are very significant differences.
Electronics Australia K-7340:
M-Audio FastTrack Pro audio interface (my old computer interface, now on the Mac):
Silverstone EB01-E DAC (a relatively low cost audiophile unit):
As you can see, the noise floor is rather high in the Velleman, and bested by even the old analogue kit unit. Except for the 50 hertz, and harmonics, breakthrough. Both are crushed by the M-Audio, and particularly by the Silverstone.
Question for readers: why not use one of the computer DACs in the square wave test?
In 1997, just starting out on this writing stuff, I decided I needed an audio signal generator. Off-the-shelf ones, to the extent that they were available at all, were way too expensive for me. However back in those days there was usually a solution for someone who could wield a soldering iron: make it yourself. Not that I was competent to design one, but the magazine Electronics Australia, before its regrettable demise, had already done that work, and Dick Smith, which then still catered to the electronics hobbyist, had kits.
So for $59.95 I purchased the K-7340 Sine/Square Wave Oscillator and put it together. Apparently not too poorly, for it still works these eighteen years later. As the name suggests, it delivers both sine and square waves. It works from around 6 hertz to around 70,000 hertz. Being analogue, it’s virtually impossible to select a specific frequency, although sometimes you can get close. I currently have it running at 1.00065kHz according to the frequency counter on my oscilloscope. At high frequencies it creeps up in frequency, but it has a fairly even output across its range. Not too bad at all.
If you’re interested, someone on ebay has a couple of the original kits for sale. Price: $169.95!
But now I’ve gone digital, Recently I purchased a portable digital signal generator from Jaycar, the Velleman HPG1. 1Hz to 1,000,000Hz, sine, square and triangle. Here they are:
Let’s be clear here: the Velleman outperforms the old analogue generator in just about all respects by a considerable margin. Except one: rise time. Here’s the leading edge of a 1kHz 1 volt p-p square wave produced by both devices:
For a 10% to 90% rise, the Velleman takes about 0.26 microseconds. The ancient EA analogue unit takes 0.1 microseconds. If you compare the 0% to 100% rise times, it’s about 0.56µs for the Velleman, and 0.25µs for the analogue unit.
It seems that in some cases, simply switching something on and off can outperform a digital construction. At least in modestly priced gear. Note, the Velleman’s specs claim a rise time of 0.2µs, which seems roughly right (depending on how you measure it). Much better specs are available with a typical 20MHz entry level (ie ~$500) benchtop digital function generator. These promise figures like 12ns — 0.012µs — for the 10% to 90% rise time on that square wave. That’s just about an order of magnitude better than the old analogue unit.
Anyone who is interested in understanding any of the nuts and bolts of digital audio will appreciate this video. Anyone who wants to have any kind of informed opinion about how digital audio sounds, its merits and limitations, should also watch this video. Anyone who thinks that the staircase pattern visible on representations of digital audio somehow mars the sound of 16 bit audio compared to 24 bit audio should watch this video.
It describes sampling, quantisation, dither and the limited bandwidth inherent in digital audio in an entertaining and extraordinarily clear way, using analogue signals, oscilloscopes and frequency analysers. This is a fine way to spend 23 minutes of your time.
iTunes has been getting increasingly creaky on my Windows 8.1 computer. The first symptom was that after Windows had been running for a while it would fail to refresh my podcasts, even when I manually told it to. ‘[F]or a while’ might be half an hour or several days, with no clear indication why the difference. I’d click the refresh button, it would rotate, and then nothing would happen. Only when I’d go to close iTunes would the ‘refresh’ whirligigs appear next to the podcasts, but still they wouldn’t update. Closing (this worked on the second attempt) and restarting iTunes didn’t help. A Windows reboot was required.
In addition a circled ‘i’ indicator would appear next to my podcasts periodically, informing me that because I hadn’t listened to that particular podcast for some time, it would no longer update. Problem was, this was for podcasts that I’d updated and listened to that very day.
And then a couple of days ago, iTunes started crashing when I’d connect my iPod Nano to the computer. A reboot helped the first time. But then it came back. A ‘Repair’ of the installation from Windows control panel appeared to help for a day or two, but then it came back. This morning I did a complete uninstall, a registry clean and a re-install of iTunes. It crashed on the very first start-up. I was starting to have dark thoughts about having to do a clean re-install of Windows. But first I googled around, and soon came across what appears to be a solution, but a very strange one indeed. But many people appear to have done it, and most have reported it worked.
You go to “C:\Program Files (x86)\Common Files\Apple\Apple Application Support” and copy from there the file QTMovieWin.dll. Then you go to “C:\Program Files (x86)\iTunes” and paste it in. I did. And iTunes now works. We’ll see how long it works and whether it resolved the other problems, but for now I’m happy.
But it does raise strange questions. First, why would iTunes crash because it can’t find a Quick Time Movie DLL? That’s pretty poor behaviour. Second, why did it not crash before given the absence of that DLL. Third, why hasn’t Apple set iTunes to look for the DLL in the Apple Application Support folder? Alternatively, why doesn’t the iTunes install put it in the iTunes program folder?
According to the forum where I found this solution, Apple itself suggested the fix. And that was ten months ago. Since then there have been several upgrades of iTunes (which I have dutifully installed as they’ve become available).
I’ve always felt that iTunes wasn’t a very good product on Windows machines (although I hear it works magnificently on Macs).
Update (The next day): That worked very nicely indeed … for 24 hours. Now iTunes crashes again every time I connect the iPod Nano. Maybe it’s the Nano that’s the problem.
This morning Freeview announced that Freeview Plus is launching on 2 September, or in fewer than four weeks. At last!
The main thing it will offer is an enhanced electronic program guide with a search facility but, more importantly, which will also act as a portal to catchup TV. Rather than going to ABC iView, SBS On Demand, or any of the commercial TV apps, which may or may not be on your smart TV or PVR, you will simply dial up last week’s programs from the EPG and your device will stream them over the Internet. This is an implementation of what’s called HbbTV, for Hybrid broadcast broadband TV.
I’ve got a couple of PVRs here which are awaiting final firmware.
Meanwhile, here’s Freeview’s forthcoming TV advertisement. This is of the kind that provides no useful information whatsoever, except that celebrities apparently like their previews of the system: