Diagram or vi for Sound Pressure Level Meter (SPL)

Need help for implementing a Sound Pressure Level Meter (SPL) with LabVIEW 7.1 or 6.3....I must use a microfone and a laptop for my project.....Need diagram or ready vi ....!!!
How can I make an A,B,C Weighting Filter vi for my Sound Pressure Level Meter project....???
If there is one already made or you can give me any help please send it to me.......[email protected]
Thanks.....

Search the archives. A similar question about the weighting filters was posted within the past month or two, if I recall correctly. I am not aware of any ready-built VIs, but the filter specs are published (Google A-weighting).
Also be careful with the frequency response of inexpensive microphones. They can skew the results substantially if you do not have some way to measure and compenste for the response.
Lynn

Similar Messages

  • I'm looking for a .vi for sound pressure level meter (SPL)

    Hi....
    I'm looking for help regarding the implementation of a SPL (sound pressure level)meter using LabVIEW.....If anyone has a vi or diagram or know how to proceed with this project please tell me about it...
    According to the project , I need a microfone and my laptop with LabVIEW to make the vi.
    Please help
    Thanks

    Here's an example program:
    This VI simulates the functionality of a Radio Shack Analog Sound Pressure Level (SPL) Meter. This VI requires a data acquisition board, Radio Shack SPL Meter and an RCA cable. Connect one end of the RCA cable to the SPL Meter's output, and then splice off the other end and connect it to channel 0 of the DAQ board. The connection to the DAQ board must be made differentially.
    The output of the SPL meter is a raw waveform that is converted by the program into a decibel (dB) reading. The front panel shows a dB offset based on a range, just like the actual SPL meter. The front panel also displays the overall dB reading.
    Attachments:
    SPL.llb ‏88 KB

  • FFT Amplitude into Sound Pressure Level (SPL)

    Hi everyone,
    I have a problem with my program. Basically, i have a chirp signal to be outputted into my DAQ and being fed to my speaker.
    The microphone will sense anything coming out from the speaker, and acquire it using my DAQ.
    I want to display a frequency response vs. SPL.
    My method is that, I'm using FFT on the received Chirp Signal from the microphone and display its frequency response.
    My questions are?
    1. Is by doing mere FFT will give me an output of SPL vs Frequency?
    2. If not, how do I convert this value of the amplitude of the FFT to SPL db?
    3. Why is the output amplitude of my FFT is negative?

    The FFT is a mathematical tool that outputs complex values that contains frequency and  phase information. If you want to obtain the amplitude of your signal as a function of frequency, it is easier to use the "Power and Phase Spectrum" vi in the -> Signal processing -> Spectral palette.
    Marc Dubois
    HaroTek LLC
    www.harotek.com

  • Sound pressure spectra with SVT

    Hey all,
    I have a project which I have been having a bit of trouble implementing. I'm performing several measurements at 48kHz/24Bit of some sound events. My requirement are as follows for sound pressure spectra analysis. 
    500 - 20 kHz frequency bandwidth with a 25 Hz frequency resolution.
    Peak  Hold  averaging  with  50%  overlap  processing  and  Hanning  windowing  applied  to  the time records. 
    Anti-aliasing filtering. 
    A - weighting. 
    I have the sound and vibration toolkit and have implemented as follows:
    1. Read wav
    2. Convert from Volts to dB via SVL Scale Volts to EU.vi. (I used a calibrated signal of 94dB at 1kHz to find my mic sensitivity). 
    3. A-weighting using SVL A,B,C Weighting Filter.vi
    4. Peform analysis using SVL Zoom Power Spectrum.vi. 
    Few Issues:
    I dont know how to implement the Anti-aliasing filter. 
    Is the method I have used ok with measuring sound spectra? Or should I perform the FFT then convert to dB?
    I have tried to implement the same analysis using Matlab and although I get the same FFT profile, my dB levels are different where the 16kHz noise is almost the same level as the 8kHz noise? Not sure what is happening there, but I want to concentrate on using LV for now. 
    I dont have any guidance available or experience with this sort of analysis. I have trialed my program out on a sample wav file which has two separate distinct noises events, one at 8kHz and another at 16kHz. My FFT is showing that the 16kHz is a much higher sound level (95dB) than the 8kHz (80dB) but when I listen to the wav via a pair of studio monitor speakers, the 8kHz is much more audible. Wouldn't the implementation of A-weighting filter tend to make the 8kHz noise more prevalent in the FFT? 
    Any suggestions on this topic are appreciated.
    Thanks!  

    Hi David,
    If you want to enable the enhanced alias filter, you can use a DAQmx channel property node. I would recommend placing a DAQmx Channel property node on the block diagram and then going to Analog Input » General Properties » Advanced » Enhanced Alias Rejection Enable. See if that works and let me know.  
    Jake H | Applications Engineer | National Instruments
    Attachments:
    Enhanced Alias Rejection.png ‏3 KB

  • Sound pressure reporting

    Hi,
    We are new (actually, still evaluating) LabView customers.  I know nothing about Labview, and less about the technical intracacies of the project that I have to complete.  Basically, what I need to do is acquire and capture up to three streams of sound pressure data using B&K 4944-A sound pressure mics attached to an NI 9233.  I think we can do this with SignalExpress and the S&V Assistant.  In essence we are replacing three B&K 2209 sound meters with B&K 4136 pressure mics capturing one or more precussive sound events.  The new hardware is already purchased.  We are trying to get the capture and reporting going.
    My need is:
    1.  Capture a continuous stream of log data beginning with starting to record and ending with stopping the recording.  We need to trigger the start of the actual logging based on a rising slope over 110 dB, and capture data for .25 seconds after the trigger is met (I have been unable to capture any data yet - probably has to do with I don't know where the values to set in the trigger).  We need the trigger to be activated continuously until the recording is stopped.
    2.  Reporting.  For each triggered log event above, need to extract and report the peak sound pressure level (dB) for the three data sources logged.  Tabled data is OK; graphs and charts are not necessary.
    3.  Would like to (automatically, if possible) store the results from #2 above in a database to evalute potential product changes.  For now we can use Visual Pen and Paper.
    Can anyone help with a starting point?

    Hello,
    Triggering based on the level of the signal itself is known as an analog start trigger. Since the NI 9233 does not have analog or digital triggering, we could use another module (like a NI 9205) to start the task that the NI 9233 is in.
    How Can I Trigger a NI 9233 or 9234?
    http://digital.ni.com/public.nsf/allkb/4859504F14AF68DB8625721100640F26
    If you do not want to buy another module, you could try post-processing the data to ignore any data that comes in before this level.
    I hope this helps.

  • Is there a simple sound level meter for iTunes for windows ?

    I'm trying to check the sound level of my music in iTunes and was wondering if there is a simple sound level meter plug-in for iTunes out there.

    HKO,
    It appears that in the past few days you have not received a response to your
    posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Visit http://support.novell.com and search the knowledgebase and/or check all
    the other self support options and support programs available.
    - You could also try posting your message again. Make sure it is posted in the
    correct newsgroup. (http://forums.novell.com)
    Be sure to read the forum FAQ about what to expect in the way of responses:
    http://forums.novell.com/faq.php
    If this is a reply to a duplicate posting, please ignore and accept our apologies
    and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Product Support Forums Team
    http://forums.novell.com/

  • Sound Level Meter vi

    It would be great if I could manage to have a Sound Level Meter vi. I do not have SVT.
    Right now a .vi sharing would be best, but in my mind it is to start to make my own, this kind of tasks make you learn. The problem is time.
    Any sharings? Suggestions? I found this in an old post, but, I get this error:
    "Poly VI 'AI Acquire Waveform.vi': subVI is missing.
    Attachments:
    SPL.llb ‏88 KB

    AI Acquire Waveform is part of the old traditional DAQ API.  You can either replace the traditional DAQ VIs with DAQmx VIs or install traditional DAQ (provided you are on a supported, 32-bit OS).  I would recommend the former.  The sound level algorithms should still be good.  Let us know if you run into issues.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Sound level meter -Save Leq

    I hope someone can answer me fast as I need to meet a deadline
    I made the sample Sound Level Meter DAQmx for Sound and Vibration 2013.
    My concern with this is that I need to save the Leq per second after we collect all data.
    What I did is attached but I do not know where to attached the write measurement file express.
    Please help me...
    Attachments:
    NI how to save.PNG ‏57 KB

    Poke the Data acquired into a Queue. (making this the producer loop)
    De-Q the Data in another loop (consumer loop)
    Update the file in the consumer loop - this means that File IO overhead will not affect your sampling rate.
    Open the File reference before the Consumer Loop starts and close it when complete to minimise File Opening and closing as data is saved (or save the file every n samples/seconds if you are paranoid)
    This will get you a faster more flexible architecture - File IO has a much larger overhead than DAQ normally so moving this to a seperate Q and thread allows parallel processing.
    James

  • After downloading and installing additional content, no sound will play. Logic has no connection to sound library. No level meter activity. Right before i installed additional content I was working on a project, and everything was OK.

    After downloading and installing additional content, no sound will play. Logic has no connection to sound library. No level meter activity.
    Right before i installed the additional content I was working on a project, and everything was OK. What is wrong. How do I make Logic reconnect to the instrument files?

    Whitelab Records wrote:
    So, 20 views and nobody's anybody the wiser?
    A small update to this issue....
    I have been trawling the forums to find an answer but to no avail...
    And... I've tried exporting and bouncing individual stems and the full session, either by muting all bar the stem or soloing the stem.....and still nothing.
    Same problems.....everything is audible in audition but nothing plays on playback.
    Since the 'prelisten' channel strip is Solo safe this would indicate that you have a track or channel strip soloed somewhere else, out of sight. Are the Mute buttons on your channel strips blinking?
    To view all objects in your mixer, click the button. You may have to scroll sideways to check the whole mixer.

  • JMF Challenge - Create audio volume level meter for rtp Audio Transmitter

    Based on the following code at: http://java.sun.com/products/java-media/jmf/2.1.1/solutions/RTPConnector.html
    The challenge is to build an Audio level meter, you know the lights that go up and down to your voice like on a stereo Hi-Fi system.
    If we can start with ideas, give it time the challenge will be complete for all to use.

    Heres the finished codec code, it just spits out System.out's with the peak level.
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.control.SilenceSuppressionControl;//###### delete if no silence.
    import javax.media.rtp.*;
    import javax.media.rtp.rtcp.*;
    import com.sun.media.rtp.*;
    public class AudioLevelMeterCodec implements Effect {
        /** The effect name **/
        private static String EffectName="AudioLevelMeterCodec";
        /** chosen input Format **/
        protected AudioFormat inputFormat;
        /** chosen output Format **/
        protected AudioFormat outputFormat;
        /** supported input Formats **/
        protected Format[] supportedInputFormats=new Format[0];
        /** supported output Formats **/
        protected Format[] supportedOutputFormats=new Format[0];
        /** selected Gain **/
        protected float gain = 2.0F;
        /** initialize the formats **/
        public AudioLevelMeterCodec() {
            supportedInputFormats = new Format[] {
                new AudioFormat(
                        AudioFormat.LINEAR,
                        Format.NOT_SPECIFIED,
                        8,
                        Format.NOT_SPECIFIED,
                        AudioFormat.LITTLE_ENDIAN,
                        AudioFormat.SIGNED,
                        8,
                        Format.NOT_SPECIFIED,
                        Format.byteArray
            supportedOutputFormats = new Format[] {
                new AudioFormat(
                        AudioFormat.LINEAR,
                        Format.NOT_SPECIFIED,
                        8,
                        Format.NOT_SPECIFIED,
                        AudioFormat.LITTLE_ENDIAN,
                        AudioFormat.SIGNED,
                        8,
                        Format.NOT_SPECIFIED,
                        Format.byteArray
        /** get the resources needed by this effect **/
        public void open() throws ResourceUnavailableException {
        /** free the resources allocated by this codec **/
        public void close() {
        /** reset the codec **/
        public void reset() {
        /** no controls for this simple effect **/
        public Object[] getControls() {
            return (Object[]) new Control[0];
         * Return the control based on a control type for the effect.
        public Object getControl(String controlType) {
            try {
                Class cls = Class.forName(controlType);
                Object cs[] = getControls();
                for (int i = 0; i < cs.length; i++) {
                    if (cls.isInstance(cs))
    return cs[i];
    return null;
    } catch (Exception e) { // no such controlType or such control
    return null;
    /************** format methods *************/
    /** set the input format **/
    public Format setInputFormat(Format input) {
    // the following code assumes valid Format
    inputFormat = (AudioFormat)input;
    return (Format)inputFormat;
    /** set the output format **/
    public Format setOutputFormat(Format output) {
    // the following code assumes valid Format
    outputFormat = (AudioFormat)output;
    return (Format)outputFormat;
    /** get the input format **/
    protected Format getInputFormat() {
    return inputFormat;
    /** get the output format **/
    protected Format getOutputFormat() {
    return outputFormat;
    /** supported input formats **/
    public Format [] getSupportedInputFormats() {
    return supportedInputFormats;
    /** output Formats for the selected input format **/
    public Format [] getSupportedOutputFormats(Format in) {
    if (! (in instanceof AudioFormat) )
    return new Format[0];
    AudioFormat iaf=(AudioFormat) in;
    if (!iaf.matches(supportedInputFormats[0]))
    return new Format[0];
    AudioFormat oaf= new AudioFormat(
    AudioFormat.LINEAR,
    iaf.getSampleRate(),
    8,
    iaf.getChannels(),
    AudioFormat.LITTLE_ENDIAN,
    AudioFormat.SIGNED,
    8,
    Format.NOT_SPECIFIED,
    Format.byteArray
    return new Format[] {oaf};
    /** gain accessor method **/
    public void setGain(float newGain){
    gain=newGain;
    /** return effect name **/
    public String getName() {
    return EffectName;
    /** do the processing **/
    public int process(Buffer inputBuffer, Buffer outputBuffer){
    // == prolog
    byte[] inData = (byte[])inputBuffer.getData();
    int inLength = inputBuffer.getLength();
    int inOffset = inputBuffer.getOffset();
    byte[] outData = validateByteArraySize(outputBuffer, inLength);
    int outOffset = outputBuffer.getOffset();
    int samplesNumber = inLength / 2 ;
    int valueMin = 255;
    int valueMax = 0;
    for (int i=0; i< samplesNumber;i++) {
    int tempL = inData[inOffset ++];
    int tempH = inData[inOffset ++];
    int sample = tempH | (tempL & 255);
    if (sample > valueMax) {
    valueMax = sample;
    if (sample < valueMin) {
    valueMin = sample;
    System.out.println((valueMax - valueMin) - 256);
    System.arraycopy(inData,0,outData,0,inData.length);
    // == epilog
    updateOutput(outputBuffer,outputFormat, inData.length, 0);
    return BUFFER_PROCESSED_OK;
    * Utility: validate that the Buffer object's data size is at least
    * newSize bytes.
    * @return array with sufficient capacity
    protected byte[] validateByteArraySize(Buffer buffer,int newSize) {
    Object objectArray=buffer.getData();
    byte[] typedArray;
    if (objectArray instanceof byte[]) { // is correct type AND not null
    typedArray=(byte[])objectArray;
    if (typedArray.length >= newSize ) { // is sufficient capacity
    return typedArray;
    System.out.println(getClass().getName()+
    " : allocating byte["+newSize+"] ");
    typedArray = new byte[newSize];
    buffer.setData(typedArray);
    return typedArray;
    /** utility: update the output buffer fields **/
    protected void updateOutput(Buffer outputBuffer,
    Format format,int length, int offset) {
    outputBuffer.setFormat(format);
    outputBuffer.setLength(length);
    outputBuffer.setOffset(offset);

  • Level Meter Plug In -VS- Output 1/2 meter...Inconsistencies...

    I'm mixing an 18 minute long recording for vinyl release. The vinyl pressing company has a minimum dbl on recordings they master and press. If the level is under, they charge hundreds of dollars more to re master and increase the volume via massive compression.
    So to check and double check the overall volume in Logic Express 8, all I can find for a meter is the "Level Meter" in the visualization plug in toolbox. So I have the Level Meter "plugged" into the Output 1/2 track...The problem with the Level Meter is that it is showing levels around 8 dbl lower than the Output 1/2 meter. This could potentially be an expensive discrepancy not to mention may have a negative effect on the end product's sound quality.

    Eriksimon wrote:
    If you used a meter as an insert, it comes, like other effects plugins, before the fader. Sorry, I didn't read attentively the first time.
    Still, the effect is the same as pre-fader metering. The signal passes the meter before it goes to the fader. If you turn pre-fader metering on you'll see that your faders don't affect the channel strip level meters anymore and behave like inserted level meters as well.
    So if you lower the fader on channel 1&2 so you no longer see clipping, how does it work?
    1. Does it lower the output simply telling you that you are not clipping going out from fader 1&2?
    or
    2. Does it lower the input from all contributing channels so that the source coming to fader 1&2 no longer clips?

  • Peak Level Meter in

    I'm using a SB Li've! Platinum 5. w/ Li've Dri've in my PC and I just upgraded to XP. When I installed the XP drivers for my card, I lost the peak level meter in my sound control window that I had back when I was in 98SE. I know there is 3rd party software that I can use to get a peak level meter, but are there ANY XP drivers for my card that have a built in peak level meter?
    I ask, because an application I'm using (Sub Station Alpha) requires that I have a "built in" peak level meter in my drivers in order to use the audio triggering function.
    Any help is greatly appreciated.
    [EDIT]
    If it helps at all, I am refferering to the meter you see on the left side next to the main audio slider. If you are runnin an SB card in XP and you have a peak level meter, please let me know what drivers you are using, thanks.
    http://img368.imageshack.us/my.php?image=peaklevelmeter8yi.gif
    Message Edited by Ruroni6 on 05-23-2006 09:4 AM

    1) Bounce a file with the master at 0 DBfs, and bounce it with the master at -12 DBfs, and see if there is a difference.
    2) The metering plugin is situated before the fader, that's why the metering isn't affected by fader movements. The same would go for any plugin inserted after the Meter: it will not influence the meter, even if it has a volume control that is fully closed (-∞). Signal flow is the keyword here.
    regards, Erik.

  • Top master level meter above master volume slider not working

    I have a Power Mac G4, OS X 10.4.6, and GarageBand 3.0.2 (103).
    I used a keyboard and GarageBand software instruments to record many tracks for a song. It played in stereo. I saved it. Many days later, I went back and added more tracks, using my keyboard, to the end of the original song to lengthen the song.
    My problem: This last song now only plays back with sound coming out of the right speaker. There is NO sound coming from the left speaker.
    This original song and all my other saved songs play back in stereo - sound from both speakers. I noticed that the top master level meter above the master volume slider shows no green as this song now plays. The bottom one does show green for the volume as it plays.
    I copied a track and pasted it into a "new" song and it plays from both speakers. I copied and pasted an original track and one of the new tracks at the end of the song and both play in stereo in the "new" song.
    I checked to make certain that the track pan position is center top of all tracks. I even moved one track pan position entirely to the left on one track but still no sound from the left speaker.
    Could someone pleae help me?
    Power Mac G4   Mac OS X (10.4.6)   No sound from left speaker

    It sounds like somehow the pan position on the Master Track has been inadvertantly moved to the right on that song. You didn't say you checked that pan position, but that would explain this sort of thing happening. The meter is probably working correctly but the master has been panned to one side.

  • System Sound Output Level Reset After Reboot ?

    Whenever my iMac Core Duo is rebooted, system sound output level always get reset to value 0.56 (-24dB) as shown in utility "/Applications/Utilities/Audio Midi Setup". I have to increase the system sound output level to desired value of 0.75(-12.75dB) to match with built-in amplifier of Altec Lansing FX6021 speaker system. The desired setting lasts until next reboot. Is there any way I can fix the system sound output level at desired level between reboots ? Why I have to be involved in such constant struggle with the iMac for such simple audio configuration ?
    Audio Hijack Pro 2.6.7 wihtout Soundflower 1.1 virtual audio device has been installed. Audio hijack function of this utility has not been used at all. Thank you for any pointer.

    Thanks for the confirmation that my iMac is not an isolated case. In case you are not willing to use Audio Hijack Pro, just use Automator to create an Automator script to set system volume (In Automator's Library plane: Applications>System>Set System Volume) and save it as application. Set this application as Login Items for your account through following menu path:
    System Preferences>Accounts>Login Items. Whenever you login with this account, the script will be invoked automatically by Mac OS X and sound levels for output, input and alert will be set to user preferred levels. For older versions of Mac OS X (10.3.9 and earlier) without Automator, same effect can be achieved with Apple Script, use Apple Script Editor instead of Automator to create Apple Script and set it as Login Items. This workaround has been working consistently on my iMac Intel Core Duo.
    iMac Intel Core Duo 20" 2 GHz 2 GB RAM   Mac OS X (10.4.7)   Firewire External Drive, Belkin Wireless Router, iPod nano

  • Signal Level Meter

    Signal Level Meter
    CATV Signal Level Meter GAO2002 is specially designed for CATV system maintenance. Signal Level Meter GAO2002 features small size (160mm x 130mm x 65mm) , light weight (368g including battery), long operating time (more than 6 hours), and well-built from appearance to architecture. Signal Level Meter GAO2002 combines the most practical functions and makes them easy to use. What is even better about this piece of equipment is that its added aseismatic design makes it more durable than you can expect. Tests show that it can continue to work well after being dropped from 5 meters high. It supports Level, V/A, Tilt and Trunk Level testing as well as testing two channels at the same time.
    CATV Signal Level Meter GAO2002 Specifications:
    Frequency
    Frequency range: 46MHz ~ 860MHz
    Frequency step: 50kHz, 1MHz, 10MHz and 100MHz
    Level Measurement
    Range: 20dBuV ~ 50dBuV
    Accuracy: ±20dB (20ºC ± 5ºC)
    Resolution: 0.5dB
    Carrier to Noise (C/N)
    Option Range: 20dBuV ~ 50dBuV
    Input signal range: ≥ 85dB
    Measure accuracy: ± 2.5dB (20ºC ± 5ºC) shut off the carrier
    Resolution: 0.5dB
    Voltage
    Input range: 1~100V (AC/DC)
    Measured accuracy: ±2V
    Resolution: 1V
    Miscellaneous
    Size: 160mm x 130mm x 65mm
    Weight: 368g (including battery)
    Working: -10ºC ~ 40ºC
    Audio: Built-in speaker (Auto on in single frequency mode)
    Battery
    Built-in battery: 3.6V/2.1AH Ni-MH
    Working time: More than 6 hours (Shut off the audio and LCD backlight)
    Charging time: 10 ~ 12 hours (power off)
    Gao Tek Inc.

    Do you have drivers for LabVIEW?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

Maybe you are looking for