Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Trying to figure out audio signal path from JRiver via USB to Dac? (Read 3108 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Trying to figure out audio signal path from JRiver via USB to Dac?



Hello, new member here;

I have been trying to figure out precisely what the audio signal path is from JRiver via USB to a Dac.

I have been trying to find explanations on the net for these questions, with little success.

First of all what would be the form of the data from the media player (mp); serial bits, bytes, or packets? How does the mp embed the driver (wasapi, asio?) information, or how is the driver implemented?

Then with this example, the transfer medium being USB, where does the data stream go after the mp; I/O Hub Controller, CPU...? If someone can explain the places stages and processes that the signal goes through in the computer it would be helpful. Where does framing, buffering, and reclocking occur?

Finally, is the data output per USB to the Dac converted to PCM, or are raw packets output in serial form to the Dac?

Any responses from members here, that have an understanding of these processes would be very much appreciated.

Sincerely,

Jim

Trying to figure out audio signal path from JRiver via USB to Dac?

Reply #1
I have been trying to figure out precisely what the audio signal path is from JRiver via USB to a Dac.


Jriver runs on a normal Windows PC right?  So what you're really asking is how does a USB DAC work?

Basically:

PC Memory > USB Bus > A/D converter

First of all what would be the form of the data from the media player (mp); serial bits, bytes, or packets? How does the mp embed the driver (wasapi, asio?) information, or how is the driver implemented?


Data in this case is PCM samples.  Its buffered by Windows and then copied over the USB by the driver.

Then with this example, the transfer medium being USB, where does the data stream go after the mp; I/O Hub Controller, CPU...? If someone can explain the places stages and processes that the signal goes through in the computer it would be helpful. Where does framing, buffering, and reclocking occur?


I'm not sure what you mean by framing and reclocking.  Buffering occurs after most or all stages in the transfer.  If you want to know how IO works on x86 PCs, this may not be the best place to ask.  However, its not going to be very relevant to your questions either.

Finally, is the data output per USB to the Dac converted to PCM, or are raw packets output in serial form to the Dac?


Both.  USB is a packet-based bus that in this case is carrying PCM audio.

Trying to figure out audio signal path from JRiver via USB to Dac?

Reply #2
Saratoga;

Thanks big time for the help.

This subject and explanations are helpful to me, and I'm sure for some others that want to begin or further their understanding of this subject.  I'm going to try to ask some questions, but in parts, so that there is not too much to deal with all at once, if that's ok with you.

So JRiver, after I select a track, sends that track in it's compressed form by DMA to Ram, where JRiver instructs wasapi through the CPU to decompress the file and place it in a buffer?  Upon being instructed wasapi will then move the data after changing it to PCM to a memory position in the USB section of the I/O controlling hub?

Jim

Trying to figure out audio signal path from JRiver via USB to Dac?

Reply #3
So JRiver, after I select a track, sends that track in it's compressed form by DMA to Ram, where JRiver instructs wasapi through the CPU to decompress the file and place it in a buffer?  Upon being instructed wasapi will then move the data after changing it to PCM to a memory position in the USB section of the I/O controlling hub?


No, before any of what I described happens, JRiver first decodes the file into PCM audio.

Trying to figure out audio signal path from JRiver via USB to Dac?

Reply #4
So you want to know how your hardware copies some data from RAM to a USB port? I don't think you'll find much information about such low-level hardware questions here at HA.

JRiver instructs wasapi through the CPU to decompress the file and place it in a buffer?  Upon being instructed wasapi will then move the data after changing it to PCM to a memory position in the USB section of the I/O controlling hub?


BTW: WASAPI is Windows Audio Session API, and API is Application Programming Interface. (It's a protocol, a set of rules how programs should communicate with each other).

Trying to figure out audio signal path from JRiver via USB to Dac?

Reply #5
Thankyou gentlemen.  I've only been at this awhile, and have a ways to go in understanding what's going on in audio processing in a computer.  Sometimes it's half the battle just to figure out how to ask the question correctly.  We all start with low level questions, that's how we get to the higher level ones.  Thanks for your patience and answers.

Jim