Speex之一-介紹Speex

news/2024/10/18 8:23:16/

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相關主題(不僅僅只是開發)在Speex-dev@xiph.org

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

(5)發EMail到作者私人郵箱jean-marc.valin@usherbrooke.ca,只限制於私人主題你不希望公開討論的

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

本手冊並不涵蓋關於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 speex-dev@xiph.org(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 jean-marc.valin@usherbrooke.ca 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.


http://www.ppmy.cn/news/581080.html

相关文章

Proxifier v3.21 standard edition 激活码

5EZ8G-C3WL5-B56YG-SCXM9-6QZAP G3ZC7-7YGPY-FZD3A-FMNF9-ENTJB YTZGN-FYT53-J253L-ZQZS4-YLBN9 【Portable Edition】 D5Z6C-U2PGU-5RKWX-D8D7T-HD4UL ZMZ2W-JWTPN-WNP2S-YWTWA-2ZUH6 GYZCP-N3WL7-FETY3-AG7HZ-25THV SDZA7-SY6QA-9GM3K-7U9ZE-29QAD 2BZF4-LWTUS-CJV27-4L…

speex

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 今天测试了speex中带回声消除模块,效果还可以。 测试环境:网络双工通话,16K采样16位编码,speex压缩以及解压.原来通话会听到线路另一端传过来的自己的声音&…

MFC第九天 CRect类的封装和窗口坐标系转换及获取窗口ID 以及对CTime类与COleDateTime类简介

文章目录 CRect类的封装、窗口坐标系转换及获取窗口ID 、CTime类与COleDateTime类简介CRect类的封装窗口坐标系转换及获取窗口IDCTime类与COleDateTime类简介关于设置日期控件上的时间问题 CRect类的封装、窗口坐标系转换及获取窗口ID 、CTime类与COleDateTime类简介 CRect类的…

配置鼠标右键菜单功能 :一键csv转excel

配置右键菜单功能 :一键csv转excel 无需点开文件,双击即可以生成新的excel文件 步骤: 1、配置Python,安装依赖库 pip install openpyxl pip install pandas2、创建Python文件 csv_to_excel.py # -*- coding:utf-8 -*- impor…

【Java】JVM学习(三)

JVM的整体内存结构 本地方法栈 本地方法栈跟 Java 虚拟机栈的功能类似,Java 虚拟机栈用于管理 Java 函数的调用,而本地方法栈则用于管理本地方法的调用。但本地方法并不是用 Java 实现的,而是由 C 语言实现的(比如Object.hashcode方法)。 …

【面试官版】融合滤波算法+数据结构+C++面试题汇总

C部分 什么时候需要写虚函数、什么时候需要写纯虚函数? 只继承接口为纯虚函数 强调覆盖父类重写,或者父类也需要实现一定的功能,为虚函数指针传参和引用传参区别? 引用传参本质上是传递原参数地址,指针传参本质还是值…

使用Redission自定义注解实现分布式锁(声明式)

1.主要依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.redisson</groupId><artifactId>redisso…

如何在h5页面里只嵌入腾讯视频播放框

例如&#xff1a;https://v.qq.com/x/page/k00290g0i00.html 把“k00290g0i00”加入下面一段代码 <iframe class"video_iframe" style"z-index:1;" src"https://v.qq.com/iframe/player.html?vidk00290g0i00&amp;width500&amp;height375…