错误后,将二进制转换为音频录制音频并将其转换为二进制.......请帮助! !

8视图(30天)
我录一段音频,转换成二进制,现在我必须把它回音频信号的音频但有噪音,我得到的结果,其不一样的。我应该做些什么来得到相同的音频记录我……从二进制转换回来后。我甚至正常的价值观……我是新matlab……请帮助……我将会非常感激。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年6月17日
格式长g
myRecording = randn (5、1)
myRecording = 5×1
-0.742153922329459 1.51715451030976 -0.738441174539258 1.86274349485519 0.470504960861284
wavebinary = dec2bin(定型(单(myRecording (:)),“uint16”),16)' 0 ';
大小(wavebinary)
ans = 1×2
10 16
注意是N x 16 N是样本数量* 2(你将myRecording转换为单一无论整数或单引号或双,所以单一的结果()将32位每样无论原始比特样本。然后你定型()为两个16位半,你每个16位值转换为二进制。每个转换值创建一个16位的行。
现在看来,看到你构造
sounddata =双(bin2dec (char(重塑(wavebinary 16 []), ' +' 0 ')));
所以你需要10 x 16的二进制数据的行表示一半的一个样本,和你将重塑16行……在这种情况下会给您10列。但这是错误的订单。你喜欢
1:16
17:32
33:48
和重新安排它
33 [1 1716个32 48…]
这里的缺陷是,当您创建wavebinary你应该做的事情
wavebinary =重塑((dec2bin(定型(单(myRecording (:)),“uint16”),16)' 0 ')。“1 []);
现在的转置位顺序将跟随你重建的方式。
7评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!