EQ from measurement-data
조회 수: 5 (최근 30일)
이전 댓글 표시
I have a set of data from a measurement [frequency, relative gain] stored in an excel-table. Now i want to use those values to build an EQ or otherwise somehow substract the values from mulitble audio-files.
Since the parametric EQ is limited to 10 bands and the graphic EQ has fixed frequency-bands, is there any chance doing this using the AudioToolbox?
Talking about a table of around 4000 frequencies with corresponding gain-values. Audio files are IRs of length under 1 second.
I'm thankful for any advice.
댓글 수: 0
채택된 답변
Mathieu NOE
2021년 12월 2일
hello
maybe you should share the data file (measurements) and code if you have already started one
once we have created the bank of filters we can use them to EQ the signal
for info, this code was for generating a bannk of 23 bandpass filters from 100 to 8,000 Hz center frequencies
%% INitializing Matlab Environment
close all;
clc;
clearvars;
b=log10(8000);%stop frequency and 100Hz is the pass frequency
yc1=logspace(2,b,23);
yd=stem(yc1);
grid on
xlabel('Borders','FontSize',12);
ylabel('F (Hz)','FontSize',12);
set(gca,'YScale', 'log')
%%
fs=44.1e3; %sampling frequency
figure(2)
hold on
for i= 1:1:23
BW = yc1(i)/5; % BW should be proportionnal to center frequencies (not fixed)
f_low = yc1(i) - BW/2;
f_high = yc1(i) + BW/2;
[B,A] = butter(1,[f_low, f_high]*2/fs,'bandpass');
freq = logspace(log10(f_low/4),log10(f_high*4),200);
[h]=freqz(B,A,freq,fs);
semilogx(freq,20*log10(abs(h)));
end
hold off
set(gca,'XLim',[0 fs/2.56],'XTick',10.^(0:4),'YLim',[-12 0],'YTick',-12:2:0,'XScale', 'log')
댓글 수: 6
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!