- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 将C语言宏定义转换成字符串!
适用场景举例流媒体处理系统中,采样率是个很重要的参数,很多地方都要用,如果用来分配内存,则#define SAMPLE_RATE 16000如果用来配置第三方库,则#define SAMPLE_RATE "16000"这样每次改采样率都要改两处地方,容易遗漏网上搜到第一篇文章,匆忙试了试,并未达到我想要的效果,然后在GNU的官网找到了第二篇文章,看懂了,原来第一篇文
2016-01-28 19:15:47 22559 2
原创 不要用speex做静音检测vad
speex从1.2版本开始支持静音检测vad(还有降噪、回声消除、自动增益控制agc、抖动buffer、重采样等一堆功能)等针对语音的预处理功能,实现在libspeexdsp库中。真正用起来后,发现各种坑!首先我打开了降噪、agc和vad,结果预处理后的音频播放起来有电流突突声(不知道怎么形容,看图)因为speex初始化时frame size填的20ms帧长,所以各位从上图可以看到
2016-01-20 10:34:47 13161 14
原创 portaudio回调方式实现录制任意长度的音频
portaudio是一个跨平台音频库,类似于SDL作为跨平台图像库一样,只是在系统原生音频库(alsa、oss)上封装了一层portaudio自带的录音示例代码只有同步IO模式,没有异步IO模式,而异步IO能释放主线程,是更好的方式为了实现异步,需要定义回调函数,在回调函数里将音频数据不断写入文件为了实现任意长度,需要引入无限循环,但该无限循环要能根据用户的输入及时退出。为
2016-01-07 23:15:50 5018 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人