08-09-2011 10:44 AM
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
08-10-2011 02:18 PM
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?
08-10-2011 02:27 PM
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:
08-11-2011 07:45 PM - last edited on 04-04-2024 01:08 PM by Content Cleaner
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.
08-12-2011 09:58 AM
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.
08-12-2011 10:38 AM - last edited on 04-04-2024 01:09 PM by Content Cleaner
@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.
08-31-2011 02:00 PM
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.
09-20-2013 10:23 AM
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
09-20-2013 01:20 PM
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.