Support Head-Fi.org by starting all of your Amazon.com shopping by clicking here.
____________________________________________________________________
Today's Featured Head-Fi Blog:  A Japanese headfier's monologue (Sasaki)
____________________________________________________________________
Please help support Head-Fi by becoming a Contributing Member  CLICK HERE

-- Contributing Members, thank you for your generous support! --
Head-Fi Is Sponsored By:
Register FAQ Blogs Members List Calendar Mark Forums Read Today's Posts Search
 

Head-Fi's Sponsors
(Premier Sponsors bolded)

Featured

2008 International
Head-Fi Meet
(Can Jam '08)
Impressions,
Reviews, Photos


Can Jam '08 graphic
courtesy of Edwood

Click on the links below
for Can Jam '08 photos,
impressions and reviews:


NightWoundsTime
lan
agile_one
wavoman
crappyjones123
Luke G
bperboy
jimaxp

 


Can Jam '08 Logo
T-Shirts For Sale


Head-Fi Blogs
and Facebook

Check out Head-Fi's new
Blogs section.

Featured Head-Fi Blogs:

Jude's "Take My Word"

 From Japan - by Sasaki

(
Start your own Blog!)

Attention
Facebook Users



Join the official
Head-Fi.org
Facebook Group


Head-Fi's Sponsors
(Premier Sponsors bolded)

Featured


Go Back   Head-Fi: Covering Headphones, Earphones and Portable Audio > Equipment Forums > Computer Audio

Computer Audio Discussion of computers as source components, sound cards, USB DACs, media servers, etc.

TTVJ Millett Portable Amp & The Most Recent Sponsored Threads

Sales to Benefit Head-Fi (TTVJ Millett Portable Amp)




 
Reply
 
Thread Tools Display Modes
Old 09-21-2007, 05:03 AM   #1 (permalink)
Junior Head-Fi'er

Profile
Join Date: Feb 2007
Posts: 10
Question Which USB DAC's convert USB directly to I2S?

Hi there, I am in the market for a DAC to use with my computer. I want it to have a usb input and I want that input to be converted directly to i2s (as opposed to spdif). I know the DAC1 and all Wavelength audio products($$) do this, but I want more options. Does anyone know if the AQVOX USB 2 MKII or the stello DA220 do this? What about any others? I tried to do a search for this but comments related to I2S seem to be kind of few and far between. Any help is apreciated.

Thanks ,

Sean
sepv1 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 05:27 AM   #2 (permalink)
Headphoneus Supremus
 
MrSlacker's Avatar

Profile
Join Date: Aug 2004
Location: Brooklyn, NYC
Posts: 3,712

IM Contacts
Send a message via ICQ to MrSlacker Send a message via AIM to MrSlacker Send a message via MSN to MrSlacker Send a message via Yahoo to MrSlacker Send a message via Skype™ to MrSlacker
Default

HeadAmp Pico
__________________
Team College
Team Belarus

Home Rig: WinAmp -> HeadAmp Pico -> Denon AH-D5000 / Sennheiser HD-580 w/ APureSound V3 Senns Cable
Portable Rig: iRiver H120 -> HeadAmp Pico -> Ety 6i/Koss KSC-75/Koss KSC-35

My Feedback
MrSlacker is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 05:43 AM   #3 (permalink)
1000+ Head-Fi'er
 
error401's Avatar

Profile
Join Date: Oct 2006
Location: Vancouver, BC
Posts: 1,176

IM Contacts
Send a message via AIM to error401 Send a message via MSN to error401
Default

It doesn't include a high quality DAC and would require a DIY enclosure, but Twisted Pear's Opus project includes a module that accepts USB input and produces I2S output. It's also got basic analog outputs from the mediocre PCM2707 it uses for USB->I2S

You just get the board and the parts soldered onto it though, no connectors, indicators or casework.

http://www.twistedpearaudio.com/opus/opus.aspx and look at the 'USB Receiver Module'.

I have to question why you want this though; my own educated guessing suggests that SPDIF from a PCI card to the DAC will have a much less ambiguous embedded clock than USB audio can. Of course, if your destination DAC does aggressive reclocking this shouldn't be a big deal, and there are other applications for such a device - but I don't think it's the best road to high fidelity computer audio.
__________________
http://audio.gotroot.ca/

Home [speaker] ~ PC » AlienDAC » 41hz AMP5 » Mission 770
Home [cans] ~ PC » MiniDAC » MiniVol » CK˛III » Beyer DT-770 Pro80
Portable ~ Zune 30GB » Minił » K81DJ
In progress designs ~ AD1955 'MiniDAC' ~ DIY DTS Decoder
Completed designs ~ Itsy Bitsy TPA6120 Amp ~ MiniPow Bipolar Supply ~ MiniVol Volume Control
error401 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 02:07 PM   #4 (permalink)
Headphoneus Supremus

Profile
Join Date: Jan 2006
Location: Northwest Indiana (metro Chicago)
Posts: 1,860
Default

Originally Posted by error401 View Post
.......but I don't think it's the best road to high fidelity computer audio.
What direction, then, do you think designers should take for a truly high fidelity computer-to-DAC system?
sejarzo is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 05:20 PM   #5 (permalink)
1000+ Head-Fi'er
 
error401's Avatar

Profile
Join Date: Oct 2006
Location: Vancouver, BC
Posts: 1,176

IM Contacts
Send a message via AIM to error401 Send a message via MSN to error401
Default

The problem with USB audio (at least the USB audio class defined by the USB standard, that most 'audiophile' stuff uses due to economies of scale - this may not apply to commercial products like E-mu 0404 etc.) is that the clock is wholly derived from the actual data transfer itself. The receiver is supposed to get its master clock by averaging each data packet received, which are supposed to come at a rate of exactly 1KHz. There are two problems here. First is that the reference master clock is generated by the PC's USB interface or possibly even the software itself, so it won't be very accurate. Second is that it's much more difficult to design a PLL to sync to this property, and because the receiver's output clock must be generated by multiplying this 1KHz clock by a large factor, error is multiplied.

IMO you're better off using a PCI soundcard with SPDIF output, since the SPDIF clock is a) generated directly by the soundcard's clock circuitry, which is purpose specific and b) is continuous and at a much higher rate, and thus much easier for the receiver's PLL to sync to and c) matches exactly the necessary clock for the DAC, so no multiplication is required.

In short, it all comes down to the clocking. USB does a pretty terrible job of making it easy for the receiver to recover the necessary clocks. It's doable, or devices wouldn't work without serious glitches all the time, but personally I feel more comfortable using an interface where the clock is easy to recover.

If you want 'true' high fidelity, I would hack (or buy) a PCI card for I2S output. USB is the limitation, not trying to get I2S out of the computer. PCI soundcards control the timing of the audio (and generating an interrupt for the software when their buffers need refilling), many USB cards are slaves to the computer's USB bus and just play what they're sent, when they're sent it.
__________________
http://audio.gotroot.ca/

Home [speaker] ~ PC » AlienDAC » 41hz AMP5 » Mission 770
Home [cans] ~ PC » MiniDAC » MiniVol » CK˛III » Beyer DT-770 Pro80
Portable ~ Zune 30GB » Minił » K81DJ
In progress designs ~ AD1955 'MiniDAC' ~ DIY DTS Decoder
Completed designs ~ Itsy Bitsy TPA6120 Amp ~ MiniPow Bipolar Supply ~ MiniVol Volume Control
error401 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 07:58 PM   #6 (permalink)
Junior Head-Fi'er

Profile
Join Date: Feb 2007
Posts: 10
Default

This is very frustrating due to the fact that there are numerous conflicting reports of how USB audio actually works, for instance
here:
http://www.head-fi.org/forums/showpo...&postcount=573

and here:

http://www.head-fi.org/forums/showpo...&postcount=580

I realize that some DACs use asychronus and some do not, but both claim their methods eliminate jitter with usb... If someone could put this debate to rest that would be great.
sepv1 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 08:05 PM   #7 (permalink)
500+ Head-Fi'er

Profile
Join Date: Feb 2007
Posts: 993
Default

Scott Nixons Dacs and Yeo from Diyparadise both have DACs that do this I beleive.
JadeEast is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 08:50 PM   #8 (permalink)
1000+ Head-Fi'er
 
error401's Avatar

Profile
Join Date: Oct 2006
Location: Vancouver, BC
Posts: 1,176

IM Contacts
Send a message via AIM to error401 Send a message via MSN to error401
Default

Originally Posted by sepv1 View Post
This is very frustrating due to the fact that there are numerous conflicting reports of how USB audio actually works, for instance
here:
http://www.head-fi.org/forums/showpo...&postcount=573

and here:

http://www.head-fi.org/forums/showpo...&postcount=580

I realize that some DACs use asychronus and some do not, but both claim their methods eliminate jitter with usb... If someone could put this debate to rest that would be great.
Most USB audio devices use isochronous transfer (which IMO is worse than asynchronous, more on that later). If the device doesn't require a driver, this is guaranteed as Windows doesn't support asynchronous mode USB audio class devices.

This slaves the DAC clock to the USB receiver, which is then slaved to the PC's clock, which is probably not of high precision (I believe, and haven't looked into it, but this 1ms delay is probably implemented with the PC's RTC, which is not very accurate). Even if it were, the low frequency and large number of output clock samples that must be generated make a difficult job for the PLL on the USB receiver. What we end up with is a pretty unstable input to the PLL, which already is running under difficult conditions. So we can shove in some asynchronous reclocking to deal with the poor quality recovered clock, which is another argument entirely. This is what that post is referring to. It will reject jitter indeed, but there are convincing arguments that other distortion is introduced as a result, and no reclocking circuit is perfect.

The alternative is to a) use an accurate clock source to begin with and b) get this clock signal as undamaged as possible to the DAC. There are two ways to approach this. We can put the master clock in the DAC, or in the soundcard. With a PCI soundcard, this is exactly what happens. Either the OS monitors the soundcard's buffer, or the soundcard requests data with an interrupt when the buffer gets below a certain threshold. Data is clocked entirely out of the buffer. When data is required, the driver calls a callback function in the application that's playing sound and the application then fills the buffer with the next set of samples. In this fashion, the buffer stays filled and the exact sample rate is controlled by the soundcard itself (which plays out of the same memory buffer the application writes to). The soundcard then uses this same sample clock to generate the SPDIF signal, which is very tightly coupled to the clock output, making the clock relatively easy to recover.

The alternative is to place the clock in the DAC itself, as with a USB asynchronous transfer. This is a very similar situation to the PCI card above, except for the limitations of the USB bus which make it much more difficult to obtain a low-latency and not miss many samples. It has the advantage of giving the actual DAC chip access to the master clock, with no regeneration step required. This is probably the optimal situation you will see with unmodified hardware, if USB is solid enough in your case that you don't lose samples (only isochronous transfers are guaranteed bandwidth), if it can handle your sample rate, and if you don't care about latency or hardware mixing.

Finally, it should not be too difficult to modify a cheap PCI card to pull the I2S lines from it out to an external DAC if you so desired. I'm considering doing this with my old SB Live!, but I'm not certain these signals are exposed... With something like an AV-710 it should be trivial. Just find the DAC IC, get its pinout and tap the signals, or even remove it entirely and connect to its pads. Overall I'd say this is the best solution, at least for my own use case, as it has low CPU usage, large bandwidth, low latency, and the possibility of DSP/mixing/etc. happening in the soundcard instead of in software.
__________________
http://audio.gotroot.ca/

Home [speaker] ~ PC » AlienDAC » 41hz AMP5 » Mission 770
Home [cans] ~ PC » MiniDAC » MiniVol » CK˛III » Beyer DT-770 Pro80
Portable ~ Zune 30GB » Minił » K81DJ
In progress designs ~ AD1955 'MiniDAC' ~ DIY DTS Decoder
Completed designs ~ Itsy Bitsy TPA6120 Amp ~ MiniPow Bipolar Supply ~ MiniVol Volume Control
error401 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 10:06 PM   #9 (permalink)
100+ Head-Fi'er
 
Wavelength's Avatar

Profile
Join Date: Jul 2005
Location: Zinzinnati, Ohio USA
Posts: 115
Default

Error401,

All non-driver oriented USB DACS use ISO mode. But there are 3 modes, Sync (no one uses), Adaptive and Async.

If you use off the shelf controllers like the PCM27xx then yes you have to reclock for good results.

But it is actually very easy with some ARM processors and the TI TUSB3200 and TAS1020 to do Adaptive and Async mode with external very low jitter clocks.

You are confusing the 1KHZ thing a little. Basically adaptive you determine the internal and computer differences from the varience between your 1KHZ clock and the SOF frame which happens every 1ms. But really non of this matters because you still use the internal clock because you have a large buffer you can manage your internal clock changes to very little changes.

Non of these devices truely run off the SOF frame to make the clock that sillyness.

But again one of the problems is that USB controllers typically derive their clocks from the 12MHZ USB Clock and getting 11.2896MHZ from that makes for some problems.

But again you can source a MASTER clock to many of these devices and get much better results than any PCI card can ever do. Because in USB there is no clock and with the PCI you are also getting a ton of noise and if the SPDIF is not isolated then forget it.

Thanks
Gordon
__________________
J. Gordon Rankin
Wavelength Audio, ltd.
Wavelength is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Old 09-21-2007, 11:19 PM   #10 (permalink)
1000+ Head-Fi'er
 
error401's Avatar

Profile
Join Date: Oct 2006
Location: Vancouver, BC
Posts: 1,176

IM Contacts
Send a message via AIM to error401 Send a message via MSN to error401
Default

Originally Posted by Wavelength View Post
Error401,

All non-driver oriented USB DACS use ISO mode. But there are 3 modes, Sync (no one uses), Adaptive and Async.
Windows supports only adaptive and sync until Vista, so nobody actually uses async as it would require a driver installation. As I mentioned, this might not be the case for some commercial devices like the E-mu etc., but as far as I know, no common devices use async. It would be supported under Linux and Vista, so we might see more coming out now...

You are confusing the 1KHZ thing a little. Basically adaptive you determine the internal and computer differences from the varience between your 1KHZ clock and the SOF frame which happens every 1ms. But really non of this matters because you still use the internal clock because you have a large buffer you can manage your internal clock changes to very little changes.

Non of these devices truely run off the SOF frame to make the clock that sillyness.
I don't think I am. First of all, there's no indication in the USB metadata of what the actual sample rate is, the way the standard is defined is that each frame is exactly 1ms of audio and should be played back as such. This allows you to derive the actual sampling frequency easily enough, but you do in fact need to sync to it.

Even with a fairly large buffer, you will quickly either lose samples or overrun the buffer without syncing to the 1ms SOF. Consider an example where the computer's clock is slow by 441Hz - 1%, at 43659Hz. Let's call the first sample played sample 0. After ten seconds, the computer's at sample 436590 while the DAC wants to play sample 441000; assuming 16 bit samples, it would've needed 9KB of buffered data to not underrun during that 10s period. Reasonable, but never seen on an integrated device like the PCM27xx. If we extend the period to five minutes (maybe you'll say it's okay to resync on silence, but you still at least have to play one song...and I think this is terrible engineering either way), the computer's at sample 13097700 while the DAC's playing sample 13230000 - a difference of 132K samples - 264KB. Unreasonable to say the least, and it's unsafe to assume that a buffer will always be sufficient - a buffered system will always underrun or overflow if the clocks are not synced and there is no asynchronous request system. Therefore, they must sync clocks, which in USB audio is done with the SOF indicators at a rate of 1KHz. The sample clock is then generated from this based on the detected rate, but the 1KHz clock is the master. There's no other way to do it using Adaptive Isochronous transfer, unless you're willing to accept sample loss or overrun (both of which create audible artifacts that are not at all desirable).

I could be missing something, but please show me how, without basing the master clock on the 1KHz SOF frequency, it's possible that buffering is sufficient.

But again you can source a MASTER clock to many of these devices and get much better results than any PCI card can ever do. Because in USB there is no clock and with the PCI you are also getting a ton of noise and if the SPDIF is not isolated then forget it.
If asynchronous transfer is used, I agree from an audio quality perspective (though with hardware mixing, CPU usage etc. considerations I think all-around the PCI solution is better as long as the DAC quality is the same). Otherwise, I think you're way off the mark here. If we can get 100+dB noise floors out of a PCI card for analog signals in the mV range, I don't think there's a problem for a differential digital interface at 1V. EMI is a red herring, it's quite simply not that hard to deal with, as the quality of soundcards in the past 5 years should have made plain. The improvements in the digital interface side of things are a much bigger deal.

Show me where I'm thinking wrongly here
__________________
http://audio.gotroot.ca/

Home [speaker] ~ PC » AlienDAC » 41hz AMP5 » Mission 770
Home [cans] ~ PC » MiniDAC » MiniVol » CK˛III » Beyer DT-770 Pro80
Portable ~ Zune 30GB » Minił » K81DJ
In progress designs ~ AD1955 'MiniDAC' ~ DIY DTS Decoder
Completed designs ~ Itsy Bitsy TPA6120 Amp ~ MiniPow Bipolar Supply ~ MiniVol Volume Control
error401 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!Facebook it!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off
Forum Jump