Lupisoft

Using EKIO with an ASIO audio interface (Advanced Settings)

In this article, we present to you some of the basic principles that you should know in order to properly use Ekio with an ASIO audio interface. We show you how to integrate Ekio in your system to perform a variety of configurations. For example, we describe how to ensure that Ekio filters sounds coming from Windows or from external sources.

Principle

Windows applications use the Windows audio drivers (WDM, DirectSound, etc.) to play and to record sounds. These drivers are the link by which an application sends audio signals to a sound card, or receives it. This is shown on the following figure:

Ekio holds a special place. Unlike other applications, it does not use the Windows drivers, but dialogs directly with the sound card through the ASIO protocol. It occupies the ASIO host function, as illustrated bellow:

Ekio receives audio signals coming from the audio interface. It applies its filters, and returns the result. The N channels received are converted into M output channels.

The illustration shows clearly that the audio interface is at a central position. It is through this audio interface that all signals pass. There is no "direct" link between Ekio and Windows applications as there is no direct link between a Windows application and an external device. The exchanges are always processed through the audio interface.

Since all audio streams pass through the audio interface, it must be able to route signals between all external entities. For this, it has an internal router that we are going to configure in order to create connections between the external elements, allowing audio streams to connect between the applications, Ekio, and the physical I/Os.

Note

Only very few ASIO drivers support true multiple application access. This effectively means that you cannot use 2 or more applications using the same ASIO device at the same time. When Ekio is running, it occupies the unique place reserved for the ASIO host. Other applications have to use the standard Windows audio drivers.

Now let's have a closer look of the system:

On this illustration, we can see that the audio interface exchanges signals with the outside through three interfaces:

  • The interface with the Windows drivers (WDM): through this interface, the card receives the sounds that are played by the applications. And through it, the card sends sounds to Windows applications for recording.
  • The ASIO interface: through it, Ekio receives sounds, performs filtering, and returns the result.
  • The physical interface (PHY): these are the physical inputs and outputs of the card; they can be analog or digital (eg, SPDIF, ADAT).

Represented at the centre of the audio interface is the routing function. This is what allow the sounds to be routed between the interfaces. The blue arrows represent an example of established connections.

Note

Routing abilities can be quite different from one sound card to another. Some of them offer a very flexible routing and allow you to configure all the connections you want. On the contrary, some cards do not allow any configuration at all: links are established in hardware and cannot be changed. Other cards offer an intermediate flexibility level. We recommend you to study in detail the user manual of your audio interface to know precisely its abilities.

Now that we have a clearer picture of our system, let's look into the proper way to use our sound card and routing functions in order to achieve some common configurations.

Some common cases

Let's see how we can achieve some common configurations. We will go from the simplest case to the most complex.

Playing an external audio source

Our goal is to receive an audio signal from an external source (e.g., CD player, smartphone), to filter it with Ekio, and to send the result to an external amplifier.

For this, we create the following configuration:

We configure the routing of the sound card to direct the signals received from the external source to Ekio so that it transmits the output to an external device. Here are the details:

  1. The audio interface receives the audio signals on its physical inputs (PHY IN). They can be analog, digital (SPDIF, ADAT...), mono, stereo or multi-channel.
  2. The router forwards the received signal to Ekio through the ASIO inputs (ASIO IN).
  3. Ekio receives the signals and filters it. Note that the number of output channels is not necessarily equal to the number of input channels.
  4. The result of the filtering is sent to the sound card through the ASIO OUT interface.
  5. The sound card router forwards the signals to the physical outputs of the card (PHY OUT).
  6. The amplifier receives the signal from the analog outputs.

The detail of the various steps necessary to achieve the sound card configuration depends on its brand and model. Please refer to the user manual of your device to get the complete instructions.

See a real world example

Playing sounds from Windows

If you want to play sounds from Windows, you have to direct the signals from Windows applications to the ASIO host. Some cards allow you to make this connection with their internal routing. But some less sophisticated ones do not allow it. In this case, it is possible either to perform an external loop back, or to use a second sound card. Let's have a look at this more closely.

Internal routing

This is the most simple and effective solution. You configure the routing of your sound card to direct the signals received from Windows to the ASIO host (link 2).

This is only possible with cards that offer this routing feature. When they do not, you can use one of the two following solutions.

See a real world example

External loopback

When a sound card does not allow to perform internal routing of WDM OUT to ASIO IN, we can use an external loop back:

The goal is to re-inject the signal from Windows to the physical inputs of the sound card in order to make them accessible to the ASIO host. For doing this, an external loop back is used. The signals are sent on the physical outputs (link 2) and are looped back into the inputs (link 3). This way, they are accessible to the ASIO host through the link 4.

See a real world example

If the number of available inputs or outputs is insufficient, you can opt for the use of a second sound card.

Using two sound cards

If the sound card routing capabilities do not allow us to forward WDM OUT signals to ASIO IN, and if the number of I/O is not sufficient to realize an external loop back, you may decide to use a second sound card.

Windows sounds are directed to the new card. Its outputs are connected to the physical inputs of the first card (link 2). The first card is configured to operate with an external source, as already described above.

Note

For the second sound card, a very simple model may suffice (e.g., a USB to SPDIF converter).