I am working on code that will read a waveform of a sound pressure measurement and calculate the octave band levels. I would be incredibly grateful if someone could take a glance at my code to see what I have wired incorrectly...
The issue I think I'm having: The output of the "Basic Averaged DC-RMS" output wont index when I put it into the for loop. I tried to get around this problem by building arrays for each RMS output and then indexing into the for loop. Doing this doesn't allow me to graph the output... Any ideas as to why the "Basic Averaged DC-RMS" wont index directly?
The code (inspired by new NXG example) is attached, both VI's must be downloaded in order to run the "Octave Band Levels" VI. Also, I'm aware that LV has a toolkit for sound analysis & octave band analysis... but I do not have access to this toolkit, which is why i'm trying to write my own VI.
Thanks in advance!
Octave Band Levels.vi
Waveform Butterworth Filter.vi
By VI Shots
I'm very excited to let all NIWeek attendees know about a new podcast series I started in collaboration with NI. Aptly named the NIWeek Conference Podcast, you can listen to the first episode here.
We'll be releasing one episode per week, to the run-up to August.
Since LabVIEW uses only Windows MME driver for sound in and out, I'm looking for an other way to get sound data into LabVIEW with much less latency.
Has someone use ASIO4ALL for audio input?
For sound out I use Midi via MME and the Windows own synthesizer. Its latency is really not high. But the input data comes with some hundred milliseconds lateness.
With MME: I tested on 2 systems. About 350ms latency and not really depending of the system load. I tried also with small sample packages of 600 and 1200 byte/chn and a sound card acquisition rate of 96kS/s. In order to collect this data amount the time what the PC needs should be theoretical 6,25/12,5ms plus data transfer time and some reaction times of the system modules. But the response time of MME seems in-depending on it. It needs always around 320...380ms. And the processor load was very low.
Maybe someone can help me to use a faster software interface (ASIO?).