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.
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:
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.
Let's explore how to accomplish several common configurations, ranging from the simplest to the most complex.
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:
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.
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.
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.
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.
In cases where the available inputs or outputs are insufficient, consider using a second sound card.
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).
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.