Speex-1.2beta2 Open Source Audio Encoder Win32 compilation experience
Source: Internet
Author: User
Speex is an open-source CELP-based Algorithm Audio codecs. This algorithm was made public as early as 1985, so there should be no licence problems. I believe that our friends who work on audio and VoIP must be very familiar with it. Speex has the following features:
(1) open-source software, free of charge-if you are willing to sponsor, you can get in touch with them through www.speex.org
(2) Use embedded bit streams to enable the codecs to adapt to applications with high bandwidth and low bandwidth.
(3) supports codec for different bit rates (from 2.15kbps to 44 Kbps)
(4) Support for Dynamic Bit Rate switching (AMR) and variable bit rate operations (VBR)
(5) integrate voice activity detection (VAD) in VBR and support discontinuous transmission (dtx)
(6) Support for mixing (variable complexity)
(7) embedded broadband structure (supports scalable sampling rate)
(8) supports 32 Khz extreme broadband mode (utra-wideband Mode)
(9) support for enhanced dual-channel Encoding
(10) use the fix-point implementation method to speed up Operation
In addition, it also supports the AEC, acoustic-based echo cancellation function.
So how can we compile this item in the Win32 environment? I take the latest version of speex-1.2beta2 that I can get in vs2003 environment for example: (1) first compile libspeex
This library is divided into two versions: static (LIB) and dynamic (DLL), which can be compiled and used separately as needed.
From their maillist, we can see that they are quite comfortable with speex in the Linux environment, but they have not updated these engineering files under Win32. This will inevitably cause some problems during compilation. The first problem is that # include <Ogg/Ogg. h> cannot be opened. After compilation, A libogg_static_d.lib will be generated. We will add the libogg include path and Lib path and the lib to be added in the link to the current libspeex project, so that the first step is almost done. The compilation will prompt that the medfilter. c file is not found. You can check its changelog to see that it is useless, so you can delete the. c file directly from solution manager. Then we can compile it smoothly, but note that the change log is missing. you can find this file C from the libspeex directory and add it to the current project. (This problem makes me crazy. I have compiled the Lib Program Is always prompted about the cloud such as unsolved external _ lpc_window ). The original problem is here. (2) Compile several built-in ENC and Dec programs.
It must be noted that libogg_static_d.lib, libspeex. Lib, and their own include and Lib paths must be added to the ENC and Dec projects. Then, you need to add skeleton. C and skeleton. h under the src directory to the current ENC or Dec project to generate the EXE program that can be used.
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.