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.