webrtc开源项目音频重采样“不友好接口”的几点总结

摘要:
KResamplerSynchronous=0x10,kResamplerSynchronousStereo=0x202。同样,数据处理限于16位,您需要添加8位、32位和浮点数。intPush;3.此外,为了实现快速重采样算法,每个样本In处理的长度是有限的。在不同的重采样因子下,长度要求不同。总体而言,这组重采样代码实现了重采样的基本功能,其主要优势是速度,同时依赖于更少的库和文件。

       WebRTC(Web Real Time Communication)并不是Google原来自己的技术,在2010年,Google以大约6820万美元收购了VoIP软件

开发商Global IP Solutions公司,开源了WebRTC实时通信项目

      语音引擎是GIPS的语音通信的杀手锏,其主要是通过一系列的传输控制来达到在低带宽下传输实时的语音,GIPS语音引擎有着

广泛的客户群,比如skype、QQ等语音都是采用GIPS的语言引擎。通过其语音引擎,不仅能传输质量更高的语音,还能在丢包非常

严重的网络下传输实时的语音。

      音频部分涉及:音频编解码、声音加密、声音处理、回声消除(AEC)、AECM、自动增益(AGC)、降噪处理。今天试用了 一下声

处理部分的CResampler类,用得不是很爽。

1.仅限于单声道和双声道的处理,对于多声道音频,需要自己前期做些预处理。

          kResamplerSynchronous = 0x10,   kResamplerSynchronousStereo = 0x20

2.同样地:仅限于16bits的数据处理,需要自己添加8bits、32bits、浮点数处理。

       int Push(const WebRtc_Word16* samplesIn, int lengthIn, WebRtc_Word16* samplesOut, int maxLen, int &outLen);

3.另外,为了实现快速重采样算法,每次处理samplesIn的长度有所限制。不同重采样因子下,对长度要求不一样。

        例如: if ((lengthIn % 80) != 0)    return -1; // We can only handle blocks of 80 samples, Can be fixed, but I don't think it's needed

       其次,每次处理的最大长度不能超过SHRTMAX。

4. 对于44.1kHz和22.1kHz,都做了简化处理,当做44kHz和22kHz,减小处理每次处理数据量,加快运算速度,但是同时也

          丢失了部分数据,降低了数据精度。

5.最后对分数级的重采样都分为几个步骤处理,减小每次处理的数据量,加快运算速率,简化代码量,对音频音质不会产生影响。

         总体上来说,这套重采样代码实现了重采样的基本功能,主要优势体现在速度上,同时依赖的库和文件比较少。

6.不支持48k转44.1kHz

 

免责声明:文章转载自《webrtc开源项目音频重采样“不友好接口”的几点总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇phpstorm中如何配置phpunit(单元测试)数字图像处理入门下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PortAudio详解(2015年12月1日更新)

PortAudio详解 整理者:赤子玄心 QQ:280604597 Email:280604597@qq.com 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 PortAudio是一个免费、跨平台、开源的音频I/O库。看到I/O可能就想到了文件,但是PortAudio操作的I/O不是文件,而是音频设备。它能够简化C...

iOS下WebRTC音视频通话(一)

在iOS下做IM功能时,难免都会涉及到音频通话和视频通话。QQ中的QQ电话和视频通话效果就非常好,但是如果你没有非常深厚的技术,也没有那么大的团队,很难做到QQ那么快速和稳定的通话效果。 但是利用WebRTC技术,即使一个人也能够实现效果不错的音视频通话。本篇介绍WebRTC的基础概念。 WebRTC介绍 WebRTC,名称源自网页实时通信(Web Re...

python pandas 对带时间序列的数据进行重采样处理

今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据。 源数据示例如下: time B00 B01 ... RollMean2.5RollMean10 2018-05-31 09:44:39 15.212 5.071 .....

WebRTC APM音频处理流程概述

本文主要介绍WebRTC的APM。 现在主要介绍一下audio_processing.h。 首先插入了几个类,这些都是audio_processing的核心模块。 class AudioFrame;  class EchoCancellation;  class EchoControlMobile;  class GainControl;  class...

Android下音视频对讲演示程序(声学回音消除、噪音抑制、语音活动检测、自动增益控制、自适应抖动缓冲)(2021年11月10日更新)

Android下音视频对讲演示程序 必读说明 简介 本软件根据《道德经》为核心思想而设计,实现了两个设备之间通过TCP或UDP协议进行全双工实时音视频对讲,并做了以下增强处理: 支持8000Hz、16000Hz、32000Hz、48000Hz的音频。 支持声学回音消除,通过本人自己设计的音频输入输出帧同步方法、自适应设置回音延迟方法、三重声学回音消除...

WebRTC学习(三)WebRTC设备管理

一:WebRTC设备管理 (一)重要API,用于获取音视频设备 其中返回的ePromise结果,是一个Promise对象。 Promise对象的结构体:MediaDevicesInfo  deviceID:是设备唯一标识符ID label:是设备的名字(可读的) kind:设备的种类(音频输入/输出两种,视频输入/输出两类) groupID:同一个设备...