Azzera filtri
Azzera filtri

how to mix two audio signals

34 visualizzazioni (ultimi 30 giorni)
Stalin Samuel
Stalin Samuel il 19 Gen 2015
Risposto: suresh gunarathna il 29 Gen 2020
i have two audio signals y1 ,y2 .Now i wants y3 as mixture of y1 and y2

Risposta accettata

W. Owen Brimijoin
W. Owen Brimijoin il 19 Gen 2015
Modificato: W. Owen Brimijoin il 20 Gen 2015
Simple mixing is just adding.
y3 = y1 + y2;
If you want to control the level of each within the mix, then you need to adjust them as follows:
y3 = (y1*y1_level) + (y2*y2_level);
where yx_level is based on the decibel conversion:
yx_level = 10^(level/20);
So to make signal 2 half the amplitude of signal 1, you'd use -6 dB as follows:
y3 = (y1*(10^(0/20)) + (y2*(10^(-6/20));
All of this assumes that the two signals are the same dimensions and have the same starting level.

Più risposte (1)

suresh gunarathna
suresh gunarathna il 29 Gen 2020
function [Y,f]=togau(A,B)
[x1,f1]=audioread(A);
[x2,f2]=audioread(B);
[l1,c1]=size(x1);
[l2,c2]=size(x2);
if l1 > l2
l=l2;
else
l=l1;
end
if(f1>=f2)
f=f1;
else
f=f2;
end
G=zeros(1,1);
t=0;
token=0;
for i=1:l
if t==f
if token==0
token=1;
t=0;
else
token=0;
t=0;
end
end
if(token==0)
G(i)=x1(i);
t=t+1;
else
G(i)=x2(i);
t=t+1;
end
end
Y=G;
audiowrite('out.wav',Y,f);
end

Categorie

Scopri di più su Simulation, Tuning, and Visualization in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by