Transporting audio around windows computers


bob.wedwards@...
 
Edited

If you want to stream audio from app to app or app to peripheral, then the windows operating system doesn't help you much.

Two popular solutions to fill this gap are:-

a. VB Audio Cable - 1 cable is free, 2 more cables are by donation - https://www.vb-audio.com/Cable/
b. Virtual Audio Cable (VAC) - Up to 256 cables possible. This costs 22.69 UKP and I've found it very reliable - http://software.muzychenko.net/eng/vac.htm.

The two apps are very straightforward, but a bit clunky if reconfiguration to do different tasks is needed. The 'patches' (links between apps) can be made by setting the source and destination in each app. Alternatively In VAC, a small program called an 'Audio Repeater' can act as a patch connecting sources to sinks. Starting one or more Audio Repeaters using a batch file is possible - see https://www.youtube.com/watch?v=P5y_35JUY3U, to suit the job in hand. Starting and stopping groups of Audio Repeaters  can also be automated using this organizer - see http://www.dlee.org/audir/.

I'd like to mention a third option which is free and more versatile. A set of patches can be saved as a single file. This option is based on the ASIO standard, using the ASIO driver that came with your soundcard, or ASIO4ALL if no ASIO driver was provided - http://www.asio4all.org/. ASIO4ALL wraps around the soundcard driver to make it appear as an ASIO device. GSDR has ASIO capability, HDSDR does not, but see below to add this.

Once this is done, Synchronous Audio Router http://sar.audio/ will provide as many cables as your computer can handle, especially if used with Jack Audio - http://www.jackaudio.org/. This video shows how all the pieces fit together and some simple applications - https://www.youtube.com/watch?v=l-U1rEz4K38. There's a lot of stuff covered quickly, so I watched the video several times before I got it all to work. In Jack Audio I found:-

1. If using 64 bit windows, then a dll needs to be manually registered. See - https://www.youtube.com/watch?v=zzd7naKzRgw . With 32 bit windows, this isn't necessary.
2. Jack Control will start Jack Audio server if you set it in the Setup - Misc section, you don't have to start the server manually like in the video. If the server doesn't start first time, try again. 
3. The Connect button allows you to make connections, but they will be lost after Jack Audio is shut down
4. The Patchbay button allows you to copy the setup in Connect, or make up a different setup manually. The Patchbay setup can be saved for the next session, thus saving a lot of set-up time. Pressing 'Activate' in the Patchbay means that Jack Audio senses when the relevant apps are started and will remake the relevant connections. You can make different patchbays to suit different tasks - e.g. the various data modes, recording audio off air, speech processing. 
5. Any synchronous audio cables set up in the digital audio workstation Reaper persist after closing Reaper and after PC reboot. They will exist again when you start Jack Audio. This can be checked by right clicking on your speaker symbol on the taskbar and inspecting the list of playback and recording devices.
6. It's important that all devices and programs are set to the same data rate - I use 48000 bps.
7. If you can't seem to find an existing windows device to connect to from within Jack Audio, you may need to uncheck 'Exclusive mode' in the Properties - Advanced menu for each device in the playback and recording device lists so that the device can be shared with Jack. This tripped me up a few times.

If your application doesn't support ASIO (e.g. HDSDR, Audacity), then ASIObridge fixes that, acting as a wrapper between the app and ASIO - https://www.vb-audio.com/Cable/ (at the bottom of the page) Using ASIObridge is shown towards the end of this video - https://www.youtube.com/watch?v=h883l3PUJ50.

Concerning audio processing, I have been experimenting with Virtual Sound Technology (VST) plugins using the VST host Pedalboard - http://www.niallmoody.com/apps/pedalboard2. Useful VSTs for transmit speech processing have been:-

a. Loudmax - https://loudmax.blogspot.co.uk/ - an agc plugin that means constant mouth to microphone distance is less important
b.  Reaplugs - https://www.reaper.fm/reaplugs/ - compressor, equaliser, fir filters, noise gate + more.
c. There are literally thousands of vst plugins out there, and only some are really useful for radio communication.
d. It's worth looking at youtube videos from QRQCW, as he has spent a lot of time manipulating audio for high speed CW

It's also worth experimenting with VoiceShaper - http://www.dxatlas.com/vshaper/ - which shows what an improvement can be made with speech processing under noisy conditions. You can play back a loop of your voice and simulate noisy conditions. If you're only using the barefoot 5W from the Proficio, then speech processing helps a lot. It also shows that any reasonable 'computer microphone' can be made to sound exactly how you want. Expensive microphones aren't essential for ssb. Once set up for your voice, Voiceshaper can be used on the air, although I found it stuttered a little on the cheap Linx 10 tablet I use with Proficio. YMMV.

The above is what I've been experimenting with - what other hints and tips have folks found useful?

Cheers, Bob G4BBY


Bob Edwards
 

A couple of good articles I found recently on transmit audio processing using free Windows software can be found on the ANAN wiki:-

  1. Software based Audio Processing - http://anan-100d.wikidot.com/100d-daw
  2. ASIO and Digital Audio Wokstation setup - http://anan-100d.wdfiles.com/local--files/home%3Ahome/ASIO_DAW_setup.pdf
I haven't tried any of this yet, but it looks useful. On any i5 or i7 computer, the software radio runs at between 1-15% cpu load - that leaves shed-loads left for additional audio processing software.

Cheers, Bob G4BBY


Ron / W4MMP
 

Hi Bob,
Thank you for the information.  MSCC has basic audio compression available but I know some folks want more than compression.  Since, as you have pointed out, there a number of methods for providing shaping audio I have not stressed the issue with Jim (our DSP guru).  Perhaps one day when you have a solution you are happy with, you would post the configuration. 
--
Thank you for your support and business,
73,
The Multus SDR,LLC Team,
Ron / W4MMP


Andrew Mason
 

Perhaps I am showing my age.  I have found that going "old school" to work well for audio compression.

I use a HP Windows 10 laptop, and like most laptops there is no audio in / out. The audio in/out us achieved using a USB external 5:1 audio module which has a MIC input. Nothing special just a cheap unit off eBay.

I also use a Shure 444 microphone into a KEN KP-12 RF Speech Processor that feeds into the MIC input (this is the "old school" part). It works well with good articulate audio compression.  

All the "work" is done before the audio hits the laptop and Windows.

73
Andrew VK4LK

 


Bob Edwards
 

Hi Andrew,

Good to hear about your audio setup, which sounds useful. Audio processing external to the PC has the advantage that it introduces no delay, which can't be said for a PC based processor. I'm sure you're being careful not to overload the mic input on the usb sound card.

Best regards, Bob G4BBY


A Kiddoo
 

Install NoMachine. nomachine.com
Has bi-directional audio transport with full desktop. Available for all platforms. Free!