how do i seperate two different frequencies in one sound?

4 vues (au cours des 30 derniers jours)
Eqehan
Eqehan le 11 Mar 2022
Commenté : Eqehan le 12 Mar 2022
I have an voice record. It contains a man's speech and another dominant voice with different frequency.
How can i seperate them? Also, how can i delete jammer effect of dominant tone voice.
  6 commentaires
Star Strider
Star Strider le 12 Mar 2022
Congratulations!
Eqehan
Eqehan le 12 Mar 2022
Thank you mate.

Connectez-vous pour commenter.

Réponse acceptée

Eqehan
Eqehan le 12 Mar 2022
I completed the project. I used Fourier Transform(fft) and Band-Pass Filter. I am sharing the codes and screenshots for community.
clear all;close all;clc; % Clear everything
[data, Fs] = audioread('sound1.wav'); % Define sound document
D= fft(data); % Fourier Transform of data of our sound
plot(real(D)); % Plot the real part of fourier transform.
I found human voice frequencies at the result of fourier transform. It is between 1500-7500Hz. So i want to take just this frequencies. Then i made an Band-Pass Filter.
Band-Pass Filter
clear all;close all;clc; % Clear everything
[data, Fs] = audioread('sound1.wav'); % Define sound document
N=128; % Order of filter
Fn = Fs/2; % Nyquist Freq
fc1 = 1500/Fn; % Cut_Off Freq 1 - 1500Hz
fc2 = 7500/Fn; % Cut_Off Freq 2 - 7500Hz
B = fir1(N, [fc1 fc2], 'bandpass'); % Band-Pass Filter
ses_filtered = filtfilt(B, 1, data); % Apply filter
sound(ses_filtered,Fs); % Play the filtered sound
audiowrite('sound_result.wav',ses_filtered,Fs); %record the new sound
So, the first subplot(2,1,1) shows my raw sound, which has noise in high frequency.
Second subplot(2,1,2) shows the result.

Plus de réponses (0)

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by