Hi
I'm searching for tips on how to use LabVIEW to read multiple .wav files, then filter them, then export just the calculated SPL values to a "database friendly format".
Basically I want a solution that allows me to point to several files, then press a "go button" that triggers LabVIEW to produce filtered SPL values as exported data.
I'll skim over the cal approach since I'm confident most readers know how to handle it. Basically, though, for each 30 s .wav file of broadband noise, an associated cal tone file is used to determine the dBFS value (dB below Full Scale) to be associated with 94 dB SPL, or 114 dB SPL, as the case may be. I'll leave it at that.
Detailed Requirements, (excluding cal steps, tho).
1) Operates on up to a dozen 30 s time records (44,1 kSa/s, mono .wav files);
2) Passes the signal from each desired .wav file through 18 of the 1/3 octave filters (IEC 1260 compliant, as in the S/V toolset) not necessarily in real time!;
3) Calculates the SPL for each 1/3 octave filtered time record; This makes (12 files) x (18 filters) = 216 filtered SPL values if end-user points to a dozen broadband noise files before pressing the "Go" button;
4) Exports SPL values in a suitable database format; an existing database does the rest of the mathematics and report generation;
Client FileMaker database functions include:
- import and store 1/3 octave filtered Leq(30) SPL values;
- average filtered SPL across the declared qty of mic positions of the present test case;
NOTES:
1) In the field, we do NOT use simultaneous / MULTI-mics. Instead, it is absolutely an "open and shut case" that the optimum process is to move one (1) single mic quickly from spot to spot. While holding the airborne noise at a constant level we position the mic at each spot for 30 s to feed the .wav recorder, then move on. We emerge from a typical day of field activity with, say, 60 to 100 .wav files to post-process.
2) (1), above, explains why we don't use any N.I. DAQ h/w.
3) LabVIEW, it seems, exports best to a spreadsheet, so if needed, I'm prepared to handle manually any ugly conversion from LV's format to a proper database format ("1st Normal Form, 2nd Normal Form, etc.).
4) Given a choice to calculate the averages in my database, versus in LV (say, to cut down on exported data qty), I'd likely opt to export the 216 SPL's and then do averaging in the database, (where the ASTM E336 reports are done).
TIPS Gathered To Date:
1) S/V toolset has IEC 1260 compliant filters, BUT...
2) If you use the S/V toolset VI's, then you CANNOT ACCESS the filtered time record NOR CAN YOU WRITE the filtered data back to a .wav file! All you can do is measure the filters' outputs. Fortunately for us here, the available measures include SPL.
Aside: Although not a show-stopper in this project, this constraint is surprising, nonetheless. To access & record the filtered sound, you'd have to either (a) ask N.I. to unprotect VI's, or (b) develop your own IEC compliant filters from N.I.'s published tap co-eff's etc.;
3) LabVIEW does not support drag'n'drop operations on files. Instead, the recommended technique is to use multiple "Browse to/ Navigation/ File Open" panels to allow LV to open the user's desired qty of .wav files simultaneously;
Thanks for any tips!