2014-10-11 3 views
0

Я хочу взять некоторый аудиосигнал, скорее всего, в стерео, и применить к нему некоторую функцию передачи с помощью функции свертки. Я видел примеры здесь, как применять передаточные функции после получения tfest из двух сигналов, но данные tfest имеют тот же размер, что и исходный звук.Создание функции передачи из данных и применение к аудиосигналу

Я попытался перемещаться по MATLAB и ознакомиться с его интерфейсом и синтаксисом, наблюдая одинокое видео Lynda на основе MATLAB. У меня есть опыт программирования на C# и я чувствую себя комфортно в Visual Studio, но MATLAB для меня новичок.

Передаточная функция предварительно получена и в настоящее время находится в Excel. Данные находятся в октавных полосах (63 Гц, 125 Гц, 250 Гц, ..., 8 кГц) и будут экстраполированы на спектр входного сигнала (20 Гц - 20 кГц). Это будет иметь вид: (f1, -x1), (f2, -x2), ..., (fn, -xn), причем каждая точка данных в дискретизированном аудио имеет совпадение с передаточной функцией.

Функция постоянно со временем. По сути, я имитирую, что-то будет звучать после прохождения раздела.

Мой процесс мышления говорит мне, что это будет следовать: ввод аудио, преобразование в частотную область, применение функции передачи, преобразование обратно во временную область и запись в WAV.

Как бы я это сделал? Я понимаю, что я не предоставлял никакого кода, и за это мне жаль. Любые ресурсы по этой теме наиболее ценятся. Я не ожидаю решения «под ключ», просто руководство, чтобы я смог найти правильный способ.

ответ

0

Я хотел бы сделать так:

function [ out_wav_file ] = TransformSignal(in_waw_file) 

% Read input signal 
[in_sgn, FS, N] = wavread(in_waw_file); 

% If audio file is multiple channel, selec one channel 
in_chn = in_sgn(:, 1); 

% Transform to frequency domain 
% You could use a smaller FFT length but it would cost you quality when 
% converting back 
fft_in_sgn = abs(fft(in_sgn, length(in_sgn))); 

fft_out_sgn = SomeFunction(fft_in_sgn); 

out_sgn = ifft(fft_out_sgn); 

wavwrite(out_sgn, FS, N, out_wav_file); 

end 

Надеется, что это помогает!

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

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