【发布时间】:2015-05-12 21:17:42
【问题描述】:
我已经完成了一个函数playSound(f),它看起来像这样:
function playSound(f)
fs = 44100;
t = 0:1/fs:1;
y = sin(2.*pi.*f.*t);
sound(y,fs,16);
end
我在另一个函数中使用这个函数,代码如下:
while i <= y
b = bin2dec(bits(i:i+k-1));
freq = 2000-frequencyInterval+b*deltaFreq;
playSound(freq);
pause(1);
i = i + k;
end
我对最后一段代码的期望是得到一连串具有不同频率的正弦曲线,每个正弦曲线持续一秒又一秒。但我注意到这是完全不可靠的,而且我并没有准确地得到一个罪的一秒钟,然后是另一个罪。
有没有更精确的方法来告诉 Matlab 一个接一个地播放我的声音,每个都在特定的时间(不多不少)并且没有中断(或中间的任何其他内容)?
【问题讨论】:
-
我会通过将所有单独的正弦曲线拼接在一起来构建一个大信号,然后播放它
-
哦,或者那个,如果你提前知道你想玩什么就容易多了:)。
标签: matlab