我对Matlab非常陌生,并试图生成一个.wav文件,但我一直得到一个不受支持的通道错误数。这是我的密码。
TTL = zeros(2, 2205);
TTL(1,1:2205) = 2;
audiowrite('hereitis.wav', TTL, 44100, 'BitsPerSample', 16);我相当肯定,我的问题在于TTL,因为我以前曾使用Matlab一次或两次来生成.wav文件。我想要做的是保存一个声音,另一个人是通过模拟传输使用Matlab数据采集工具箱。我不认为我离目标太远,因为我已经能够播放声音使用声音(TTL,44100);
提前谢谢。
发布于 2013-11-15 07:20:52
你这里有两个问题。
首先,正如help audiowrite所说:
立体声数据应指定为有两列的矩阵。
但是你有两行,所以你需要改变它。如果运行更改的代码,您将得到警告:
Warning: Data clipped when writing file.
>In audiowrite>clipInputData at 390
In audiowrite at 166这意味着您需要对信号使用适当的数据类型(在本例中为int16)。因此,在进行了这些修改之后,我们得到了以下代码:
TTL = int16(zeros(2205, 2));
TTL(1:2205, 1) = 2;
audiowrite('hereitis.wav', TTL, 44100, 'BitsPerSample', 16);https://stackoverflow.com/questions/19994522
复制相似问题