Open-source USB interface: Audio Widget

"they clip at today's audio levels (ie, the loudness war has forced a lot of digital content up to 0db levels)."

I find the music to be useless.

uhm, that's not our judgement to make, is it?

do YOU want to be the vendor who makes an audio box and then has to 'explain' to customers what the technical reasons are for why their music is clipping? and why that other box does not clip?

barriers to sales. if you can avoid them while still at the design or eval phase and before you go to product manufacturing, why not?

I fully understand the draw of the dollar chips. for a while, I was kind of motivated to use them (I did try the pcm5102 with high hopes but gave up right away after a bad experience). its so cool to have one chip do the charge pump, i/v and filtering. but ONLY if they do a competant job!

of course I realize that the cost of the extra dollar dac is very low and folks like me can just ignore it and choose not to use the onboard analog.

amb's gamma2 dac is limited to 1.8v out due to having to live in a usb 5v world. 1.8v is a bit low for my liking, but its tolerable and the audio is entry-level high end. you'll never even get mid-end audio with the dollar chips.

too bad the dac subsystem can't be a daughter card with a common (that we design) pin interface. give all the signals and voltages you'd need via the interface and if someone wants a 5102 plugin module, fine. if someone wants the other dac, fine. let it be a hardware plugin option and allow enough room on that daughter card to support the dac and a simple op-amp and filter components. it might be the size of the controller daughter you have now.

kind of funny: the controller is the thing I would think would not change and does not need a daughter card ;) the dac, otoh, is the most arguable component here and should really BE the one to have the riser card design.
 
That's what I tried to make the USB-I2S module out to be.

I'm trying to locate a no-negative-supply-or-opamp-needed DAC chip which doesn't do phase inversion and preferably doesn't clip. Any ideas appreciated.

too bad the dac subsystem can't be a daughter card with a common (that we design) pin interface. give all the signals and voltages you'd need via the interface and if someone wants a 5102 plugin module, fine. if someone wants the other dac, fine. let it be a hardware plugin option and allow enough room on that daughter card to support the dac and a simple op-amp and filter components. it might be the size of the controller daughter you have now.
 
OT :)

Friday night. Wife is at some party. Kids in bed. What to do? A nice game of octave hacking :)

Previous late-night oscilloscope session showd that either there was something wrong with my DC gain expectations, or there was something wrong in the DC gain preprocessor code. 'Cause eventually the USB-I2S module is gonna go into my FPGA+PCM1704 based CD player. It just needs coefficient filter sets for all the sample rates first.

Anyway, I got a nice result, expectations were wrong, code looks mostly right. And just then Octave crashed. I'm taking that as an omen from the beer can in the fridge.

Cheers,
Børge
 
I fully understand the draw of the dollar chips. for a while, I was kind of motivated to use them (I did try the pcm5102 with high hopes but gave up right away after a bad experience). its so cool to have one chip do the charge pump, i/v and filtering. but ONLY if they do a competant job!
By the way, there should be no correlation between cost and digital clipping. Among chips that have internal FIR filtering, all that really separates clipping from non-clipping is the scaling of the filter coefficients. It does not cost extra to scale those coefficients so that clipping is impossible.

Other factors can certainly be affected by cost, such as the bit depth of the internal processing, dithering of filter results to available DAC bit depth, and the quality of the analog section of the hybrid chip. But clipping is not something that requires money to avoid - just decent design effort.
 
agreed, the clipping issue is not a cost issue. maybe its a laziness one? perhaps they built the dac using existing 'libraries' and someone used a cellphone quality (lol) filter instead of a proper audiophile one.

what's a little funny is that, when searching for the 5102 online, I found some guy who claimed to be the developer (at TI) for that chip. dunno, if it was my project, I'd not want anyone to know that I was the one who designed this chip! ;(

I didn't understand why that 8741 wolfson had an 'anti clipping' switch until I got clued in about this gibbs stuff. NOW I get it. and on my own 8741, I hard wire that anti clipping to be always on. that way its going to be tolerant of any audio stream I put thru it.

I don't remember hearing this gibbs problem in older dacs; from even the early cd technology launch days. maybe I never noticed it or maybe there weren't as many 'hot' data files back then.
 
linuxworks, you misunderstood my quote.

I only meant to refer to the overly compressed music, which I have no use for. It makes my head hurt after five minutes of listening.

ah, gotcha.

yes, its fatiguing. maYBe i NEEd to brING Out my OLd dbX 3Bx prOCessor??? wouLD THat fix thE Dyn rANGe isSUEs?

(lol!)


sorry, old dbx joke. prolly not very funny anymore either.
 
:D I don't know, there are probably more than a few around who understand.

Is the anti-clipping switch a bit in a register? I don't see anything in the pin-out about it.

I'm trying to get a W8741 board up and running now.

Well, it runs but the IR input for a remote does not as I am trying to get it to work with a RC6 remote and the code supported an Apple remote.
 
I've only run the 8741 in hardware mode and so, yes, its a definite pin.

shaman: I accept that it very well could be how I built it. I didn't even have a pcb or anything proper; but given that it wasn't really in the analog domain (I'm fairly sure) and that the builder has zero control over most things with this chip, it could only have been my poor wiring from i2s to the chip. do you think clipping would be the result of poor i2s wiring? I doubt it, personally.

with a complex chip, I would assume that I got it wrong (lol). but with such a simple chip, it pretty much works or it does not.

maybe my psu was insufficient? I used LDO chips and I'm not all that experienced with them. maybe I didn't do something right there.

we'll get confirmation soon enough, though! after this board with the 5102 chips hits the userbase, we'll see if this is a sucky chip or if it was just how I implemented it.
 
That's what I tried to make the USB-I2S module out to be.

I'm trying to locate a no-negative-supply-or-opamp-needed DAC chip which doesn't do phase inversion and preferably doesn't clip. Any ideas appreciated.


one common thing I've seen done (lately) is to use a TLE rail splitter chip and derive a midpoint (synthetic gnd). but half of a bit less than five is 'really low'.

personally, I'd rather see a full dual 15 rail when I see high performance audio.

are the modern monolithic dc-dc converters THAT bad and that unusable? I bought some but didn't try any yet (I was going to get a dual 5v for a PGA chip project and there was a nice little dc/dc that would give me a 'free' dual 5 from a single 5.)

yes, they'll need filtering but a lot of the commercial audio world does get by with dc/dc's and switchers.
 
personally, I'd rather see a full dual 15 rail when I see high performance audio.
That's somewhat dubious when you consider that the best DAC only puts out 5 V. So, if you're working with 30 Vpp, then you're just boosting it there from 5 Vpp, and I don't know how much that improves things.

Granted, if you need a hot output to drive professional gear, or if you have multiple audio sources to mix, then you really want the headroom. Also, the reconstruction filter in the analog domain might work better if you boost the DAC output first.

are the modern monolithic dc-dc converters THAT bad and that unusable?
Most DC-DC converters generate high-frequency square waves. So, you need to be able to filter that out, and also make sure that it doesn't bleed into sensitive analog areas of your board.

yes, they'll need filtering but a lot of the commercial audio world does get by with dc/dc's and switchers.
Even the best audiophile amplifiers have something about as sophisticated as a power resistor in series between two bands of giant bypass capacitors, just to filter any possible noise coming from the wall. If it works at 120 VAC, or whatever the supply rails are running in the power amp, then it seems like a similar C-RC filter should work just fine on live level signals. But there are many ways to filter supply noise...
 
That's somewhat dubious when you consider that the best DAC only puts out 5 V. So, if you're working with 30 Vpp, then you're just boosting it there from 5 Vpp, and I don't know how much that improves things.

...

I disagree here. With these s-d davc's the analog stage is first an integrator summing the differential outputs then there needs to be filtering and possibly buffering, the more headroom the better the linearity, its common sense (just look at any 5V opamp datasheet).

But I think the point is mute. The widget project needs a full I2C software control WM8741 version, it doesn't need an output stage. Anyone smart enough to configure the widget is going to want to be creative with the analog stage, and there are diverse approahes and opinions. Thats a good thing.

The widget is a great tool for those of us who enjoy ths audio hobby (projects by fanatics for fanatics) we aren't all going to agree on the analog stage, leave it off. Some will just summ with a pair of transformers, some with use the latest +_18V LME opamp, some will build a Bozos analog stage, etc, etc. I don't see the widget as a project to debate analog, its about getting the digital side integrated with the computer and hopefully allowing software control in a means not typically available to a diyer.

I've exchanged emails with the designer several times about the WM8741, my assumption was he was perfecting the code/technology with these budget chips which makes perfect sense, less cost in prototyping/evolving the design.

But I hope the time has come for a true audio quality DAC to be integrated. It would allow many of us to build a modern D/AC we as individuals want (most of us can't program DSPs) but we know analog.
 
Last edited:
I don't remember hearing this gibbs problem in older dacs; from even the early cd technology launch days. maybe I never noticed it or maybe there weren't as many 'hot' data files back then.

That's because those chips were multibit with a clear time-domain relationship between digital input and analog output.

In 2005 I attended a week-long sigma-delta summer scool in Lausanne. Learned a lot. Here's a short summary.

The newer DACs are sigma-delta, with a clear frequency-domain relationship between in and out. In the time-domain those chips need to do upsampling. Typically, there is a fairly slow FIR close to the input. In the case of 44.1 and 48 ksps the FIR can be designed as an 8x oversampler. It typically has a windowed-sinc time-domain response. I.e. frequency-domain flatness i.e. time-domain Gibb's.

After the FIR comes a CIC filter to finish off the chip's total oversampling of (typically) 64 between imput and modulator. A CIC is a simple structure which does piecewise constant/linear/parabolic etc. depending on its order. (As a funny twist, piecewise constant in the time domain means sinc in the frequency domain. PW linear gives sinc^2 etc.)

This means the FIR may compensate for the CIC dropping off, and actually lift the higher frequencies a bit. The sum of this HF gain and inherent Gibb's ringing gives an FIR filter which will give an output of >1 even though its coefficients and input are both limited to <=1. It is easy to design an input sequence which gives a worst-case FIR output. But the good news is that the worst-case output is limited for any given FIR filter.

If designers claim that the worst-case input needed is somewhat esoteric, they are correct. But the least thing they should do is make sure that the FIR output is clipped. In the ES9023 the FIR output doesn't clip, it overflows! As in 0x7F+0x01=0x80 (full positive + 1 = full negative).

Multibit DACs of >16 bits (like PCM63/1702/1704 and arcaic 18-bitters) can be considered as 0th-order CIC filters = analog piecewise constant. They serve a purpose by allowing (but not needing) oversampling. But that's a whole 'nother story....

Cheers,
Børge
 
we'll get confirmation soon enough, though! after this board with the 5102 chips hits the userbase, we'll see if this is a sucky chip or if it was just how I implemented it.

I was mostly referring to the 9022/9023 chips I had the chance to listen to.
Nawships-something-guy reports going through various iterations to get the numbers he's getting and I also know EUVL has spent quite some time dealing with very fine details trying to optimize his own implementation.
Having heard the latter it in my system, I can tell you it's irritatingly close to my Buffalo DAC (featuring the "flagship" 9018), which in turn has proven its worth against numerous, high-priced commercial DACs. ;)
 
I have a bunch now of these $DACs, 2 iterations of 9023, pcm5102 and an WM8741 (trying to figure out how to get the levels up for SE - sounds as crap taking the signal out from the OPA2365 for the moment...). The one I still always fall back on is Georges 9023 of yoyodyne... Second is Borges AB-1.1.

I have been buggering someone on only delivering the usb-i2s part - about half the size... Maybe it is time to show interest from others on this. The DAC will then be of anyones choice. Make your guess or someone might feel to go public on this ;-)

Brgds
 
I have been buggering someone on only delivering the usb-i2s part - about half the size... Maybe it is time to show interest from others on this. The DAC will then be of anyones choice. Make your guess or someone might feel to go public on this ;-)

The last batch I've ordered is for assembled modules without an accompanying assembled analog board.

The same batch also has the unassembled prototyping boards.

Are you hinting that a multibit NOS widget could be in the works?

Sounds interesting! But it was mainly to illustrate that NOS and 0th order CIC have mathematical similarities. For a DAC to be _easy_ to patch in it should accept standard I2S, 22/24MHz MCLK and a single <5V supply. If you have one of those it should be quite doable to patch it in on the AB-1.12 prototype board.

Børge