BT音频方案

一、缩写

缩写

全程

释义

I2S

I2S

音频传输接口总线

PCM

Pulse-Code Modulation

基础音频数据或翻译为音频接口总线

HFP

Handsfree

蓝牙通话协议

A2DP

Advanced Audio Distribution Profile

蓝牙媒体音频协议

二、音频流转策略

蓝牙音频功能分为通话声音和媒体声音。其中通话的编解码在BT芯片里进行(也可以在输出到dsp处理,看厂商方案),A2DP音频流的解码是在音频的DSP里进行的。A2DP的编码复杂度更高,BT芯片是没有能力编解码的。具体的音质要看输入到音频模块的数据流是采用硬件解码还是软件的。

  • HFP

电话通话业务,负责蓝牙设备电话功能。处于安全考虑,语音通话不应被任何进程感知,需要通过硬件直通到声卡播放。

  • A2DP

媒体业务,具有更加丰富的编解码方案和码率,硬件直通方案会相对复杂。通过stack直接处理音频流。在有些厂商的方案中,A2DP也有直接通过I2S输出到DSP。

三、I2S总线

I2S 时钟: I2S SCK

I2S 声道控制: I2S WS

I2S 输出: I2S SDO

I2S 输入: I2S SDI

蓝牙芯片可以设定为为slave或master角色,在准备接收/发送数据时,作为master角色的芯片提供时钟输出给slave。此外,在HFP通话系统中,由于语音通话没有左右声道的区分,所以默认采用左声道,WS维持低电平输出。

通话音频格式

Codec Type

位宽

Band/Rate

MSBC

16bit

Input 64KHZ

16bit

Output 64KHZ

CVSD

16bit

Input 32KHZ

16bit

Output 32KHZ

对于通话profile而言,音频的格式是相对固定的,并不像A2DP那样可以采用多种编码格式或多种采样格式。并且编码的复杂度比较低,可以采用多种解决方案。

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

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

相关文章

电脑数字键被锁住不能输入数字

情况: 反复点击数字键盘的NumLock,看它的灯是否能正常启动 1.如果NumLock灯可以正常的打开和关闭,并且无法输入内容 1.1打开控制面板 1.2 进入轻松使用中选择更改键盘的工作方式 1.3找到并点击设置鼠标键 1.4 赵到NumLock设置为关闭,然后确定即可

线性规划问题——单纯形算法

第一步:化“约束标准型” 在每个等式约束中至少有一个变量的系数为正,且这个变量只在该约束中出现。在每个约束方程中选择一个这样的变量称为基本变量。 剩下变量称为非基本变量。 一个简单的栗子 上图是一个约束标准型线性规划的例子。 等式1&#x…

理解查准率P、查全率R及Fβ度量怎么得来的

如果得到的是一组样本在两个算法上的一次预测结果,其中每个样本都被赋予了一个为正样本的概率(例如,通过逻辑回归或朴素贝叶斯分类器得到的概率估计),那么可以通过改变不同的阈值点来利用这些预测结果画出PR曲线。 如果…

blender

通用设置: 仅显示/取消隐藏:数字键盘/移动视角:shift+鼠标中键Blender如何给场景添加参考图片-百度经验 (baidu.com)进入编辑模式:Tab编辑模式:点-线-面 反选:ctrl+按键重新计算面朝向:shift+n水密:+修改器:焊接连选的区别: 视窗设置 两个视图 …

Pytorch环境配置的方法

Pytorch虚拟环境配置全流程 以安装pytorch1.9.1为例 1. 创建虚拟环境 安装Anaconda3,打开 PowerShell 创建虚拟环境并进入: conda create -n torch1.9.1 python3.8 conda activate torch1.9.1 conda create -n torch1.9.1 python3.8 conda activate to…

错题记录(小测)

单选 错题1 错题2 错题3 代码题 反转链表 链表的回文结构

【LeetCode】4,寻找两个正序数组中的中位数

题目地址 B站那个官方解答视频实在看不懂,我就根据他那个代码和自己的理解写一篇文章 1. 基本思路 在只有一个有序数组的时候,中位数把数组分割成两个部分。中位数的定义:中位数,又称中点数,中值。中位数是按顺序排列…

消息队列的应用场景有哪些

通常来说,使用消息队列主要能为我们的系统带来下面三点好处: 异步处理 削峰/限流 降低系统耦合性 除了这三点之外,消息队列还有其他的一些应用场景,例如实现分布式事务、顺序保证和数据流处理。 异步处理 通过异步处理提高系…

计算机网络:网络层 - IPv4数据报 ICMP协议

计算机网络:网络层 - IPv4数据报 & ICMP协议 IPv4数据报[版本 : 首部长度 : 区分服务 : 总长度][标识 : 标志 : 片偏移][生存时间 : 协议 : 首部检验和][可变部分 : 填充字段] ICMP协议 IPv4数据报 一个IPv4数据报,由首部和数据两部分组成&#xff…

Python 越来越火爆

Python 越来越火爆 Python 在诞生之初,因为其功能不好,运转功率低,不支持多核,根本没有并发性可言,在计算功能不那么好的年代,一直没有火爆起来,甚至很多人根本不知道有这门语言。 随着时代的…

递归解析 LXML 树并避免重复进入某个节点

1、问题背景 我们在使用 LXML 库解析 MathML 表达式时,可能会遇到这样一个问题:在递归解析过程中,我们可能会重复进入同一个节点,导致解析结果不正确。例如,我们希望将以下 MathML 表达式解析为 Python 表达式&#x…

【数据结构初阶】--- 栈和队列

栈 栈的定义 栈:只允许在一端进行插入或删除的操作 事实上,线性表和链表都可以实现栈,但栈的特点更符合用顺序表实现 顺序表的队尾相当于栈顶,对栈放入数据,相当于顺序表的下标arr[index] x,而栈弹出数…

什么是无头浏览器以及其工作原理?

如果您对这个概念还不熟悉,那么使用无头网络浏览器的想法可能会让您感到不知所措。无头浏览器本质上与您熟悉的网络浏览器相同,但有一个关键区别:它们没有图形用户界面 (GUI)。这意味着没有按钮、选项卡、地址栏或视觉显示。 相反&#xff0c…

硬盘几个关键指标你一定要知道!

硬盘是数据中心中存储数据的重要部件,其关键指标影响硬盘的性能、可靠性和适用性。以下是一些常见的硬盘关键指标,并附上详细解释和举例: 容量(Capacity) 解释:硬盘的容量指其能存储数据的总量,…

CPN Tools学习——时间和队列【重要】

-Timed Color Sets 时间颜色集 -Token Stamps 令牌时间戳 -Event Clock 全局/事件/模拟时钟 -Time Delays on Transitions过渡的时间延迟 - List Color Set列表颜色集 - Queue排队 1.时间颜色集 在定时CPN模型令牌中有: (1)象征性的颜…

银河麒麟系统项目部署

使用服务器信息 软件:VMware Workstation Pro 虚拟机:ubtun 内存:20G 虚拟机连接工具: MobaXterm Redis连接工具: RedisDesktopManager 镜像:F:\Kylin-Server-10-8.2-Release-Build09-20211104-X86_64…

js: 百度云BOS 分片上传

百度云BOS存储后怎么查看或下载呢? // 1) 查看登录到百度智能云控制台 – 对象存储BOS”服务–选择一个Bucket,进入后可以查看该Bucket下的所有文件和文件夹。 2)下载OS浏览器端不支持批量下载,可以通过以下方式下载文件(使用BOS桌…

WindTerm使用SSH密钥连接阿里云实例,服务器设置SSH密钥登录

安装Windterm 地址https://github.com/kingToolbox/WindTerm/releases 下载完放到文件夹就可以打开 阿里云开启密钥对 打开阿里云ecs控制台 https://ecs.console.aliyun.com/keyPair/region/cn-wulanchabu 网络与安全->密钥对,创建密钥对,创建成…

记一次 .NET某工控视觉自动化系统 卡死分析

一:背景 1. 讲故事 今天分享的dump是训练营里一位学员的,从一个啥也不会到现在分析的有模有样,真的是看他成长起来的,调试技术学会了就是真真实实自己的,话不多说,上windbg说话。 二:WinDbg …

hbase安装部署

1,下载依赖包 最近的版本下载镜像 https://mirrors.aliyun.com/apache/hbase/ 比较旧的版本下载 https://archive.apache.org/dist/hbase 2,解压压缩包 3,更改配置 3-1 修改hbase-env.sh 必须加 JAVA_HOME export JAVA_HOME/usr/jdk64/jdk…