音频信号的放大
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));
你需要得到x
和y
与最大平均值的比率,对于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');
结果如下图:
我正在尝试编写一个程序,它接受两个音频文件并尽可能将一个文件与另一个文件匹配。因此,如果我给程序提供两个音频文件,其中一个只是另一个的更安静版本,程序应该放大更安静的一个以匹配另一个。我可以使用哪些功能来实现我正在寻找的东西?我使用了以下代码行,但它平衡了两个信号但切断了响亮的信号。我希望更安静的等于更响亮的
% 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));
你需要得到x
和y
与最大平均值的比率,对于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');
结果如下图: