Delay audio for specific device

Let me first explain why I need to achieve this - maybe this leads to an alternative solution I didn't think of.

I want to play a song through my normal speakers and an additional radio speaker. Therefore I bought an FM transmitter which I connected to my computer. On my computer, I configured my normal speakers as default audio device and tunneled my audio through the Stereo Mix recorder to my Radio transmitter, which is the Default Communication Device (see here for additional information). However, the tunnelling takes some time, which results in a slight delayed sound from my radio. My idea on how to solve this issue was to delay the output for my normal speakers, so that the sound is played simultaneously on my speakers and my radio.

I'm mainly using Spotify, but it'd be cool, if all audio output was delayed for this device. I don't care if the solution to this problem is a bit hacky or if I have to write a software for myself to accomplish this task (even though superuser wouldn't be quite the right site then) either. I'm using 64 Bit Windows 10, if you need additional information, feel free to ask.


My personal opinion is that adding a delay to the computer audio is not a precise solution, for two reasons :

  • There is no way that you can measure exactly the required delay
  • Such a delay will be confusing for everyday work with the computer.

I suggest instead using a software product that specializes in mixing audio and can solve the delay problem without introducing new problems.

An example product is the free VB-Audio VoiceMeeter Banana.


The VoiceMeeter Banana User Manual describes how to add an action via MACRO Buttons (page 29):

Delivered and installed with Voicemeeter, MACRO BUTTONS Application allows creating programmable button to control Voicemeeter parameters. It is displaying several (4 to 80) push or 2 positions buttons with a title / sub title and the possibility to assign a keyboard shortcut / mouse / Game pad / MIDI message or even Audio Trigger.

MACRO Button is an independent application using Voicemeeter Remote API. It is also demonstrating the capability to develop a client application to control Voicemeeter by program.

One of the programmable actions does a delay on the strip numbered i :

delay

I have no experience with the product, but I believe that you could use this feature to introduce an audio delay.