IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Trying to figure out audio signal path from JRiver via USB to Dac?
sjoc2000
post Jan 9 2013, 17:09
Post #1





Group: Members
Posts: 3
Joined: 9-January 13
Member No.: 105739





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
Go to the top of the page
+Quote Post
saratoga
post Jan 9 2013, 17:27
Post #2





Group: Members
Posts: 4863
Joined: 2-September 02
Member No.: 3264



QUOTE (sjoc2000 @ Jan 9 2013, 11:09) *
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

QUOTE (sjoc2000 @ Jan 9 2013, 11:09) *
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.

QUOTE (sjoc2000 @ Jan 9 2013, 11:09) *
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.

QUOTE (sjoc2000 @ Jan 9 2013, 11:09) *
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.
Go to the top of the page
+Quote Post
sjoc2000
post Jan 10 2013, 01:18
Post #3





Group: Members
Posts: 3
Joined: 9-January 13
Member No.: 105739



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

This post has been edited by Frank Bicking: Jan 10 2013, 05:23
Reason for edit: Removed fullquote.
Go to the top of the page
+Quote Post
saratoga
post Jan 10 2013, 01:26
Post #4





Group: Members
Posts: 4863
Joined: 2-September 02
Member No.: 3264



QUOTE (sjoc2000 @ Jan 9 2013, 19:18) *
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.
Go to the top of the page
+Quote Post
lvqcl
post Jan 10 2013, 03:18
Post #5





Group: Developer
Posts: 3336
Joined: 2-December 07
Member No.: 49183



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.

QUOTE (sjoc2000 @ Jan 10 2013, 04:18) *
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).

This post has been edited by lvqcl: Jan 10 2013, 03:24
Go to the top of the page
+Quote Post
sjoc2000
post Jan 10 2013, 05:04
Post #6





Group: Members
Posts: 3
Joined: 9-January 13
Member No.: 105739



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

This post has been edited by Frank Bicking: Jan 10 2013, 05:23
Reason for edit: Removed fullquote.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 29th July 2014 - 07:27