Speex之一-介紹Speex

Speex之一-介紹Speex

介紹Speex

Speex編解碼器(www.speex.org)存在是因為有這麼一個需求,即是開源同時專利版權也是免費的。這應該也是各開源軟體的必要條件。本質上講,Speex是針對語音的,vorbis是針對語音/音樂的。不像很多基它編碼,Speex不是為移動手機設計的,而是為網絡和VOIP應用設計的。文件壓縮當然也技持。Speex設計得很靈活,支持很寬範圍的語音質量和比特率。支持非常好的語音也意味著Speex能夠編碼窄帶語音(電話質量,8kHz采樣率)也能編碼寬帶語音(16kHz采樣率)。代替移動手機,為VOIP設計意味著Speex對丟包是魯棒的,而不是損壞的。這是基於假設在網絡環境下,包可能到達了也或者根本沒到達。因為Speex定位是廣泛的設備,所以它是複雜度可調和占內存小的。這全部的設計目標使之選擇了CELP作為編碼技術。一個主要的原因是是CELP已經被證明其可靠性,並且能夠很好的擴展到低比特率(如DOD CELP 4.8kbps)和高比特率(如G.728 16 kbps)。

  

1. 幫助

關於很多開源項目,都是有很多方式可以獲得幫助的,Speex也一樣。包括

(1)本用戶手冊

(2)在Speex網站的其他文檔

(3)郵箱列表:討論任何Speex相關主題(不僅僅只是開發)在[email protected]

(4)IRC:主要通道是#speex在irc.freenode.net.請注意,由於時間不同,它可能需要等會,請耐心等待

(5)發EMail到作者私人郵箱[email protected],只限制於私人主題你不希望公開討論的

在詢問之前,請先讀手冊,這是很重要的。因為通常在郵件中被詢問相關的問題已經是在文檔中非常清楚說明了。另一方面,完全鼓勵要求澄清有關本手冊中所涵蓋的東西。

本手冊並不涵蓋關於Speex的全部,所以鼓勵每個人詢問、發內容、特征請求或者讓我們知道Speex是怎麼被使用的。這裏面是一些有關於郵箱列表的指導方針。在上報BUG到Speex列表之前,強烈推薦如果可能首先測試BUG是否能夠重現通過Speexenc和speexdec(查看第四節)命令行工具。如果上報的BUG是基於第三方代碼即很難去找且出現機率低,Speex將不受理。

 

2.關於本文檔

本文檔分為以下方式。第二節描述Speex不同特徵和定義很多被使用於整個手冊的基礎術語。第4節記載Speex發布的標準命令行工具。第5節包含關於程序使用libspeexAPI的詳細指令。第7節包含一些關於Speex和標準的信息。最後三段描述Speex使用的算法。這些段落要求有信號處理的相關知識,但不要求僅僅用於Speex.他們是為想明白Speex實際如何工作或想去研究基於Speex做準備的。第8節是解釋CELP背後的思路。而第9節和第10節明確說明Speex。

 

原文:

1 Introduction to Speex

The Speex codec (http://www.speex.org/)exists because there is a need for a speech codec that is open-source and freefrom software patent royalties. These are essential conditions for being usablein any open-source software. In essence,Speex is to speech what Vorbis is toaudio/music. Unlike many other speech codecs, Speex is not designed for mobilephonesbut rather for packet networks and voice over IP (VoIP) applications.File-based compression is of course also supported.The Speex codec is designedto be very flexible and support a wide range of speech quality and bit-rate.Support for verygood quality speech also means that Speex can encode widebandspeech (16 kHz sampling rate) in addition to narrowbandspeech (telephone quality,8 kHz sampling rate).Designing for VoIP instead of mobile phones means thatSpeex is robust to lost packets, but not to corrupted ones. This is based onthe assumption that in VoIP, packets either arrive unaltered or don’t arrive atall. Because Speex is targeted at a wide range of devices, it has modest(adjustable) complexity and a small memory footprint. All the design goals ledto the choice of CELP as the encoding technique. One of the main reasons isthat CELP has longproved that it could work reliably and scale well to both lowbit-rates (e.g. DoD CELP @ 4.8 kbps) and high bit-rates (e.g.G.728 @ 16 kbps).

 

1.1 Getting help

As for many open source projects, there aremany ways to get help with Speex. These include:

• This manual

• Other documentation on the Speex website (http://www.speex.org/)

• Mailing list: Discuss any Speex-related topic on [email protected](not just for developers)

• IRC: The main channel is #speex on irc.freenode.net. Note that dueto time differences,  it may take a whileto get someone, so please be patient.

• Email the author privately at [email protected] onlyfor private/delicate

topics you do not wish to discuss publically.Before asking for help (mailing list or IRC), it is important to first read thismanual (OK, so if you made it here it’s already a good sign). It is generallyconsidered rude to ask on a mailing list about topics that are clearly detailedin the documentation.On the other hand, it’s perfectly OK (and encouraged) toask for clarifications about something covered in the manual. This manual doesnot (yet) cover everything about Speex, so everyone is encouraged to ask questions,send comments, feature requests, or just let us know how Speex is being used. Hereare some additional guidelines related to the mailing list. Before reportingbugs in Speex to the list, it is strongly recommended (if possible) to firsttest whether these bugs can be reproduced using the speexenc and speexdec (seeSection 4) command-line utilities. Bugs reported based on 3rd party code areboth harder to find and far too often caused by errors that have nothing to dowith Speex.

 

1.2 About this document

This document is divided in the followingway. Section 2 describes the different Speex features and defines many basicterms that are used throughout this manual. Section 4 documents the standardcommand-line tools provided in the Speex distribution. Section 5 includesdetailed instructions about programming using the libspeex API. Section 7 hassome information related to Speex and standards. The three last sectionsdescribe the algorithms used in Speex. These sections require signal processingknowledge, but are not required for merely using Speex. They are intended forpeople who want to understand how Speex really works and/or want to do researchbased on Speex. Section 8 explains the general idea behind CELP, while sections9 and 10 are specific to Speex.

你可能感兴趣的:(list,documentation,encoding,bugs,Codec,compression)