2

I was very impressed by an Arduino compatible MCU (Teensy 3.2) that can do some DSP which the user configures using a graphical editor. But my only option to have digital inputs is to use a Windows PC as USB host. The audio I want to process comes from an HDMI extractor's Toslink output. My goal is to use a USB soundcard with a Toslink input to route the signal from the extractor through Windows and out to the Arduino.

So my question is this: will the signal coming in one USB cable and going out another USB cable come into "contact" with the audio portion of a video file which a media player is running out the HDMI port? I want to use at least one or more of: Windows 7, Windows8.1, and/or Windows 10.

1 Answers1

0

First, I'll try to describe my understanding of your situation:

Audio inputs:

  • USB soundcard from TOSLINK
  • Video player on Windows

Audio outputs:

  • USB soundcard to DSP
  • HDMI output

Desired routing:

  • USB from TOSLINK => USB to DSP
  • Video player => HDMI

And there is no interaction between the two streams. I assume the "HDMI extractor" has nothing to do with the "video player".


If the above understanding is correct, then, yes, you can do what you want. Windows lets applications choose which audio device to output to.

You can do either of the below, or both if you prefer:

  • Configure the video player to use the HDMI audio output. For example, both Windows Media Player and VLC allow you to select an audio output device in their settings.

    If your video player lets you use WASAPI Exclusive Mode, you should do so. This prevents Windows from performing any conversions (sample rate, etc.) of the output, allowing you to preserve a bit-for-bit identical stream.

  • Use an audio repeater that reads a stream from your USB input and writes it to your USB output. These are commonly included with "virtual audio cable" packages, though those primarily focus on drivers that loop output to input. You want input to output.

    • The repeater tools included with VAC would work; you don't need the cable part
    • Voicemeeter would also work, but its goal is to mix, so you might not get a bit-perfect stream out of it

The easiest way is probably to just set your video player to use a specific output, and set your USB output as "default". Then you can use Windows' built-in "listen to this device" on the USB input, which will play it to the output. But if you want a bit-perfect stream you'll need to use a repeater tool.

Bob
  • 63,170