pierr3 / TrackAudio

A next generation Audio-For-VATSIM ATC Client for macOS, Linux and Windows
Other
49 stars 11 forks source link

Dedicated TX only output device #147

Closed kusterjs closed 3 months ago

kusterjs commented 3 months ago

Modern VCS systems like the Rhode & Schwarz ones have an architecture separating the output for RX and TX frequencies. This means:

This brings the advantage that your "active" frequency/ies are not mixed on a single speaker with other you are just listending to. I wonder if the implementation of an additional RX only speaker would also be possible for TrackAudio. While recognising that on VATSIM not every user has as many devices to accomodate these separate outputs, I would really appreciate the option to assign different devices for the output of TX and RX only frequencies. TrackAudio could still allow an easy setup by allowing the selection of the same output device for multiple channels.

Thank your for consideration.

Edit: sorry, mixed RX and TX. Corrected it now.

neilenns commented 3 months ago

Have you tried using the "SPK" button for this? It allows you to send the output of a station to the second output device configured in settings. I use this all the time, to send the stations I'm just listening to out to a separate audio device than my primary controlling frequency.

neilenns commented 3 months ago

Here's an example of my current config, as I'm controlling tower but listening above and below. My frequency is routed to my headset, but the other two are routed to a different audio device.

image

kusterjs commented 3 months ago

Have you tried using the "SPK" button for this? It allows you to send the output of a station to the second output device configured in settings. I use this all the time, to send the stations I'm just listening to out to a separate audio device than my primary controlling frequency.

Yes, this does a part of the trick. However, I would still like also a second output device (in parallel) for my TX frequencies. This is basically the part I'm missing: having my TX frequencies on two outputs while RX only on a third one.

neilenns commented 3 months ago

One way I can think of doing this without TrackAudio changes is with VoiceMeeter (assuming you are on a PC). It's incredibly powerful and allows you to route audio to multiple outputs. I use it heavily with TrackAudio/VATSIM to do all sorts of auto-ducking, audio routing, etc. Have you looked at it as an option?

kusterjs commented 3 months ago

I have, but found no option to have this setup only for a specific application. I don't want to have everything on both outputs, just the radio. That's why it would be nice if TrackAudio can offer this.

neilenns commented 3 months ago

I have, but found no option to have this setup only for a specific application. I don't want to have everything on both outputs, just the radio. That's why it would be nice if TrackAudio can offer this.

The latest version of VoiceMeeter Potato has an addon that enables five separate audio devices. You can dedicate one audio device to each TrackAudio output, and then mix it however you want independent of any other system audio. Here's a screengrab of my current setup:

image

I essentially have four completely audio feeds that I can then mix as I see fit. the VATSIM - Primary and VATSIM - Secondary devices are configured as the two audio outputs from TrackAudio and gives me freedom to do whatever I want with just that audio, nothing else.

neilenns commented 3 months ago

Here's a blog post on how to set it up, I do have to update the screenshots to be TrackAudio screenshots though 😅

https://www.badcasserole.com/routing-with-voicemeeter-potato-discord-and-vectoraudio/

kusterjs commented 3 months ago

Thanks, I'll have a look. Would have preferred a solution without the need for additional software. But I guess this a niche request.

neilenns commented 3 months ago

Pierre will have to comment on the actual feature request. Just hoping I can get you unblocked some other way 😊 VoiceMeeter is so useful with TrackAudio and VATSIM I recommend it to everyone 😂

pierr3 commented 3 months ago

This is indeed a bit too specific and would require some afv-native changes, I'd rather this is handled on your system with specific audio routing.

kusterjs commented 3 months ago

I'm convinced that RL-alike audio options are the most underrated functionality of AFV clients, because few people have the experience and know about the increase in usability given by the possibility to control the radio volumes independently on different output (devices). The advantage is even more significant if parallel transmissions from a ground-to-ground channel are ongoing. One will only appreciate after experiencing it. VoiceMeeter can cover parts of my request. But unfortunately not the independent volume control on each device. The setup of VoiceMeeter is likely to cause frustration to unexperienced users as it's not that simple in my opinion. Hence I would have appreciate a direct implementation of an additional output device and 3 independent volume controllers in TrackAudio. I can't think of a reason why this would affect afv-native. But this is probably due to my limited knowledge of the architecture.

Thanks for your feedback though!

neilenns commented 3 months ago

But unfortunately not the independent volume control on each device.

Why not? You can adjust the dB of every channel in voicemeeter independently:

image

kusterjs commented 3 months ago

The problem is that I cannot control the individual output of a single channel on different devices. E.g. lowering the primary radio on device A2, but not on A3. Explanation: My intention is to route the primary radio on two devices simultaneously, but at different volumes. However I cannot lower the volume of the entire device, as other sounds (warnings, system sounds) should remain at a normal volume.

neilenns commented 3 months ago

My intention is to route the primary radio on two devices simultaneously, but at different volumes. However I cannot lower the volume of the entire device, as other sounds (warnings, system sounds) should remain at a normal volume.

You can definitely do this with the latest version of VoiceMeeter Potato. It supports five different outputs, and you can map two outputs to the same device to get separate mixing controls for each routed output.

Here's an example set up where I'm routing my desktop audio (input 1) to both A1 (speaker) and A3 (headset). I've adjusted the headset volume down. A2 is mapped to my headset as well and the audio heading there is at normal volume. In your case you'd route your Vatsim audio (input 3 in my screenshot) to A1 and A3 and twiddle the volume as necessary.

image

neilenns commented 3 months ago

Hmmm, actually, once I double map to the headset, A2 stops working. Let me mess with this some more, it has to be possible.

neilenns commented 3 months ago

Bingo, got it. Here's how you do it in voicemeeter @kusterjs. It requires VoiceMeeter Potato.

  1. Make sure you name your input and output devices. Input devices right click on the label for the column and give it a name. For output devices right click on the "Fader Gain" text in the bottom right section. Unnamed items won't show in the streamer view app.
  2. Run the VM Streamer View app that installs with VoiceMeeter Potato
  3. Switch Slider Mode to NO LINK
  4. Independently adjust the levels for each output channel on each input

Here's a screenshot with my TrackAudio primary audio routed to both speakers (A1) and headset (A2), with the speaker volume set lower.

image