Balancing levels of audio signals

2 次查看(过去 30 天)
Hi,
I have got two audio intervals named m_ref and m_test. The former consists of signal vector y1, and the latter consist of y1 + a variable level (in dB) of signal vector y2.
They are defined as follows:
m_ref = y1;
m_test = y1 + 10^(M.VAR/20)*y2;
I want to balance the loudness levels of m_test and m_ref so they are the same . E.g. using rms(x):
m_test = m_test / rms(m_test) * rms(m_ref);
Gives the error below:
Not enough input arguments.
Error in rms (line 24)
y = sqrt(mean(x.*conj(x), dim)); % works for complex vectors, too
Error in abs_threshold_colorationuser (line 26)
m_test = m_test / rms(m_test) * rms(m_ref);
  1 个评论
Marius Tøndel Eliassen
To answer myself, I got the error because I didn't specify that I got two 2 channel signals:
m_test = m_test,2 / rms(m_test,2) * rms(m_ref,2);
However, it doesn't seem to do what I want yet, which is to equalize the levels so m_test = m_ref. Anyone?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by