Lupisoft

Using EKIO with an ASIO audio interface

In this article, we introduce the fundamental principles necessary for effectively using EKIO with an ASIO audio interface. We will guide you through integrating EKIO into your system and executing various configurations. For instance, we will explain how to enable EKIO to filter sounds originating from Windows or external sources.

Principle

Windows applications utilize Windows audio drivers (WDM, DirectSound, etc.) to play and record sounds. These drivers serve as the connection through which applications send or receive audio signals from a sound card, as depicted in the following figure:

EKIO holds a special place. It communicates directly with the sound card using the ASIO protocol. This establishes EKIO as the ASIO host, as illustrated below:

EKIO captures audio signals from the audio interface, applies its filters, and returns the processed result. The N input channels are converted into M output channels.

As shown in the illustration, the audio interface has a central position. All signals pass through the audio interface. There is no "direct" link between EKIO and Windows applications, as there is no direct link between a Windows application and an external device. All exchanges are processed through the audio interface.

Since all audio streams pass through the audio interface, it must be capable of routing signals between all entities. To achieve this, it has an internal router that we will configure to create connections between elements, enabling audio streams to connect between applications, EKIO, and the physical I/Os.

Note

Few ASIO drivers support true multiple application access, which means that it is generally not possible to use two or more applications simultaneously with the same ASIO device. When EKIO is running, it occupies the unique place reserved for the ASIO host, so other applications must use the standard Windows audio drivers.

Let's have a closer look of the system:

In this illustration, we can observe that the audio interface exchanges audio between components through three interfaces:

  • The Windows Driver Model (WDM) interface: through this connection, the audio interface receives sounds generated by Windows applications. Additionally, it transmits sounds to these applications for recording purposes.
  • The ASIO interface: this interface allows EKIO to receive sounds, perform filtering, and deliver the results.
  • The Physical (PHY) interface: this comprises the actual input and output ports of the audio interface, which can be either analog or digital (e.g., SPDIF, ADAT).

At the heart of the audio interface lies the routing function, which enables the transmission of sounds between interfaces. The blue arrows in the illustration depict an example of established connections.

Note

Routing capabilities can vary significantly between different sound cards. Some offer extensive flexibility, enabling users to configure any desired connections. In contrast, others provide no configuration options, as connections are hardwired and cannot be altered. There are also sound cards with intermediate levels of flexibility. We strongly recommend studying your audio interface's user manual in detail to understand its specific capabilities.

With a better understanding of our system in place, let's explore the appropriate methods for utilizing our sound card and routing functions to achieve various common configurations.

Common Scenarios

Let's explore how to accomplish several common configurations, ranging from the simplest to the most complex.

Playing an external audio source

Our objective is to receive an audio signal from an external source (e.g., CD player, smartphone), process it using EKIO, and transmit the filtered result to an external amplifier.

To achieve this, we'll establish the following configuration:

We set up the sound card's routing to direct signals received from the external source to EKIO, allowing it to send the output to an external device. Here's a breakdown of the process:

  1. The audio interface captures audio signals at its physical inputs (PHY IN). These can be analog, digital (SPDIF, ADAT, etc.), mono, stereo, or multi-channel.
  2. The router directs the received signal to EKIO via the ASIO inputs (ASIO IN).
  3. EKIO processes the incoming signals and applies filters. Note that the number of output channels might not be equal to the number of input channels.
  4. The filtered results are 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. Finally, the amplifier receives the signal from the analog outputs.

Please note that the specific steps required to configure your sound card depend on its brand and model. For complete instructions, consult the user manual of your device.

See a real world example

Playing audio from Windows

If you wish to play audio from Windows, you must route the signals from Windows applications to the ASIO host. While some sound cards support this connection through their internal routing, less sophisticated ones may not. In such cases, you can either perform an external loopback or utilize a second sound card. Let's examine these options more closely.

Internal routing

This is the simplest and most efficient solution. Configure your sound card's routing to direct signals received from Windows applications to the ASIO host (link 2).

Please note that this is only possible with sound cards that offer this routing feature. If your sound card does not support this, consider one of the following alternatives.

See a real world example

External loopback

If a sound card does not support internal routing from WDM OUT to ASIO IN, an external loopback can be utilized:

The objective is to reintroduce the signal from Windows to the sound card's physical inputs, making them accessible to the ASIO host. To achieve this, an external loopback is employed. Signals are sent to the physical outputs (link 2) and looped back into the inputs (link 3), making them accessible to the ASIO host via link 4.

See a real world example

In cases where the available inputs or outputs are insufficient, consider using a second sound card.

Using two sound cards

If the sound card's routing capabilities do not support forwarding WDM OUT signals to ASIO IN, and if there are not enough I/O ports to implement an external loopback, consider using a second sound card.

Direct Windows sounds to the secondary card, and connect its outputs to the physical inputs of the primary card (link 2). Configure the primary card to operate with an external source, as previously described.

Note

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

Conclusion

Ultimately, the key to successful integration and utilization of EKIO with an ASIO audio interface lies in a solid understanding of the system and the ability to adapt and customize the setup according to individual requirements and sound card capabilities.