linux录音判断静音

FCARM 2011-12-19 03:13:13
想问一下大家,linux在录音的时候,如果没有声音的时候,就不录了,怎么去检测啊?
...全文
227 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
FCARM 2011-12-27
  • 打赏
  • 举报
回复
现在我用speex,但是在运行的时候出现warning: The VAD has been replaced by a hack pending a complete rewrite

有没知道是什么原因啊?
FCARM 2011-12-26
  • 打赏
  • 举报
回复
好像现在很多人用speex来检测静音,不知道哪位用过
wuxinxinggg 2011-12-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 crystal29 的回复:]

不可以,可以测试一下,这样判断结果肯定错误,因为人耳是感应变化的。假设一段音频全为一个很大的值,但是人耳是什么都听不到的。要以频域的能量为准
[/Quote]
+++++++++++++++++++++++
crystal29 2011-12-23
  • 打赏
  • 举报
回复
不可以,可以测试一下,这样判断结果肯定错误,因为人耳是感应变化的。假设一段音频全为一个很大的值,但是人耳是什么都听不到的。要以频域的能量为准
woshi_ziyu 2011-12-22
  • 打赏
  • 举报
回复
也可以判断你转换出来的值
woshi_ziyu 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lw_reader 的回复:]

将录音信号作绝对值计算,全变成正值后通过低通数字滤波,然后选择一个合适的阀值进行比较,如果滤波后的信号长期低于此值即可判定为没有声音。
[/Quote]
++
FCARM 2011-12-22
  • 打赏
  • 举报
回复
呵呵,好像有点复杂
lw_reader 2011-12-22
  • 打赏
  • 举报
回复
将录音信号作绝对值计算,全变成正值后通过低通数字滤波,然后选择一个合适的阀值进行比较,如果滤波后的信号长期低于此值即可判定为没有声音。
FCARM 2011-12-22
  • 打赏
  • 举报
回复
我是这样想的,音频是AD转换,可不可以从判断他的值来说明是不是静静
marinee 2011-12-22
  • 打赏
  • 举报
回复
衡量音量需要通过fft转换到频域,求频域的能量和,小于阈值即为静音。
采样宽度8位,则数据为unsigned char,采样宽度16位,则数据为short
在时域判断信号的值,如果这些值都很小,则实际音量也很小;但是实际音量很小,并不一定时域信号的值都很小。
楼主可以搜索一下相关信号处理的知识

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧