Advanced Configuration

Web Radio Control server software can be customized with certain advanced configuration settings. There is usually no need to alter these settings in regular use!

Device type-specific settings

Web Radio Control provides a set of global settings for each type of remote-controllable device it supports. These settings include, for example, device state polling periods, which determine how of often the device state updates in the Web Radio Control remote control user interface.

You can customize these global settings by adding one or more of the following definitions to the end of the configuration file:

radio:
  pollPeriod: 500ms
  meterPollPeriod: 100ms
  pttTimeout: 3m
  pttDisabled: false

rotator:
  pollPeriod: 500ms

antennaSwitch:
  pollPeriod: 1000ms

externalDevice:
  pollPeriod: 1000ms

The values above represent the default values for each setting.

  • pollPeriod - Sets the time interval between operations that read the current state of each type of device and update the remote control user interface. This state includes information like VFO frequency, rotator direction, selected antenna and state of external control switches.

  • meterPollPeriod - Sets the time interval between updates to radio meters in the radio control view user interface. Please note that reading the meter values from radio also takes some time and this interval controls the time between updates.

  • pttTimeout - Maximum allowed time for radio PTT (transmit) to remain active. Web Radio Control monitors PTT activity internally, so that Web Radio Control will turn PTT off if PTT is active longer than this timeout for any radio. This settings affects direct Hamlib control via wrc-proxy also, meaning that digital modes are also limited by this setting.

  • pttDisabled - Disables PTT (transmit) for all radios in the radio control view user interface. This settings does not yet disable PTT control when using Hamlib commands via wrc-proxy, however.

Advanced radio-specific settings

There are also additional settings for each individual radio.

You can customize these radio-specific settings by adding one or more of the following definitions for a specific radio in the devices list in the Web Radio Control configuration file, for example:

devices:
- id: "radio1-id"
  type: "rigctld"
  pttMode: "DEFAULT"
  pttDisabled: false
  • pttMode - Some radio models, such as Kenwood TS-480, allow selecting audio input with PTT (transmit) control commands. If you use one of these radio models, you can select the audio input by using value MIC for enabling audio input from microphone connector and DATA for audio input from external data connector. Use value DEFAULT for other radio models.

  • pttDisabled - Setting for disabling PTT control (transmit) for the radio. Use value true to disable PTT and false (default) to enable PTT. This settings does not yet disable PTT control when using Hamlib commands via wrc-proxy, however.

Advanced morse keyer settings

The software-based morse keyer in Web Radio Control has settings for customizing the timing of the generated morse code. These settings control the "granularity" (minimum time intervals) of keying and delays (buffering) that is required to account for timing inconsistencies caused by changes in network latency (jitter).

You can customize these morse keyer settings by adding one or more of the following setting to the end of the configuration file:

... (continued)
morseKeyer:
  tickPeriod: 5ms
  bufferTickCount: 1000
  delayTickCount: 60
  pttTimeoutTickCount: 100
... (continued)

The values above represent the default values for each setting.

  • tickPeriod - This is the minimum time interval between key on/off events. The default tick period of 5 milliseconds means that the shortest possible duration for a morse key "dit" is 5 milliseconds. Making this value too small can lead to inconsistency in the timing of keying.

  • bufferTickCount - Web Radio Control stores the morse key events (key on/off) temporarily in a buffer to account for network latency changes (jitter). This settings controls the total length of the buffer in ticks, where the tick length is defined by tickPeriod. The buffer has to be significantly larger than the sum of delayTickCount and pttTimeoutTickCount.

  • delayTickCount - This setting controls the initial delay and buffering of morse key events (key on/off) before Web Radio Control sends the keying events to radio to me keyed. The smaller this delay is, the sooner the morse code will be keyed by the radio. However, a smaller delay will also make keying more susceptible to network latency changes (jitter) and may lead to keying errors. The default delay is 300 milliseconds (60 ticks with a tick period of 5 milliseconds).

  • pttTimeoutTickCount - This setting controls the time PTT is kept on after the last key off event, when the PTT control is enabled in the CW keyer user interface. PTT control is usually required only by older radio models, which do not support automatic full or semi break-in. The default time is 500 milliseconds (100 ticks with a tick period of 5 milliseconds).

Opus audio codec compression settings

Web Radio Control uses the Opus audio codec that is part of the the WebRTC standard to transfer audio between the web browser and the server.

You can customize the quality and the latency of the received audio by adding the following configuration settings to the end of the configuration file:

defaults:
  device:
    media:
      stream:
        audioInputEncoding:
          opus:
            bitrateType: "vbr"
            bitrate: 64000
            bandwidth: "wideband"
            complexity: 4
            frameSize: 10
  • bitrateType - Opus audio codec bitrate type

    Allowed values:

    • vbr - Variable Bit Rate (recommended, Web Radio Control default setting)

    • cbr - Constant Bit Rate

    • constrained-vbr - Constrained Variable Bit Rate

  • bitrate - Determines the Opus audio codec audio quality and the required bandwidth for network traffic in bits per second.

    Allowed values: 4000 - 650000 (Web Radio Control default value is 64000)

    The codec developers recommend the following bitrate values:

    • 6000 -10000 - Narrowband audio for HF/VHF radios

    • 10000-24000 - For VoIP use (narrowband audio)

    • 24000-32000 - For VoIP use (fullband audio)

    • 64000-96000 - Streaming of music, quality is good enough for all amateur radio use, including digital modes

  • bandwidth - The audio bandwidth used by the Opus audio codec

    Allowed values:

    • auto - Automatic

    • fullband - Full band: audio bandwidth 20 kHz, sample rate 48 kHz

    • superwideband - Super wide band: audio bandwidth 12 kHz, sample rate 24 kHz

    • wideband - Wide band: audio bandwidth 8 kHz, sample rate 16 kHz (Web Radio Control default setting)

    • mediumband - Medium band: audio bandwidth 6 kHz, sample rate 12 kHz

    • narrowband - Narrow band: audio bandwidth 4 kHz, sample rate 8 kHz

  • complexity - The efficiency of the Opus audio codec compression algorithm. This setting controls the processing speed of the algorithm and the resulting audio quality. Value of 10 will consume most CPU time and will produce the best audio quality.

    Allowed values: 0-10 (Web Radio Control default value is 4)

  • frameSize - Opus audio codec audio frame size in milliseconds. This setting controls the audio latency and the network bandwidth used by the Opus audio codec.

    Allowed values: 2.5, 5, 10, 20, 40, 60 (Web Radio Control default value is 10)

For more details about the Opus audio codec parameters, see: https://wiki.xiph.org/Opus_Recommended_Settings