Encoder Audio Routing

Internally, the encoder provides a mixing engine that combines various audio sources. In this chapter, we give an overview about this mixing engine, and describe some common usage scenarios.

Inputs

Player Inputs

Player inputs provide a (virtual) playback devices in the Audio Routing configuration. When you assign the on air playback of a player to one of these devices, the audio is routed directly into the encoder module, not requiring any (physical or virtual) Windows soundcard. This will even work on datacenter servers with no physical audio hardware at all.

Each player input provides a separate DSP chain, accessible on the Soundprocessing tab on the Encoder configuration page.

The following player inputs are available:

  • Player Input: This is the main player input for the encoder. It is simply labeled Encoder in the Audio Routing playback device list.
  • Player Input 2/3/4: In addition to the main player input, the encoder offers three additional player inputs, labeled as Encoder - Player Input 2(/3/4) in the Audio Routing configuration. You can use these inputs when you need separate DSP processing for some players.
  • High Priority Input: This is a special input which mutes the audio from all other inputs (primary player input, player input 2/3/4, live inputs) whenever audio is played into it. The other signals are briefly faded; the duration of this fade can be adjusted in the configuration. The High Priority Input is most frequently used for the Stream Monitor.

Live Inputs

The encoder provides three live inputs which can be used to pick up audio from a physical sound card:

  • MIC: This input is meant to pick up a DJ microphone signal during live operation, in situations where no physical mixing console is used. It can be toggled via the MIC button in the Encoder Status screen object. According to the settings on the Encoder configuration page, optional ducking of the player inputs will take place when the MIC input is active.
  • LINE: This input is most frequently used to pick up the master signal coming from your external mixing console. It is toggled via the LINE button in the Encoder Status screen object.
  • AUX: This is an auxiliary input which can be used to pick up another line or microphone signal. There is no button in the screen object to toggle it. The only way to enable or disable it is through actions or scripts.

To assign a sound card to any of these inputs, go to the Audio Routing configuration page, Recording tab, and edit the assignment in the Encoder part of the device tree.

Just like the player inputs, each live input has a separate DSP chain accessible through the Encoder configuration page.

Outputs

Main Output

The encoder has one main output, which can be assigned to a physical output on the Audio Routing configuration page, Playback tab.

The signal of this main output will usually be the master bus of the encoder, but there are several options in the configuration to tweak the actual signal, e.g. make it pre-DSP or mute it while the MIC input is active.

Additional Outputs

In addition to the main output, you can add (virtual) connections of the type Additional local audio output in order to send the master signal to (additional) sound card outputs.

As with any connection, you can create region submixes, and there is also a separate DSP chain to add sound processing only for this particular output.

Best Practices

Audio can be routed freely to and from the encoder, but there are two common setups described here: Internal audio routing (no mixing console used) and external audio routing (recording master signal from external mixing console).

All audio settings described here refer to the Audio Routing page in the configuration app or mAirList Control Panel:

Internal Audio Routing

In this setup, the audio of all players is routed directly into the encoder, so it stays “inside” mAirList rather than being sent to a soundcard. Optionally, you can listen to the encoder master signal on any soundcard. You can also use the MIC button to toggle the microphone input when you want to make an announcement.

Internal audio routing can also be used on server hardware with no physical soundcard. All audio stays inside the application, no virtual soundcard etc. is required.

Steps to follow:

  1. Set the Playback device for all players (“Playback -> Playlist 1 -> Player 1” etc.) and the cartwall to “Encoder”.
  2. Optionally, as a precaution: Set the PFL device for all players and the cartwall to any other soundcard or “No audio output” so that it won’t be broadcasted on your stream.
  3. Optionally: Set “Recording -> Encoder -> Mic input” to the soundcard input where your microphone is connected
  4. Optionally: Set “Playback -> Encoder -> Playback device” to the soundcard on which you would like to listen to your broadcast
  5. During your broadcast, use the MIC button to turn your microphone on and off. Note that, due to the nature of digital audio on computers, there will most likely be a delay between what you speak and what you hear on the playback soundcard. With high quality audio cards and ASIO or WASAPI, the delay can be minimized to a level that you don’t really notice. Alternatively, turn off Filter microphone signal from local playback in the encoder options so that you don’t hear yourself at all.

The LINE button is not used in this setup, you can disable it in the Encoder Status screen object settings in the configuration app.

External Audio Routing

This setup is for people who own a physical mixing console and use that console to mix the on air signal rather than using the encoder built-in mixer. In essence, you connect all audio sources (mAirList players and cartwall, microphones, CD players, etc.) to your mixing console, and then send the master signal back to your PC via Line In.

Steps to follow:

  1. Set the Playback device for the players (“Playback -> Playlist 1 -> Player 1” etc.) and the cartwall to the soundcard output that is connected to the respective channels on your mixing console
  2. Set “Recording -> Encoder -> Line Input” to the soundcard input where your the master signal from your console is connected
  3. Important: Set “Playback -> Encoder -> Playback device” to “No audio output”. If you don’t, the encoder master signal is sent back to the soundcard, and there is a good chance that it will loop through your console, causing feedbacks and echoes.
  4. Now when you start mAirList, click the LINE button in the encoder status window to enable recording from the Line input. (Note: To automate this step, go to Actions in the configuration app, select After startup in the list at the top, and add a new action of type “Encoder -> Toggle Input”.)

The MIC button is not used in this setup, you can disable it in the Encoder Status screen object settings in the configuration app.