How to input HDMI multichannel audio to PC (for processing)

mga2009

Member
2015-11-20 10:34 pm
Hi,

I would like to know if there is a way (#cheap) to input multichannel digital audio (uncompressed) to my PC for processing thru EqualizerAPO (and rePhase).

The thing is, almost all my media come from my HTPC (movies, music, netflix, games, etc.), so sound process that is no problem. The only product that it's left apart is my Playstation 4.

Getting a Blackmagic Intensity capture device it's a little too much, as I don't need to input video, only audio to my PC (besides it seems it only caputres stereo sound from HDMI). I've searched soundcards with HDMI input, and found a couple from ASUS but they are almost 10 years old! (HDMI v1.3 and such).

Is there any other way I am not finding?

My idea is:

Playstation 4 --> HDMI Splitter --> 1st HDMI to TV and the 2nd to HDMI input to HTPC

-. I know I will need my htpc turned on to have sound;
-. I know I might get a delay between video and audio;
-. I know it only would work with uncompressed unencrypted audio and not bitstreamed, possibly losing ATMOS or DTS-X on future games or consoles (or other HDMI devices).

Thanks and looking forward to your enlightment
 

mga2009

Member
2015-11-20 10:34 pm
From what I can see online, it's a setting - you can set the audio format to bit stream or PCM and people say it can do up to 7.1 in PCM.

Only 5.1 when bitstreamed...

SPDIF (toslink) is stereo 192kHz/24bit max for the PCM format. Multichannel in compressed formats only.

Thats what I thought. With that in mind... is there any way to capture multichannel PCM?
 

mga2009

Member
2015-11-20 10:34 pm
Found some very relevant info here:

The Inconvenient Truth about SPDIF Input! - AVS Forum | Home Theater Discussions And Reviews

The thread is very old, and the posible solutions are limited... even when using SPDIF to input audio to PC, almost no soundcard can decode Dolby coming from SPDIF, so you are stuck with 2.0PCM.

Basically, what I am trying to do is, kind of, use my PC to replace my AVR... it´s weird that there is no DIY nor commercial product that can do that, considering the incredible open source software that is available for PCs. If everything comes from the PC, then you are good to go, but If you have another source (PS4,XBOX,etc.) then you don't have a choice.

You could make a little PC with some powerful software (rePHASE and APO) that would rival a miniDSP 4x8 or any entre pre/pro for a fraction of the price.
 
Last edited:
That article is a typical MS Windows result - software and hardware capabilites are mixed together, by using closed-source system the author does not (cannot) distinguish between the two.

Very few soundcards have internal firmware capable of encoding/decoding non-PCM streams (maybe some XFis, maybe). Vast majority of cards have this feature coded in their "drivers". I put drivers into double quotes, because what people install in windows are the actual drivers + user-space utilities working with the audio stream + GUI control utilities.

Any soundcard with SPDIF input can receive non-PCM stream, provided it has regular 44.1/48kHz clock frequency. I do not know of DVD players, but any computer-based HTPC (or game console) uses a regular soundcard which cannot output e.g. 650kbps for AC3, but uses zero-padded stream at 1,536kbps (48/16/2). That stream is a regular SPDIF at 48kHz. PCM vs. non-PCM stream is just a flag in the SPDIF preamble which is not compulsory (non-PCM streams have a frame with specific byte code). Packages like ffmpeg, mplayer, vlc should be able to record from SPDIF, decode automatically, and pass the PCM stream on. I have no idea if it works in windows (I do not know the internal details of the windows audio subsystem), but certainly no reason not to work in linux. At any time can you view spdif preamble flags with iecset iecset(1): Set/dump IEC958 status bits - Linux man page
 

mga2009

Member
2015-11-20 10:34 pm
That article is a typical MS Windows result - software and hardware capabilites are mixed together, by using closed-source system the author does not (cannot) distinguish between the two.

Very few soundcards have internal firmware capable of encoding/decoding non-PCM streams (maybe some XFis, maybe). Vast majority of cards have this feature coded in their "drivers". I put drivers into double quotes, because what people install in windows are the actual drivers + user-space utilities working with the audio stream + GUI control utilities.

Any soundcard with SPDIF input can receive non-PCM stream, provided it has regular 44.1/48kHz clock frequency. I do not know of DVD players, but any computer-based HTPC (or game console) uses a regular soundcard which cannot output e.g. 650kbps for AC3, but uses zero-padded stream at 1,536kbps (48/16/2). That stream is a regular SPDIF at 48kHz. PCM vs. non-PCM stream is just a flag in the SPDIF preamble which is not compulsory (non-PCM streams have a frame with specific byte code). Packages like ffmpeg, mplayer, vlc should be able to record from SPDIF, decode automatically, and pass the PCM stream on. I have no idea if it works in windows (I do not know the internal details of the windows audio subsystem), but certainly no reason not to work in linux. At any time can you view spdif preamble flags with iecset iecset(1): Set/dump IEC958 status bits - Linux man page

Thanks for your reply! Although it is much more technical that what I can understand, I think that what you are saying is that the problem is Windows based, and that with Linux it would be more feasible?
 
Although it is much more technical that what I can understand

It is not more technical than anyone who wants to discuss and reason out in this area should understand. It is the basics - what SPDIF is, how it works, how soundcards work with relation to SPDIF input, how PCM and non-PCM formats are handled in software.

I think that what you are saying is that the problem is Windows based, and that with Linux it would be more feasible?

I am not saying there is any problem. All you need is bitperfect recording from SPDIF input and software which can autodetect the respective syncwords in the incoming stream ( links in Maximum Bitrate for AC3 Audio? - VideoHelp Forum ) and decode the compressed stream to multichannel PCM. Windows ASIO for sure can record bitperfectly, no idea about the many mostly incompatible audio subsystems MS has developed throughout the years. Linux has supported bitperfect audio access for 20 years.
 
Last edited: