请教PCM 8位声音的格式以及噪音消除算法(200分)

  • 主题发起人 主题发起人 wenyue
  • 开始时间 开始时间
W

wenyue

Unregistered / Unconfirmed
GUEST, unregistred user!
8位原始的声音格式,每一个字节表示一个采样点,128表示无声,其震动幅度为 ABS(V-128),也就是127和129的震幅是一样的,都为1。问题是他们代表的具体含义是什么?127和129有什么差异?
在完全无声的时候,MICROPHONE会采集到一些噪音,分布在128的附近,在有声的时候,这些噪音会和正常的声音产生叠加。请问消除噪音的算法是什么?如果能有程序最好,如没有希望有原理。
由于双声道和单声道没多大区别,所以我只需要单声道的8位PCM格式的算法。
 
顶顶,鄙人,也问噪音消除算法,听说好像可用快速傅立叶转换,来减噪,不知哪位高手知道。还请不吝赐教 愿以人民币收购。
 
楼上的,讲一下具体要求,我可以先发给你一个低通你试试看行不行。
 
关注.
如果是用算法弥补的话,我想知道他的效果如何!..
不会很失真吧.
 
声音是正弦波形,这里的8位,128就是0,127是-1,129是1。在完全无声的时候,可以设定一个阀值,如-5~5,在这个范围内归零。有声音时候的叠加,一般不需要再消除,因为已经很难觉察了。我做过调试,调节MIC的音量可以得到很好效果,windows的MIC都有一个20db的提升,把这个取消,不需要提升,再降低mic的音量,效果很好。
 
使用-5~5作为0分辨似乎不可行,你总不能把所有的-5~5之间的声音都归0吧,那样当一个人连续说话的起伏也被消除了。当一个人开始发言的时候,声音变化为:3,4,5,5,5,6,6,8,8,8,如果消除掉了5以下的声音将不连贯。
 
用BUTTERWORTH滤波器就可以了,说一下要求,我帮你写滤波程序
 
要求很简单,编写一个函数,入口为一个缓冲区,参数为指针和长度,存放8位声音缓冲区。噪声消除后的数据也存贮在这个区域(覆盖)
多谢zcroot_0411,多谢各位
 
谈一下具体要求,比如说需要保留的频率范围,以及需要滤除的燥声的频率,是低通,带通还是高通,我这两天很忙,过两天帮你写。
 
我希望可以用于聊天用,希望可以降低麦克风本身产生的噪音,最好还可以降低下敏感度,也就是说把旁边的背景音(例如房间内其他的比较细微的声音)也降下去
多谢
 
我也想要这种滤波器,不果我的时 8000hz 16bit 单声道的 pcm

binyf@163.com
 
后退
顶部