The ASIO source filter can only be used as the first filter of an input graph. It reads audio data from the specified ASIO device.

JSON Structure

	"name": "ASIO Source",
	"device": {
		"name": "...",
		"channels": "..."
	"format": {
		"sampleRate": ...,
		"resolution": ...
    "allowDifferentSampleRate": true/false

Defines the ASIO device and channels to use.

  • name: Name of the device as defined by the device's driver. It is sufficient to specify only a part of this string in the name field, as long as it is unique to the device.
  • channels: A comma-separated list of channel numbers (0-based). E.g., "0,1,3" will record three channels, using the 1st, 2nd and 4th input channels of the device.

Describes the audio format, which is to be read from the device.

  • sampleRate: Sampling rate in Hz. The supported values depend on the device. Most devices support at least 44100 and 48000 Hz. A value of 0 means, that the sample rate is automatically selected.
  • resolution: Bit width of a single audio sample. The supported values depend on the device. Most devices support 16 and 24 bit audio.

The parameter is optional, the default is false . If set to true , the filter will automatically select a different sample rate, if the sample rate specified in "format" is not available. That can be the case, if the rate is not supported at all by the hardware or while the hardware is actively running with a different rate.


  • The "name" of a given ASIO device is not always obvious. ROAD's devices API to enumerate the names of all installed ASIO devices, as well as the number of channels they offer.
  • There is no need to specify a channel count in the "format" data, because this is implicitly defined by the number of entries in the "channels" list of the device specification.
  • When auto-selecting a sample rate, because "sampleRate" is 0 and/or "allowDifferentSampleRate" is true , the filter tries the following values: 96000 Hz, 48000 Hz, 44100 Hz, and the current value reported by the ASIO driver.