Balancing levels of audio signals

1 view (last 30 days)
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 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)

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!