LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiplatform sound IO with LabVIEW

We develop a commercial piece of software in LabVIEW which needs to do extensive sound output and input (professional internal and external soundcards, up to 16 channels, numerous bit depths and sampling rates with low latencies).  This software is around 16 years old and when the project began there was not much in the way of standard libraries for sound I/O so we wrote a custom dll for doing windows API calls that we call from LabVIEW.  


However, we are now interested in porting our software to Mac, Windows-64, and also supporting a pro-audio driver format (ASIO) in addition to the standard Windows WDM/MME drivers (in fact, we have already implemented a somewhat buggy interface for ASIO).

We would like to find a single technology that we could drop into our LabVIEW application to access soundcards on Win-32, Win-64, and Mac, additionally, if it supports ASIO on Windows that would be great.

The obvious and easiest place to look is the the built in LabVIEW VI's for doing Sound I/O, but, in talking with another company doing similar work, it appears that those VI's don't work nearly well enough (at least on Mac) for our needs.

A LabVIEW Mac user wrote to us:
"There are two sets of VI's for sound management in labview for Mac
- an old one, pretty limited but working, we are limited to 2 channels in and 2 out
- A new one which is supposed to give access to more parameters (choice of the sound input /output), better resolution ...) but unfortunately ... it doesn't work since few years !  External sound cards are not recognized and informations about the input and output are wrong
-I had some mail discussion last year for this bugs in LV 2010 with somebody of NI, and they are aware of the problem."


So, we are interested in finding a crossplatform sound I/O framework that could be called directly from LabVIEW, allowing us to create a cross platform, multichannel, multisoundcard, multisampling rate, LabVIEW sound interface.

Does anyone know of such a framework?  In doing a little research I came accross a few, but I have no experience with them and whether they would fullfill our needs and could be utilized directly from LabVIEW without having to create wrappers for each target.  Anyone have more perspective?

 

PortAudio appears to be an audio library designed for software that needs to be ported http://www.portaudio.com/
Fmod appears to be a commercial cross-platform API for sound:  http://www.fmod.org/index.php/products
OpenAL is basically the sound version of OpenGL http://connect.creativelabs.com/openal/default.aspx

0 Kudos
Message 1 of 9
(4,314 Views)

Hi Thomas robertson,

 

For cross platform compatability, only the core palettes and functions that come with labview will be cross platform compatable.  Any addon palettes may or may not be cross platform compatable by the nature they are written and compiled.  From reading about ASIO, it mentions bypassing windows device drivers. Is this an interface specifically designed for Windows?

Anthony F.
Staff Software Engineer
National Instruments
0 Kudos
Message 2 of 9
(4,292 Views)

ASIO is for Windows only, yes.  The driver platforms are different on each target.

 

For instance, PortAudio supports these drivers on the platforms we're interested in:

  • Windows
    • MME
    • DirectSound
    • WASAPI
    • ASIO
  • Mac OS X
    • Core Audio
0 Kudos
Message 3 of 9
(4,290 Views)

Thomas,

 

I would suggest the Sound and Vibration toolkit for advanced LabVIEW sound generation and analysis.  You can find more information about this toolkit here:

https://www.ni.com/en-us/shop/product/labview-sound-and-vibration-toolkit.html

 

You may additionally need data acquisition hardware as I don't beleive this toolkit would readily interface with the external sound cards you are using.

Anthony F.
Staff Software Engineer
National Instruments
0 Kudos
Message 4 of 9
(4,272 Views)

If I'm reading the data sheet for the sound and vibration toolkit correctly, it requires an NI DAQ card, is that correct?

 

We absolutly need soundcard support.  Our software is not a once off ATE, it's commercial software and version 11.0 is in development right now.

 

Our software currently provides explicit support for the following soundcards both through WDM/MME drivers and ASIO drivers:

CardDeluxe

RME Fireface/USB external soundcards

LynxTWO 

 

It furthermore is supposed to work with any other WDM/MME/ASIO soundcards the user connects to their system.

 

We cannot release a new version of the software in which we tell our users they have to go and buy a Data acquisition card.

0 Kudos
Message 5 of 9
(4,263 Views)

@Anthony F wrote:

Thomas,

 

I would suggest the Sound and Vibration toolkit for advanced LabVIEW sound generation and analysis.  You can find more information about this toolkit here:

https://www.ni.com/en-us/shop/product/labview-sound-and-vibration-toolkit.html

 

You may additionally need data acquisition hardware as I don't beleive this toolkit would readily interface with the external sound cards you are using.


And how would that solve any problem. The OP want to use a soundcard. So besides purchasing an expensive toolkit really NOT needed. The original poster will also be forced to purchase NI hardware what works very well. But are in high end then it comes to price range. You have not so many posting. So I guess you are quite new in the NI system. And I also know that in NI training. They are very focused on selling products. And for that I can not blame NI. They need to sell in order to develop So my advice to you. Spend some more time understanding what your customers REALLY need. Before recommending expensive hardware/software. A too eager sale strategy. Will backfire badly (rather) sooner or later.



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Message 6 of 9
(4,253 Views)

Agree with Coq. There is soundcard support for Windows, however I do not see their support for Mac OS. Can this be planned for future versions of LV considering that Mac OS becomes more and more popular for users.

0 Kudos
Message 7 of 9
(4,199 Views)

Hey someone still active at this problem??


Thomas_robertson wrote:


Does anyone know of such a framework?  In doing a little research I came accross a few, but I have no experience with them and whether they would fullfill our needs and could be utilized directly from LabVIEW without having to create wrappers for each target.  Anyone have more perspective?

 

PortAudio appears to be an audio library designed for software that needs to be ported http://www.portaudio.com/


Did you Thomas Robertson or somebody find a solution to the problem or could you get the portaudio package to communicate with labVIEW via the Call Node Library???

 

I'd like to pick up this discussion again.. - anybody in ?

 

Thanks,

David

 

0 Kudos
Message 8 of 9
(3,839 Views)

Hi David,

We've been moving forward with trying to build a LabVIEW interface to PortAudio.  Suffice it to say it's no small task and we've hired consultants and have a programmer in house working with them.  I don't know if my boss would want to resale what we've done but you can PM me if you want to talk.

Message 9 of 9
(3,828 Views)