G.711语音编解码器详解

news2024/11/20 15:24:29

语音编解码利用人听觉上的冗余对语音信息进行压缩从而达到节省带宽的目的。值得注意的是,本文说的是语音编解码器,也就Speech codec,而常用的还有另一种编解码器称作音频编解码器,英文是Audio codec,它们的区别如下。

以前在学校的时候研究了很多VoIP的编解码器从G.723到AMR,再到EVS。后面出来工作发现G.711在很多地方仍然有用到,更有甚者直接使用PCM数据传输。而PCM格式的数据大家都很熟悉了,我们今天就介绍下经典的语音编解码器G.711。

模数转换

我们知道自然界中的声音是模拟信号,如果想要变成计算机可以处理的信号就需要将其转化为数字信号,这一般通过模数转换器ADC(analogue-to-digital conversion)完成,如下所示

不好意思放错图了

一般模数转换需要经过采样,保持,量化和编码四个步骤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java.sql.SQLFeatureNotSupportedException解决方法

使用MyBatis访问数据库查询数据时报错: Caused by: java.sql.SQLFeatureNotSupportedExceptionat com.alibaba.druid.pool.DruidPooledResultSet.getObject(DruidPooledResultSet.java:1771)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun…

在node中操作mysql数据库

目录 前言 在node中安装mysql模块 引入绑定数据库 验证mysql模块能否正常工作 增 便捷方式 改 便捷方式 删 查 前言 本文介绍在node中对数据库使用sql语句进行增删改查 在node中安装mysql模块 npm i mysql 引入绑定数据库 导入mysql模块 const mysql require(m…

2、Windows下安装

目录 一.安装 1、双击下载的程序: 2、加载完成后,会进入如下界面(选第一个Developer Default) 3、然后点击Next 点击Execute 然后Next 4.继续next注意端口为3306 5.继续next,输入账户密码(要有大小写…

C# 图解教程 第5版 —— 第4章 类型、存储和变量

文章目录 4.1 C# 程序是一组类型声明4.2 类型是一种模板(*)4.3 实例化类型4.4 数据成员和函数成员4.5 预定义类型4.6 用户定义类型4.7 堆和栈(*)4.8 值类型和引用类型4.9 变量4.9.1 变量声明4.9.2 多变量声明(*&#x…

“视频剪辑:如何分割与转换视频格式,一探究竟!

如今,视频已成为我们生活中不可或缺的一部分。无论是记录生活点滴、分享兴趣爱好,还是传递信息,视频都已经成为一种非常有效的表达方式。而在视频制作过程中,剪辑是至关重要的一环。通过剪辑,我们可以去掉不需要的内容…

[23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation

3D生成蓬勃发展,主流方法通过事例比较和用户调查来评价方法好坏,缺少客观比较指标;本文提出Bench,首次综合比较了不同生成方法;具体来说,本文设计了质量评估(Quality Assessment)和对…

nginx优化和防盗链

nginx优化 1.nginx隐藏版本号 因为是一个高性能,轻量级的工具吗,更新版本速度很快,功能很强大但是BUG很多,很容易被攻破,所以需要隐藏版本号来减少服务器被攻击的威胁。 隐藏版本号的第一步就是如何查看版本号 curl …

蓝桥杯每日一题2023.10.15

数列求值 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 我们发现如果一项一项相加会造成结果过大从而答案错误&#xff0c;所以我们每次只需要取后四位经行计算即可 #include<bits/stdc.h> using namespace std; int a[20190329]; int main() {a[1] 1, a[2] 1, a[3]…

Flutter 剪裁(Clip)

&#x1f525; ClipOval &#x1f525; 子组件为正方形时剪裁成内贴圆形&#xff1b;为矩形时&#xff0c;剪裁成内贴椭圆 裁剪纯色背景 ClipOval(child: Container(width: 300.w,height: 300.w,decoration: const BoxDecoration(color: Colors.red),),), 裁剪背景图片 裁剪前…

17.SpringBoot前后端分离项目之简要配置二

如何配置前端请求和后端响应&#xff08;2&#xff09; 登录接口 前端&#xff1a; 后端控制器&#xff1a; 在My3Controller RequestMapping("/login") public ResponseBody RestObject login(RequestBody UserUI userUI){System.out.println("login方法&…

Linux第六章-Vi和Vim编辑器

vi和vim的基本介绍 Linux系统会内置vi文本编辑器 vim具有程序编辑的能力&#xff0c;可以看做是vi的增强版本。 vi和vim的三种模式 正常模式 以vim打开一个档案就直接进入一般模式了&#xff08;这是默认的模式&#xff09;。在这个模式中&#xff0c;可以使用上下键来移动…

模拟实现字符串函数(5): strncpy

1.函数介绍 拷贝num个字符从源字符串到目标空间。 如果源字符串的长度小于num&#xff0c;则拷贝完源字符串之后&#xff0c;在目标的后边追加0&#xff0c;直到num个 strncpy与strcpy的作用是一样的&#xff0c;区别在于strncpy指定了复制字符的个数。 2.思路分析 这里多了…

管理系统搭建一般步骤(会话跟踪 路由导航守卫 响应拦截器)

1&#xff0c;vue-cli进行项目搭建 2&#xff0c;使用ELement-UI 3&#xff0c;使用vue组件路由 4&#xff0c;点击登录&#xff0c;向后端进行账号密码比对 三种情况&#xff1a; 密码有误 服务器忙 密码正确。 具体步骤&#xff1a; 首先写好前端一个大体框架&#xf…

深度强化学习第 1 章 机器学习基础

1.1线性模型 线性模型&#xff08;linear models&#xff09;是一类最简单的有监督机器学习模型&#xff0c;常被用于简单的机 器学习任务。可以将线性模型视为单层的神经网络。本节讨论线性回归、逻辑斯蒂回归&#xff08;logistic regression&#xff09;、 softmax 分类器等…

Windows 中环境变量的查看与设置

接触了LLM应用开发后&#xff0c;经常要用到环境变量的设置&#xff08;openAI apikey啥的&#xff09; 但是老忘记&#xff0c;今天来学习和总结一下 主要用到以下几种&#xff1a;使用 PowerShell、CMD 和 Python 来查看和设置环境变量 文章目录 1. PowerShell查看环境变量&a…

掌握深入挖掘数据本质的方法

文章目录 掌握深入挖掘数据本质的方法1. 确定数据类型2. 数据清洗3. 数据可视化4. 探索性数据分析5. 特征工程6. 机器学习算法7. 自然语言处理 &#x1f4d5;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华…

C语言:冒泡排序

C语言 基础开发----目录 冒泡排序 1. 原理 对一个有n个数据的数组进行遍历&#xff0c;依次对相邻两个数据进行比较大小&#xff0c;若大的数据在前面则交换位置&#xff08;升序&#xff09;&#xff0c;完成一次遍历后数组中最大的数据到了数组的末尾位置&#xff0c;就象水…

六、RocketMQ发送事务消息

事务消息介绍 在一些对数据一致性有强需求的场景&#xff0c;可以用 Apache RocketMQ 事务消息来解决&#xff0c;从而保证上下游数据的一致性。 以电商交易场景为例&#xff0c;用户支付订单这一核心操作的同时会涉及到下游物流发货、积分变更、购物车状态清空等多个子系统的…

MySQL有时候命中索引有时候又不命中

索引失效的情况 -----可能 索引主要看where 、group by 、order by 1.组合索引不遵循最佳左前缀法制。最佳左前缀法制&#xff1a;如果索引了多列&#xff0c;要遵循最左前缀法则&#xff0c;指的是查询从索引的最左前列开始并且不跳过索引中的列。如组合索引为A B C 只有ABC,A…