2016-11-17 3 views
1

Ich versuche, einen Sound Annotator in Matlab zu bauen.Wie man zwei Sounds in Matlab überlappt

Eine der Voraussetzungen für diesen Annotator ist, ein Aufnahme-Sample (oder eine vorher aufgezeichnete Datei) aufzunehmen und es dann über die vorhandene Datei hinzuzufügen.

Lassen Sie uns sagen, ich habe die erste Datei:

[y,Fs] = audioread(filename); 

und die zweite Datei

[x,Fs2] = audioread(filename2); 

Die erste Datei ein Musikclip sein kann, die zweite Datei ist nur einige aufgezeichnete Kommentar. Gibt es eine Möglichkeit, eine neue Sounddatei zu erstellen, indem die erste Datei als Basis verwendet wird und dann die zweite Datei zu einem bestimmten Zeitpunkt (zum Beispiel in Minute 2, Sekunden 3) hinzugefügt wird, so dass Sie sowohl die Musik als auch hören können die aufgezeichnete Rede?

Antwort

1

Zuerst stellen Sie sicher, Ihre Signale haben die gleiche Abtastfrequenz

x2 = resample(x, Fs, Fs2); 

Danach können Sie einfach die beiden Signale zusammen addieren.

offset = (2 * 60 + 3) * Fs; 
output = y; 
output(offset:offset+length(x2);:) = output(offset:offset+length(x2);:) + x2 

Wahrscheinlich möchten Sie eine Verstärkung anwenden, um die Lautstärke der beiden Aufnahmen und auch die Gesamtlautstärke zu steuern.

output = music_volume * y; 
output(offset:offset+length(x2);:) = (output(offset:offset+length(x2);:) + commentary_volume * x2); 
output = volume * output; 
Verwandte Themen