LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

ASIO interface for LabVIEW

Hello everyone,
I’m excited to share a new library I’ve developed to interface ASIO devices with LabVIEW. You can find the library attached to this message.
 
For this initial release, I’ve focused on supporting devices that use int32 as the data type, as these are the devices I’ll primarily be working with. Most modern sound cards with ASIO support seem to use int32, based on my experience. That said, I’m open to adding support for other data types if this library proves useful to others and there’s a demand for it—please feel free to let me know your needs!
 
I’m aware of the existing WaveIO library for interfacing LabVIEW with ASIO devices. However, it doesn’t offer functionality for synchronous measurements, which is a critical requirement for my application. To address this, I decided to create my own library tailored to that need.
 
Included in the attached zip file is an example VI. This VI scans for all ASIO devices on the system and retrieves the input and output channel names. For demonstration purposes, it allows selection of one input and one output channel. Users can choose between continuous measurement or synchronous measurement. For synchronous measurements, you’ll need to create the stimulus and provide it to the stream. For this first release, I’ve set the buffer size to 1024.
 
Looking forward to your feedback!
Message 1 of 5
(379 Views)

I'm super interested it trying out your ASIO driver.  I have put together some LV for audio experiments using a Behringer UMC404HD, 4 channel interface. With the standard Windows DirectX drivers I can only access all 4 channels if I split them into 2 stereo pairs, each with it's own buffer, and I loose phase coherency between all 4 channels. ASIO should, I believe, fix this.

I'm using LabVIEW 2024 Q3 Community Edition which is 32 bit. However, your driver appears to be 64 bit. 

Can you possibly recompile it for 32 bit?

 

Many thanks,

Liam. 

0 Kudos
Message 2 of 5
(193 Views)

Hi Liam,

 

Attached is the 32-bit version of the ASIO DLL. I do not have 32-bit LabVIEW on my system, so I could not test the DLL, but I just recompiled the code in Visual Studio with x86 as the target platform. Please test the attached DLL and let me know if it works.

Message 3 of 5
(148 Views)

Thanks LVCoder for superfast response.

That seems to work. I was able to run your ASIO_Input_Output_LV.vi in LV2024 Q3 Community Edition. It detects can send / receive audio on all four channels on the UMC404HD (one at a time as you have coded).   

I still have to incorporate your driver and vi's into my code to test them properly with all four channels simultaneously. 

 

Cheers, Liam.

Message 4 of 5
(137 Views)

sounds great. let me know if you need any help making the code work for multichannel I/O.

0 Kudos
Message 5 of 5
(129 Views)