Revision as of 10:10, 20 April 2013 by DG7MGY (talk | contribs) (Windows VB-Audio Virtual Cable driver)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Digital Modes


To use digitalmode software like Fldigi from W1HKJ or other software you have set up a audio loopback device to route the audio signals.
As next you have to set up the transceiver control with hamlib or xml-rpc.

If you want to switch the PTT via RS232 Hardware use an NPN Transistor an example is shown at HiQSDR-Hints PTT Key Switch

Note: All works only if you are in Quisk mode DGTL!
If you are in other Modes than DGTL, Quisk send no audio to the loopback device and no frequency information to hamlib or xml-rpc!

Audio loopback device

An audio loopback device is an virtual audio cable (VAC) or virtual audio soundcard who connect a real soundcard to an virtual soundcard to share it.

On Windows you have to use a virtual audio cable software to make a loopback device, with Windows there is also possibility to route the sound from a soundcard to stereomix. The stereomix device is dependent from your installed soundcard driver.

Linux have more options to route the audio signals, we can do this with Pulseaudio, Jackaudio or with aloop from Alsa-Project.
We will describe the using and configure of the Alsa loopback driver and PulseAudio.


Windows Stereomix driver

The setup to handle standard device are difficult, after change standard device need a restart of Quisk.

  • To route the Sound Open the Control panel Sound (Recording tab)
  • Right click and aktivate "Show Disabeled Devices"
  • Now you should get some extra devices.
  • Right click on the Stereo Mix then enable it.
  • Now all signals from "default" are routed to the Stereo Mix device, use the device "Stereo Mix" as input to Fldigi.

Windows VB-Audio Virtual Cable driver

VB-Audio Software has developed a freeware VB-Audio Virtual Cable (Donationware)
If you are satified with the VB-Audio Virtual Cable Donate and support the development team from VB-Audio Software to help maintain and continue the research of VB-Audio Virtual Cable.

You will find more Information and the VB-Cable Driver on the VB-Audio Website: VB-Audio Virtual Cable

  • Download and unzip the driver, start VBCABLE_Setup.exe and install the Driver.
  • After install the driver you got new devices for playback "CABLE Input" and recording CABLE Output".
Quisk Windows Audio devices

Quisk Windows Audio devices


Alsa Loopback driver

To load the Alsa loopback device driver at system startup insert the following options to your alsa-base.conf.

The alsa-base.conf are located at /etc/modeprobe.d/alsa-base.conf

options snd-aloop

As example my own system have a lot of soundcard devices:

  • Onboard soundcard device (snd-hda-intel)
  • Two USB Audio devices, webcam and a hamradio sound interface (snd-usb-audio)
  • Audio Loopback device (snd-aloop)

To specify the loading sequence of all drivers on the system startup use "index="
At my two USB audio devices i have additionaly used the vendor ID and the product ID to identify the devices.

See my example from alsa-base.conf:

options snd-hda-intel index=0
options snd-usb-audio index=1,2 vid=0x08bb,0x046d pid=0x2902,0x08d9
options snd-aloop index=3

To load the loopback module at system startup insert the following to the rc.local are located at /etc/rc.local

modprobe snd-aloop

After system reboot a loopback device are created but at this moment its not connected to a soundcard.
Now we have to configure and connect ist to a soundcard.

To show your identified soundcards and loopback device use:

cat /proc/asound/cards

Alsa Loopback configuration

To connect the loopback device to a real soundcard you have to create an .asoundrc at your home directory or a systemwide asound.conf at /etc

The parameter card 0 means use the first soundcard to connect it to the audio loopback.

Add the following entry to your .asoundrc or /etc/asound.conf

# Alsa loopback device configuration
# Loopback use card 0 for Loopback
# Show soundcards with "cat /proc/asound/cards"
    pcm.aloop {
    type hw
    card 0

    ctl.aloop {
    type hw
    card 0

After this all IN and OUT audio signals from and to the first soundcard are routed thru the loopback device and now we are able to use this loopback device with Quisk and the digital mode software.

More information about Soundcard and Linux you will find under Soundcards or on N2ADR Alsa names.

Qusik show all aviable devices at Config / Sound and if you have setup a alsa loopback device now we are able to use it with digitalmode software

Quisk Audio devices

PulseAudio configuration

To made an audio connection from PulseAudio Server to Alsa add the following entry to your .asoundrc or /etc/asound.conf

# PulseAudio device configuration
# Add PulseAudio device to Alsa
    pcm.pulse {
    type pulse

    ctl.pulse {
    type pulse

Now we can use the PulseAudio as soundserver with Quisk.
Change parameter name_of_sound_play to pulse in your .quisk_conf.py

name_of_sound_play = "pulse" # Audio out to PulseAudio server

All audio will route to the PulseAudio server.

You will find a good description about configure Quisk with Pulseaudio at RockingD Labs "Quisk and PulseAudio" from J. Dunmire

hamlib and xml-rpc

Hamlib is a set of standard libraries for interfacing to a large number of transceivers.
The hamlib library system consists of a front end which acts on behalf of all rigs and backends which are specific to each rig.

The hamlib provides two options of HiQSDR control, once model 2 NET control and once 2514 model directly HiQSDR control

Rig #  Mfg                Model                  Version         Status
    2  Hamlib             NET rigctl             0.3             Beta
 2514  N2ADR              HiQSDR                 0.1             Untested

XML-RPC Memory mapped control to control Quisk via Fldigi.

The interfaces offered by Quisk and configured in Quisk the standard ports are:

Hamlib =   localhost:4575
XML-RPC=   localhost:7362


To setup the digital mode DGTL with Quisk you have to configure the .quisk_conf.py.
Take a look to the example DGTL mode configuration. The digital_input_name must be set to your loopback device.

# The "DGTL" mode mostly acts like USB, but it sends received audio to an external
# program that can decode digital modes, and receives audio to transmit.
# The only program currently supported is Fldigi.  Set Fldigi to USB, XML-RPC control.
digital_xmlrpc_url = "http://localhost:7362"	# URL for control by XML-RPC
# Input audio from an external program for use with mode DGTL.  The input must be
# stereo at 48000 sps, and you must set mic_sample_rate to 48000 also.
digital_input_name = "hw:Loopback,0"		# device name for transmit audio
# digital_input_name = 'hw:Loopback,0'
# Output audio to an external program for use with mode DGTL.  The output is
# stereo at the same sample rate as the radio sound playback.
digital_output_name = digital_input_name	# device name for received audio
# digital_output_name = digital_input_name

If you also want to control Quisk from hamlib you have to configure the hamlib port.
With Fldigi you have the choice to control Quisk with Hamlib or xml-rpc, both are working well.

Note: A known problem are switching of RX/TX PTT will only work from Quisk.
First switch PTT from Quisk to send now are Fldigi ready to send the digital mode characters, to stop sending switsch off the Quisk PTT.
Probably will correcht in future version of Quisk/Fldigi

# You can control Quisk from Hamlib.  Set the Hamlib rig to 2 and the device for rig 2 to
# localhost:4575, or other hamlib_port as used by Quisk.
hamlib_port = 4575		# Standard port for Quisk control.  Set the port in Hamlib to 4575 too.
#hamlib_port = 4532		# Default port for rig 2.  Use this if you can not set the Hamlib port.
#hamlib_port = 0		# Turn off Hamlib control.

Digitalmode Software

With Quisk software the RIG control works well in Hamlib or XML-RPC mode.
The PTT will not switch via hamlib to Quisk so it will not work with an macro or direct from Fldigi you have to switch the PTT via Quisk.


A good software for digital mode is Fldigi from David Freese W1HKJ.

Fldigi CAT control

Use the same adress from your .quisk_conf.py an example shown above.

Two ways to control Quisk, hamlib or XML-RPC

  • Hamlib use RIG Hamlib NET rigctl and as Device localhost:4575 or
  • XML-RPC use the adress http://localhost:7362 to communicate with Quisk

Fldigi RIG control Hamlib Fldigi RIG control XML-RPC

Fldigi audio

Two ways to connect the audio, Alsa Loopback or Pulseaudio.

  • Use Portaudio Audio Devices with the configured Loopback device.
  • Use Pulseaudio configuration

Fldigi Loopback Audio device Fldigi Pulseaudio device

The following link from RockingD Labs describe the Fldigi Pulseaudio using. RockingD Labs "Quisk and Fldigi"from J. Dunmire


Logbook software XLog from Joop Stakenborg PG4I.
XLog Logbook

XLog configuration
  • Hamlib setup

XLog hamlib setup


DX cluster client software from ON4KST
XDX cluster client

XDX configuration
  • Hamlib setup

XDX hamlib setup


SSTV Software QSSTV from Johan Maes ON4QZ

Qsstv configuration
  • Hamlib setup
  • Audio setup

QSSTV hamlib setup QSSTV Audio setup