From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Filtering audio in LabView

Hi,
 
I'm still working on my LabView project to obtain the numerical value of the peak frequency in a spectrum. 
 
I'm using an example VI, and I've done some slight modification to it to learn how to implement filtering.
 
I've added a filter, but cannot seem to get it to make any difference in the output.  I'd like to cut out the lower part of the spectrum.
 
If anyone has any advice as to why it is behaving as if I don't have a filter in at all, I would very much appreciate it.
 
Thanks,
Wes
0 Kudos
Message 1 of 5
(4,540 Views)
Wes,

The filter does not know what the frequency of the input waveform is. Look at the error out of the filter VI. The Convert to Dynamic function does not have any information about the timing of the samples in the array. If you use the Build Waveform node and wire the reciprocal of the sample rate to the dt terminal, I think things will work for you.

I tried it with a sine generator (rather than Sound In) and it seemed to be OK

Lynn
0 Kudos
Message 2 of 5
(4,529 Views)

Hi

 

I was trying to start a new thread for my question but unable to do so.

I am a noob here and is just getting started

 

I need to do the following

 

I have a audio file which has a person speaking and typing simultaneously.

What I need is to filter out the voice of the person and just get the keystroke sounds.

 

Can someone help me as to how to establish this kind of a system to which i can just give a audio file as input and it does the filtering and gives me back the

resulting audio file.

 

Any pointers to documents/previous work will be highly helpful, I dont have any experience using labview

 

 

regards

Nipun


 

0 Kudos
Message 3 of 5
(4,173 Views)

@nvaloor wrote:

Hi

 

I need to do the following

 

I have a audio file which has a person speaking and typing simultaneously.

What I need is to filter out the voice of the person and just get the keystroke sounds.

 

 

 

By analysing the sprectrum you can probably detect the key stroke, and use the spectrum before and after the stroke to estinate a filter to filter out the speaker during the stroke.

Look at the spectrogram.

 

Mono or stereo input?  Using the phase information might help too.

Powerful algorythms have been created to do such tasks (ask the NSA ?? 😉 ) but a slightly similar task is the party-problem for hearing aids->multiple sound sources, where our brain (together with both ears) is able to filter out the sound (usually person) of interest, but people who wear hearing aids lost that feature. Search for puplications in the acustics fields.

 

Kalman-filters might do the job (Have fun 😉

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 5
(4,164 Views)

The typing sounds probably come in short bursts which will have different timing and spectral characteristics than the surrounding speech. Consider using time domain techniques to identify the segments of the data which have keystrokes and then apply the filtering to those.  Or take the spectrum of a segment before the keystroke, during the keystroke, and after the keystroke and compare the three spectra.

 

Lynn

0 Kudos
Message 5 of 5
(4,158 Views)