本文目录一览

1,speex的功能有那些最好是中文的

开发JNI对speex的接口类库,关键是要能够实现在异步情况下使用speex自带的回音消除函数实现对回声的消除。
虽然我很聪明,但这么说真的难到我了

speex的功能有那些最好是中文的

2,speex在android录音效果怎么样

由于项目需要做语音降噪处理,最近做了这方面的研究。但结果却没有达到,反而却学得了基于Speex的语音压缩和解压,也算没有白白浪费时间(300K的语音文件经过Speex压缩后文件大小变为了30K左右,对于网络传输非常好)。
因为ogg格式,android系统支持.而且解码率相当高.媒体应用 无非是解码 你当然可以自己写个解码程序,一边解一遍放.但是会卡的.还是直接用android系统支持的格式好一些.

speex在android录音效果怎么样

3,android用speex做实时录音功能对OGG封装有些疑问

因为oGG格式,android系统支持.而且解码率相当高.媒体应用 无非是解码 你当然可以自己写个解码程序,一边解一遍放.但是会卡的.还是直接用android系统支持的格式好一些.
我的做法就是speex.encode()成byte[],然后通过网络发出去,接收到了之后再speex.decode()完就可以播放了。你说边录制变播放有点奇怪呀,自己录制自己的声音,为什么自己还要同时要播出来?边录边听不奇怪吗?存成ogg估计是为了录制完了再听吧。比如微信。

android用speex做实时录音功能对OGG封装有些疑问

4,speexdsp 是怎么获取麦克风的数据的

Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。另外,相对于其它编解码器,Speex也很适合网络应用,在网络应用上有着自己独特的优势。同时,Speex还是GNU工程的一部分,在改版的BSD协议中得到了很好的支持。Speex一个编码的函数,这种方法是基于帧的,并不是一个文件一个文件处理,而是定一个帧的长度基于帧的编码为你想要的一个Speex格式,最后Speex添加Speex文件的头信息,然后通过Socket发送Speex文件数据到服务器,服务器传到另外一台设备,设备接受为Speex文件并解码为PCM音频数据。这个Speex还有很多很多的功能,包括录制之前的设置和降噪都可以设置。通过解码将PCM数据恢复为WAVE文件格式,可以播放这个文件。
你好!知道大数据知道多世界知道非遗用户知道联想的麦克风UMC还不错的,搭载专业的仅代表个人观点,不喜勿喷,谢谢。

5,cspeex怎么始终用不了

1、 定义一个SpeexBits类型变量bits和一个Speex编码器状态变量enc_state。2、 调用speex_bits_init(&bits)初始化bits。3、 调用speex_encoder_init(&speex_nb_mode)来初始化enc_state。其中speex_nb_mode是SpeexMode类型的变量,表示的是窄带模式。还有speex_wb_mode表示宽带模式、speex_uwb_mode表示超宽带模式。4、 调用函数int speex_encoder_ ctl(void *state, int request, void *ptr)来设定编码器的参数,其中参数state表示编码器的状态;参数request表示要定义的参数类型,如SPEEX_ GET_ FRAME_SIZE表示设置帧大小,SPEEX_ SET_QUALITY表示量化大小,这决定了编码的质量;参数ptr表示要设定的值。 可通过speex_encoder_ctl(enc_state, SPEEX_GET_FRAME_SIZE, &frame_size) 和speex_encoder_ctl(enc_state, SPEEX_SET_QUALITY, &quality)来设定编码器的参数。5、 初始化完毕后,对每一帧声音作如下处理:调用函数speex_bits_reset(&bits)再次设定SpeexBits,然后调用函数speex_encode(enc_state, input_frame, &bits),参数bits中保存编码后的数据流。6、 编码结束后,调用函数speex_bits_destroy (&bits), speex_encoder_destroy (enc_state)来二:解码流程同样,对已经编码过的音频数据进行解码要经过以下步骤:1、 定义一个SpeexBits类型变量bits和一个Speex编码状态变量enc_state。2、 调用speex_bits_init(&bits)初始化bits。
支持一下感觉挺不错的

6,如何使用Speex中的AEC模块提高声音质量

)的最新版本中,开始集成了回音消除的模块,而回音消除一直是Voip之中亟待解决的主要问题。很多朋友和我说speex的aec模块的效能并不好,我们先来看一下speex的aec的api调用方式。/**创建AEC对象*/SpeexEchoState *echo_state = speex_echo_state_init(frame_size, filter_length);frame_size 的取值最好是一个编码的frame大小, 在低带宽条件下,一般延迟20ms,而大小为160filter_length,最好是房间内反射时间的1/3如: 一个房间的反射时延为300ms那么这个filter_length就最好是100ms(这个长度又被称为tail length).而其中filter_length的设定是一个关键。/**执行AEC*/speex_echo_cancel(echo_state, input_frame, echo_frame, output_frame, residue);其中:input_frame: 就是被声卡捕捉到的声音echo_frame: 是由扬声器播放出的声音,这个声音是需要从 input_frame中抵消的声音.output_frame 是处理完以后输出的声音residue是一个可选参数,如果不使用可以将之设置为NULL, 也可以通过preprocessor 来控制问题的关键是 处理input和echo 之间的关系,也就是说在捕捉到的信号和播放的信号之间的延迟必须足够的小,才可以提高效率.writetosndcard(echo_frame, frame_size)readfromsndcard(input_frame, frame_size)speex_echo_cancel(echo_state, input_frame, echo_frame, output_frame, residue)如果你想要尽可能的减小信号中的回音,那么可以将residue这个参数设置为噪音参数.我相信在大多数情况下,都是因为声音捕捉和声音播放之间的同步问题没有处理好,导致的音频质量下降。/**销毁和复位*/speex_echo_state_destroy(echo_state);speex_echo_state_reset(echo_state);不再复述了!说明:据说在Speex的最新的1.2beta版本上,Speex提供了可选择的,简化的API,来提高echo执行过程中的同步问题。这些,我会在以后的文章中在讨论。
不明白啊 = =!

文章TAG:speex  speex的功能有那些最好是中文的  
下一篇