Denoising sound sample using noise segments

1 view (last 30 days)
I have these sound samples of mice recording,
Now there mice, they communicate in ultrasonic voalizations, each vocalization is refered to as a "Call" which is comprized of short syllables (~100 milisec)
I have a collection there Call recordings, along with a table for each call indicating the onset and offset of each syllable, mean that i can separtare the sound vectros into bits that has the important sound and bits that have the backgroud.
I am looking for an algorithem with which I can subtract the the background from the syllable and get a clean sample.
I have seen this done in Audasity, and it wors like a charm, but i have hunderds of call samples containing thousends of syllables, and i cant do them all manually.
I tried to convert both segments (signal+noise and noise) with fft and then binning the the elements to create 125 scale (representing the frequency) and then subtracing one from the other but then i get negative values in the lower frequencies.
Is there an algorithem to use? or is it just subtracting noise from signal+noise?

Answers (0)


Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!