开源的好东西

        发现自己的记忆力有点下降了,所以把最近发现的好东西贴在这里记下来。

1 Speex 一个开源的声学回声消除器

Speex is an Open Source/Free Software patent-free audio compression format designed for speech. The Speex Project aims to lower the barrier of entry for voice applications by providing a free alternative to expensive proprietary speech codecs. Moreover, Speex is well-adapted to Internet applications and provides useful features that are not present in most other codecs. Finally, Speex is part of the GNU Project and is available under the revised BSD license.

The Technology

Speex is based on CELP and is designed to compress voice at bitrates ranging from 2 to 44 kbps. Some of Speex's features include:

  • Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream
  • Intensity stereo encoding
  • Packet loss concealment
  • Variable bitrate operation (VBR)
  • Voice Activity Detection (VAD)
  • Discontinuous Transmission (DTX)
  • Fixed-point port
  • Acoustic echo canceller
  • Noise suppression

Note that Speex has a number of features that are not present in other codecs, such as intensity stereo encoding, integration of multiple sampling rates in the same bitstream (embedded coding), and a VBR mode; see our comparison page for more.


2 libsndfile  音频格式转化库

Libsndfile is a library designed to allow the reading and writing of many different sampled sound file formats (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.

During read and write operations, formats are seamlessly converted between the format the application program has requested or supplied and the file's data format. The application programmer can remain blissfully unaware of issues such as file endian-ness and data format. See Note 1 and Note 2.

Every effort is made to keep these documents up-to-date, error free and unambiguous. However, since maintaining the documentation is the least fun part of working on libsndfile, these docs can and do fall behind the behaviour of library. If any errors omissions or ambiguities are found, please notify Erik de Castro Lopo.

To supplement this reference documentation, there are simple example programs included in the source code tarball. The test suite which is also part of the source code tarball is also a good place to look for the correct usage of the library functions.

Finally, if you think there is some feature missing from libsndfile, check that it isn't already implemented (and documented) here.




3 EMIPLIB  网络数字媒体库

Welcome to the home page of EMIPLIB.

Introduction

The name EMIPLIB stands for 'EDM Media over IP library'. This library was developed at the Expertise Centre for Digital Media (EDM), a research institute of the Hasselt University. As the name suggests, the goal of the library is to make it easier to stream several kinds of media, including (but not limited to) audio and video.

The latest version of the library is 0.17.0. You can take a look at the ChangeLog.

Features

Current features include:
  • Soundcard input (using OSS, WinMM, Jack and PortAudio)
  • Soundcard output (using OSS, ALSA, ESD, WinMM, Jack, SDL and PortAudio)
  • An OpenAL output component
  • WAV file input (using libsndfile, libaudiofile or a simple internal WAV reader)
  • WAV file output (using libsndfile or a simple internal WAV writer)
  • Webcam input (using Video4Linux and DirectShow)
  • Speex compression
  • U-law audio encoding
  • A-law audio encoding
  • LPC compression (code taken from JVOIPLIB, which is based on Ron Frederick's lpc.tar.Z)
  • GSM 06.10 compression (code taken from JVOIPLIB, which is based on Jutta Degener and Carsten Bormann's work)
  • H.263+ compression (using libavcodec)
  • Mixing of incoming audio streams
  • Synchronization of RTP streams based on RTCP information
  • 3D sound effects using HRIR/HRTF data from the LISTEN project
  • Easy to use voice over IP (VoIP) and video over IP sessions

你可能感兴趣的:(开源)