【发布时间】:2013-02-16 16:48:15
【问题描述】:
我已经在 Matlab 中录制了自己的声音,我打算给它添加一些回声。我想出了一种解决方案来获得所需的回声效果:
- 在时域中延迟采样音频并将其添加到原始样本中。
为了做到这一点,我正在使用 Matlab,我基本上做了以下工作:
recObj = audiorecorder(44100, 16, 2);%sampling rate of 44100Hz, stereo
recordblocking(recObj,length);%record audio for a fixed length duration
y = time_delay(getaudiodata(recObj) , 5000 );%set a delay of 5000 to original sampled audio data
function [ y ] = time_delay ( x , R )
%this function sets a delay to x of R
y = zeros(length(x) + R , 1);
y(R + 1:length(y)) = x(1:length(x));
如您所见,我有一个可用于播放录制音频的 recObj。为了获得录制音频的延迟版本,我使用了 getaudiodata(recObj) 和我自己的函数 time_delay。我有一个问题是我不知道如何从 time_delay 函数检索到的延迟音频数据中获取新的延迟音频记录器对象,我需要一个音频记录对象,因为这是播放某些东西的唯一方法。 所以,我的问题是:
- 这是在音频中获得所需回声效果的好方法吗 信号?
- 如果是,那么如何将延迟的音频数据设置为
录音机对象?
【问题讨论】:
-
请不要在两个论坛问同样的问题:dsp.stackexchange.com/questions/8066/…
标签: matlab audio signal-processing audio-recording