WEBRTC Open Source Project A summary of the audio resampling "unfriendly interface"

Source: Internet
Author: User

WebRTC (Web Real time communication) is not Google's original technology, in 2010, Google bought about $68.2 million for VoIP software

Developer Global IP Solutions Company, open source WEBRTC real-time communication project.

Voice engine is the gips of voice communication, it is mainly through a series of transmission control to achieve low bandwidth transmission of real-time voice, Gips speech engine has

a wide range of guest users, such as Skype, QQ and other voice are using gips language engine. Through its voice engine, it can not only transmit higher quality voice, but also can lose the packet very

Severe network down-transmission Real-time voice.

The audio section covers audio codec, sound encryption, sound processing, echo cancellation (AEC), AECM, Automatic gain (AGC), and noise reduction processing. Tried the sound today.

Tone processing part of the Cresampler class, use is not very cool.

1. Only mono and two-channel processing, for multichannel audio, you need to do some pre-processing.

kresamplersynchronous = 0x10, Kresamplersynchronousstereo = 0x20

2. Similarly: limited to 16bits of data processing, you need to add 8bits, 32bits, floating point number processing.

int Push (const webrtc_word16* samplesin, int lengthin, webrtc_word16* samplesout, int maxlen, int &outlen);

3. In addition, in order to implement the fast resampling algorithm, the length of each processing samplesin is limited. Different resampling factors, the length requirements are not the same.

For example: if ((lengthin)! = 0) return-1; We can only handle blocks of the samples, can be fixed, but I don ' t think it ' s needed

Second, the maximum length of each processing cannot exceed Shrtmax.

4. For 44.1kHz and 22.1kHz, simplified processing, as 44kHz and 22kHz, reducing processing data per processing, speed up the operation, but also

Lost part of the data, reducing the accuracy of the data.

5. Finally, the sub-level resampling is divided into several steps to reduce the amount of data processed each time, speed up the operation rate, simplify the amount of code, audio quality will not have an impact.

In general, this resampling code implements the basic functionality of resampling, with the main advantages being in speed, while relying on fewer libraries and files.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.