音频信号的放大

amplification of audio signal

我正在尝试编写一个程序,它接受两个音频文件并尽可能将一个文件与另一个文件匹配。因此,如果我给程序提供两个音频文件,其中一个只是另一个的更安静版本,程序应该放大更安静的一个以匹配另一个。我可以使用哪些功能来实现我正在寻找的东西?我使用了以下代码行,但它平衡了两个信号但切断了响亮的信号。我希望更安静的等于更响亮的

% creation of signals
 N=1024;
 n=0:N-1;
 x=sin(2*pi*(2^-7).*n);
 y=2*sin(2*pi*(2^-7).*n+pi/4);
 
 % justify its power 
 x1=x/sqrt(mean(x.^2));
 y1=y/sqrt(mean(y.^2));

你需要得到xy与最大平均值的比率,对于x这是0.5,对于y这是1。A实现方式:

N=1024;
n=0:N-1;
x=sin(2*pi*(2^-7).*n);
y=2*sin(2*pi*(2^-7).*n+pi/4);

% justify its power
x1=x./(sqrt(mean(x.^2)/(max(mean(x.^2),mean(y.^2)))));
y1=y./(sqrt(mean(y.^2)/(max(mean(x.^2),mean(y.^2)))));

figure()
plot(n,y)
hold on
plot(n,x1)
legend('y','x1')
xlabel('n');

结果如下图: