Click to view our Accessibility Statement or contact us with accessibility-related questions
bardam00
0
Sep 11, 2017
no optical input, no sale
tessierpg
Sep 11, 2017
bardam00It's a budget DAC...get the M9xx if you need optical input
Cokeman
1971
Sep 11, 2017
tessierpgNo get the OL DAC if you want optical. The M9XX is a $500 DAC/AMP combo. The OL dac is a $130 DAC with optical, a much better comparison.
tessierpg
Sep 11, 2017
CokemanI agree
BenGeldreich
35
Sep 11, 2017
CokemanConfused why someone would want an optical DAC other than to hook up a gaming system or something besides a computer. Is that the only reason or am I missing something?
tessierpg
Sep 11, 2017
BenGeldreichI see a case where an optical input may be beneficial: Some older or cheaper Cd players may benefit from a new external DAC and most cd players have either toslink or coaxial digital outputs, no usb output... but this is a specific use and a lot of consumers do not have that kind of need for an optical input
BenGeldreich
35
Sep 11, 2017
tessierpgOut of curiosity would one notice an auditory difference between the two connections? As in, if I had the ability to use an optical cable or a USB cable from my computer to a dac, would one actually hear a difference?
tessierpg
Sep 11, 2017
BenGeldreichI think that digital data is digital data. However optical input circuitry is sometimes limited to a maximum resolution lower than USB circuitry (like maximum 24 bit/96 khz sampling rate). Moreover, usb data input uses asynchnonous data transfers, and i'm not sure if it is similar with coaxial or optical, but this may affect the digital to analog conversion in the time alignment of transfered data. I'm not a computer engineer, but apart for those theorical possible differences, the data transferred should be identical.
BenGeldreich
35
Sep 11, 2017
tessierpgThanks! That's what I thought! I had read a few posts somewhere where the writer said similar things about the connections. I thought I'd just ask to see what others have to say while we were talking about it. I appreciate the reply!
Jackula
1743
Sep 12, 2017
tessierpgUsing USB doesn't not guarantee asynchronous transfers, the USB receiver needs to support it and you'll need to use WASAPI Event for it to work. Otherwise it is Isosynchronous just like optical or coax. Optical has the advantage of eliminating electrical noise, since it's glass and it's not conductive, but has disadvantage of sampling rate as you've indicated, and it's prone to jitter like all other Isosynchronous modes. Even USB in asynchronous mode have problems, especially due to electrical interference carried over the cable that affects the end circuitry.
yuko
15
Sep 13, 2017
JackulaHi,
I think you got confused by the ideas of "asynchronous"(ASYNC) and WASAPI.Actually you don't have to use WASAPI to make ASYNC work."ASYNC" is is coded in Isochronous Endpoint Descriptor claimed by USB Device(in this case the XMOS chip).Unless something goes wrong,your driver will always use ASYNC no matter what AUDIO API is being used.
The "WASAPI" on the other hand,is just a way(API) your music player interact with the driver(like KS/ASIO).It does not affect how your driver communicate with your Device.They are in different layer.If use properly it can achieve low latency,or more important for the audio enthusiast the "Bit-Perfect" playback."Event mode" for WASAPI can reduce the chance of underrun buffer which can cause "pops" in playback(not the jitter in DAC clock,that's different),especially setting in low latency.
"Isochronous" is another story. In USB standard you have "Bulk/Interrupt/Control/Isochronous" endpoint. It's doesn't matter your device is "adaptive" or "ASYNC".A UAC device will always use isochronous Endpoint(defined in USB/UAC standard) to transport audio data.
There are some articles that may help you get better understanding about UAC and USB if you like :) [1]https://en.wikipedia.org/wiki/USB [2]http://www.beyondlogic.org/usbnutshell/usb3.shtml [3]Isochronous:http://www.beyondlogic.org/usbnutshell/usb4.shtml [4]UAC1:www.usb.org/developers/docs/devclass_docs/audio10.pdf [5]https://www.xmos.com/download/private/USB-Audio-Software-Design-Guide(6.6.0rc5.a).pdf
Jackula
1743
Sep 13, 2017
yukoThanks for your post, i mainly got my info from https://wiki.jriver.com/index.php/WASAPI_Event_Style And: http://www.edn.com/design/consumer/4376143/Fundamentals-of-USB-Audio
Which the way I understood it is that WASAPI event mode will rely on the device's clock, vs Push mode that uses the computer's clock. But the USB receiver has to support async transfer (which most of them do these days). What am I confusing this with?
yuko
15
Sep 14, 2017
JackulaHi,
It's very hard to explain the whole story.There're lots of buffer management involve in the whole the playback process and can easily cause confusion.I will try to simplify it as possibile.
Modern player are using so called "double-buffer" method.
search

search
In "push" mode,the player setup a timer that roughly a "buffer size" long.Wake up,write next part of samples to the "buffer" that already "done",then sleep again.
Because the nature of modern OS,the timer is not so accurate(that's why they're using double-buffer).But If you set up enough buffer(i.e.high latency) it won't cause any issue or glitches in "push" mode as it has enough time for "timer jitter" tolerance("buffer" > "timer jitter"). If nothing goes wrong,the audio driver(or if you wish the "hardware") will see a continuously audio stream without any jitter and glitches.And pack the stream in it's own way(in this case the "UAC standard") communicate to the actual device. In this process another jitter will occurred and that's the "ASYNC" and another buffer mechanism comes to rescue.
But if you set the "buffer" too low(low latency),you can still get glitches(pops) when the buffer is done and new buffer isn't come in time because of "timer jitter"("buffer" < "timer jitter").
So now let's talk about the "event mode". In "event mode".The player do not sleep period of time.Instead when driver is finish one part of buffer it trigger the "callback" function registered by the player. So the player can wake up and write to the buffer much accurately,allow the user set a low latency(low buffer) without cause the glitches.
Actually the "event mode" is not the "WASAPI" invention.ASIO is default to use event-driven model and that's why ASIO can accomplish very low latency.
p.s.Note that low latency playback is relevant to real-time processing and editing only. It's completely useless for music playback; in fact, higher latency is better in this case as it gives better protection against glitching from buffer underruns. --http://wiki.hydrogenaud.io/index.php?title=Bypassing_Windows_Mixer
Jackula
1743
Sep 14, 2017
yukoReally appreciate you explaining this, but I'm still unclear. I think we are talking about the same things but different terminologies. My definition of jitter seems to be different to yours.
I don't see how jitter has anything to do with the buffer size of its not too large. Jitters do not cause pops, that is a buffer issue. Jitter is caused by an unstable clock on the receiver end (your DAC) when using WASAPI event, or caused by an unstable clock on your PC end when using WASAPI push.
When your PC does not send the right amount of data because of inconsistencies in either clock, jitter distortion manifests in the timing of the output audio. Lots of things can cause jitter, especially electrical interference carried by the USB cable even in async mode.
yuko
15
Sep 14, 2017
JackulaHi,
Okay looks like you didn't read the article I recommended previously.Most modern DAC completely use its own clocksource(include this one according to the description) and completely(edited:almost ) decouple from whatever the jitter in PC.The only reason it needs "ASYNC" is because it still a "soundcard" and have to "SYNC" to PC in the way that will not harm the sound quality.
The whole process about how it decouple is detail described in section 3.4.2 - 3.4.4 on https://www.xmos.com/download/private/USB-Audio-Software-Design-Guide(6.6.0rc5.a).pdf It's just a pure UAC standard&XMOS engineer genius. It completely has no relationship with the upper API your player software is used. You can't even find the word of "WASAPI" in the whole article.
Hope it can help you understand it:)
Jackula
1743
Sep 14, 2017
yukoOk I've read the section you've pointed out, if I'm not wrong, it's describing the protocols within async mode. Which is what I agree with, but I have been talking about both sync and async modes.
Ok let's not involve WASAPI for a moment, modern DACs only use its own clock source if async is used. PC clocks are still used for Sync mode. I don't know how a DAC can use its own clock when the PC uses its own clock to send audio data. It will not be able to synchronise.
Then we need to assume the clock on the DAC is really stable, but in the real world it never is. Sure it's better than the PC clock, but it's far from perfect.
yuko
15
Sep 14, 2017
JackulaIn short:BUFFER CAN SYNC IT.And how the buffer CAN SYNC it is detailed describe in the article at that section I gave to you just moment ago.
There're a lot of component in your PC that running on different speed at different clock.Your HDD,your CPU,your memory etc.But they all able to run together and "SYNC" with each other because of the buffer&cache is exist everywhere in your pc.If they can't your pc will never run.
That's just the fundamental of computer science.
Jackula
1743
Sep 14, 2017
yukoHave you read the article I linked by Henk Muller? He's the Chief of Technologies at XMOS. In short, what you're describing can only be achieved in async mode. Decoupling in sync mode is not possible.
yuko
15
Sep 14, 2017
JackulaOkay let me clarify it.
Most components in your PC has to "SYNC" each other no matter what the clock or speed they are running otherwise they cannot communicate with each other in real time.The most popular way to do that is buffer&cache with different asynchronous technology. In UAC world you have three way to "SYNC" with the PC: SYNC(They're same word but different meaning):Using the SOF packet to SYNC Adaptive:Using the sending rate to SYNC Asynchronous:Using buffer and feedback technology to SYNC(actually they have explicit and implicit feedback)
In other word,they are all for SYNC.Just different approach.If they're not for SYNC,you can pretty sure that your video won't sync with your audio.And you can't adjust your Player seekbar either even with "WASAPI event" or whatever.
And when a device is plug in,the PC will asked the device to claim ALL descriptor(include the Synch method supported by the device),after that there is no way to change it because it's hard coded. No matter what the PC has to follow it otherwise it wont work.[1]
Another example:In UAC1 they actually not recommended async mode because it's very hard to use one UAC1 "ASYNC" soundcard as input with another "ASYNC" one as real time monitor due to the nature of USB. In this case the PC has to do the real time SRC to make it possible for real time monitor(and harmful to the sound quality). Even in this case,PC still can't force one device change their mode to the "adaptive",that's just not possible without causing huge issue.
In UAC2 they introduce "clock domain" to deal with this issue but that is another story.
Overall,just as I said before.WASAPI has nothing to do with UAC and I already quote it out in the document.
But now let's do some "DIY". You can google the "Thesycon USB Descriptor Dumper" it's a freeware(make sure it has a valid digital signature and comming from offical website and agreed with their terms) and check it by yourself. At the time you plug in your DAC all USB descriptor of you DAC is displayed(included Synch method) and no matter what(even you didn't install the proper driver for your DAC) they won't change.
search

ps1.Actually in the previous version of this software(v1.8.3),it did not require you to reconnect you device and makes you can see these descriptor in real time. So you can select any playback API and find out those descriptor never changed.That's maybe more convincing.But anyway they just won't change by itself.
ps2.There are some other device(like your smart phone change the USB mode/some highend DAC which has physical selector for UAC1/2) can change their Descriptors.But it would require the device to do the USB reset and reinstall itself(defined in USB specification) and when it reset you definitely can check and see the new descriptor in this software,and your "Windows device management panel" will show a new device is installed.
ps3.Maybe when you have time to study it you can check the latest opensource UAC1/2 implements. I'm laid out the core functions of synchronize and playback so you don't have to read the whole codes: line 1088@snd_usb_handle_sync_urb http://elixir.free-electrons.com/linux/v4.13.2/source/sound/usb/endpoint.c line 1451@prepare_playback_urb http://elixir.free-electrons.com/linux/v4.13.2/source/sound/usb/pcm.c These codes are well commented and tells everything about UAC internal mechanism if you understand it.That's why I'm so confident.
That's it.I think no more explanation is needed:) [1]http://www.usbmadesimple.co.uk/ums_4.htm
Jackula
1743
Sep 14, 2017
yukoI think I'm seeing where you're coming from.
When you talked about sync, it was the synchronization between devices. When I talked about sync, I was referring to the USB mode sync (vs adaptive, vs asynchronous).
I think I made a mistake assuming that WASAPI was somehow related to USB modes, this was based on my IRL experience - my current DAC is asynchronous, however it won't work properly if I don't use WASAPI Event, which is why I thought WASAPI Event enabled asynchronous mode. After reviewing results from the dumper, I realize now that this is a limitation of my device, and nothing to do with USB standards.
I can't really gain an appreciation just by looking at a few lines of code, thanks for the attempt anyway. A bit off topic - I'm always trying to encourage people to use Allman bracing, K&R was invented a long time ago when you could only display 10 lines of a code on the screen. Allman is cleaner, less error prone and easier to maintain.
My point on USB noise still stands, it's still a prevalent issue that can affect clock stability on the DAC.
yuko
15
Sep 14, 2017
JackulaMaybe I shouldn't use the word of "completely decouple".Of course there are other various factors(like power supply etc...which I don't want to dig in too much) from PC that may affect the clock "jitter" performance of the XMOS chip,but certainly not WASAPI or player as long as they are running properly.
PRODUCTS YOU MAY LIKE
Trending Posts in Audiophile