作者johnny1276 (山羊)
看板java
标题[问题] 读语音档出来的阵列值与C读出来的不同
时间Sun Aug 21 21:42:56 2011
※ [本文转录自 AndroidDev 看板 #1EKGis7z ]
作者: johnny1276 (山羊) 看板: AndroidDev
标题: [问题] 读语音档出来的阵列值与C读出来的不同
时间: Sun Aug 21 21:42:09 2011
最近在测试读语音档
利用DataInputStream来读Short型态的阵列出来
我就先测试将阵列值乘以二(变大声)、除以二(变小声)
乘以二出来的语音真的会变大声
但是除以二的值却会变成杂讯干扰很大的语音
照理来说应该音量会变一半才对,也不会杂讯变大
於是我利用MATLAB和C++来读相同的语音档
利用fopen和fread来读取 (16bit) Short语音阵列
出来的值和JAVA出来的差异极大
我也试过换一个不同的API来读取
ByteArrayOutputStream来读取
先存成byte阵列 再转换
出来的值也与原本的DataInputStream出来的阵列值相同
想问问这样算是正常吗
还是我读取方法有错了吗
实在不懂为何除以二会变成杂讯干扰的语音
写得有点落落长@@
麻烦大家帮小弟我解答了
感激不尽!!!!! ^ ^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.114.198.76
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.114.198.76
1F:→ johnny1276:如有需要 晚点附上程式码 感谢^ ^ 08/21 21:43
2F:推 shaopin:有没有注意Endiannes问题? 08/22 05:26
3F:→ johnny1276:可以请问一下那是什麽吗 08/22 11:28
4F:推 shaopin:byte在记忆体中的摆放顺序 08/23 00:39
5F:→ johnny1276:问题解决罗 edian的问题 08/23 10:53