2016-11-17 8 views
1

Я пытаюсь создать звуковой аннотатор в Matlab.Как совместить два звука в matlab

Одним из требований к этому аннотатору является возможность взять образец записи (или файл с предварительной записью), а затем добавить его поверх существующего файла.

Допустим, у меня есть первый файл:

[y,Fs] = audioread(filename); 

и второй файл

[x,Fs2] = audioread(filename2); 

Первый файл может быть музыкальный клип, второй файл только некоторые записанные комментарии. Есть ли способ создать новый звуковой файл, используя первый файл в качестве базы, а затем добавить второй файл поверх него в определенное время (скажем, в минуту 2, второй 3), чтобы вы могли слышать музыку и записанная речь?

ответ

1

Сначала убедитесь, что ваши сигналы имеют одинаковую частоту дискретизации

x2 = resample(x, Fs, Fs2); 

После этого вы можете просто добавить два сигнала вместе.

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

Возможно, вы хотите применить усиление для регулировки громкости двух записей, а также общего объема.

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

 Смежные вопросы

  • Нет связанных вопросов^_^