Balancing levels of audio signals

1 view (last 30 days)
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 Comment
Marius Tøndel Eliassen
Marius Tøndel Eliassen on 25 Feb 2020
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?

Sign in to comment.

Answers (0)


Find more on Measurements and Spatial Audio 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!