音频——解析 PCM 数据

news2024/11/19 22:34:55

文章目录

  • 生成 PCM 数据
    • 16bit
      • 16bit mono
      • 16bit stereo
      • 16bit 4 channel
      • 16bit 8 channel
    • 24bit
  • 解析 PCM 数据
    • 解析 24bit 数据
  • 程序源码
    • 生成 PCM 源码
    • 解析 PCM 源码

生成 PCM 数据

16bit

16bit mono

int 48k_16bit_modo[] = {
   0, 4276, 8480, 12539, 16383, 19947, 23169, 25995, 28377, 30272, 31650, 32486, 32767, 32486, 31650, 30272, 28377, 25995, 23169, 19947, 16383, 12539, 8480, 4276, 0, -4276, -8480, -12539, -16383, -19947, -23169, -25995, -28377, -30272, -31650, -32486, -32767, -32486, -31650, -30272, -28377, -25995, -23169, -19947, -16383, -12539, -8480, -4276};

在这里插入图片描述

16bit stereo

int 48k_16bit_stereo[] = {
   0, 0, 4276, 4276, 8480, 8480, 12539, 12539, 16383, 16383, 19947, 19947, 23169, 23169, 25995, 25995, 28377, 28377, 30272, 30272, 31650, 31650, 32486, 32486, 32767, 32767, 32486, 32486, 31650, 31650, 30272, 30272, 28377, 28377, 25995, 25995, 23169, 23169, 19947, 19947, 16383, 16383, 12539, 12539, 8480, 8480, 4276, 4276, 0, 0, -4276, -4276, -8480, -8480, -12539, -12539, -16383, -16383, -19947, -19947, -23169, -23169, -25995, -25995, -28377, -28377, -30272, -30272, -31650, -31650, -32486, -32486, -32767, -32767, -32486, -32486, -31650, -31650, -30272, -30272, -28377, -28377, -25995, -25995, -23169, -23169, -19947, -19947, -16383, -16383, -12539, -12539, -8480, -8480, -4276, -4276, };

在这里插入图片描述

16bit 4 channel

int 48k_16bit_4_chnl[] = {
   0, 0, 0, 0, 4276, 4276, 4276, 4276, 8480, 8480, 8480, 8480, 12539, 12539, 12539, 12539, 16383, 16383, 16383, 16383, 19947, 19947, 19947, 19947, 23169, 23169, 23169, 23169, 25995, 25995, 25995, 25995, 28377, 28377, 28377, 28377, 30272, 30272, 30272, 30272, 31650, 31650, 31650, 31650, 32486, 32486, 32486, 32486, 32767, 32767, 32767, 32767, 32486, 32486, 32486, 32486, 31650, 31650, 31650, 31650, 30272, 30272, 30272, 30272, 28377, 28377, 28377, 28377, 25995, 25995, 25995, 25995, 23169, 23169, 23169, 23169, 19947, 19947, 19947, 19947, 16383, 16383, 16383, 16383, 12539, 12539, 12539, 12539, 8480, 8480, 8480, 8480, 4276, 4276, 4276, 4276, 0, 0, 0, 0, -4276, -4276, -4276, -4276, -8480, -8480, -8480, -8480, -12539, -12539, -12539, -12539, -16383, -16383, -16383, -16383, -19947, -19947, -19947, -19947, -23169, -23169, -23169, -23169, -25995, -25995, -25995, -25995, -28377, -28377, -28377, -28377, -30272, -30272, -30272, -30272, -31650, -31650, -31650, -31650, -32486, -32486, -32486, -32486, -32767, -32767, -32767, -32767, -32486, -32486, -32486, -32486, -31650, -31650, -31650, -31650, -30272, -30272, -30272, -30272, -28377, -28377, -28377, -28377, -25995, -25995, -25995, -25995, -23169, -23169, -23169, -23169, -19947, -19947, -19947, -19947, -16383, -16383, -16383, -16383, -12539, -12539, -12539, -12539, -8480, -8480, -8480, -8480, -4276, -4276, -4276, -4276, };

在这里插入图片描述

16bit 8 channel

int 48k_16bit_8_chnl[] = {
   

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

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

相关文章

Cross-Origin跨站问题详解(跨站请求、跨站cookie)

背景:我部署frontend和backend到两个不同的docker容器,前端路径为http://localhost:3000,后端路径为http://localhost:4000。我设置了用户登录功能,并使用cookie进行session管理。当我的前端登录时,创建了一个session&…

【LeetCode笔试题】27.移除元素

问题描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新…

华为防火墙vrrp+hrp双机热备主备备份(两端为交换机)

默认上下来全两个vrrp主都是左边 工作原理: vrrp刚开机都是先initialize状态,然后切成active或standb状态。 hrp使用18514端口,且用的单播,要策略放行,由主设备发hrp心跳报文 如果设备为acitve状态时自动优先级为65…

计蒜客详解合集(2)期

目录 T1126——单词倒排 T1617——地瓜烧 T1612——蒜头君的数字游戏 T1488——旋转单词 T1461——校验信用卡号码 T1437——最大值和次大值 T1126——单词倒排 超级水的一道题,和T1122类似但更简单,分割后逆序输出即可~ 编写程序,读入…

什么是UV贴图?

UV 是与几何图形的顶点信息相对应的二维纹理坐标。UV 至关重要,因为它们提供了表面网格与图像纹理如何应用于该表面之间的联系。它们基本上是控制纹理上哪些像素对应于 3D 网格上的哪个顶点的标记点。它们在雕刻中也很重要。 为什么UV映射很重要? 默认情…

如果有一款专门用于3D纹理贴图的工具,大家会愿意用吗?

专业建模软件通常具有丰富的功能和工具,能够帮助用户进行三维建模、模拟分析、可视化呈现等多个方面的工作,几乎可满足用户所有的建模相关工作。 1、专业建模软件的使用门槛 学习曲线陡峭:专业建模软件通常需要较长时间来学习和掌握&#xf…

实力进阶,再攀高峰!触想智能获评国家级专精特新“小巨人”企业

近日,触想智能收获工业和信息化部颁发的专精特新“小巨人”企业证书,成功跻身全国中小企业实力评优最高梯队。 此项荣誉,不仅是国家权威对触想智能十余年潜心耕耘的深度回响,也进一步激发触想持续奋发、不懈探索的成长底气。 触想…

python 字典Dict

一种序列类型,使用键-值(key-value)存储,具有极快的查找速度。 目录 key的特性 创建字典 元素的访问 Get获取 修改 是否存在key 删除 删除单个 删除全部 遍历 遍历key与值 只遍历值 遍历key,value方法2 结合enumera…

Redis之主从复制

文章目录 一、什么是Redis主从复制?1.作用2.配置主从复制的原因3.环境配置 二、一主二从三、复制原理四、链路总结 一、什么是Redis主从复制? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(ma…

C++ 编译与链接过程

案例讲解 有 main.cpp 和 add.cpp 2个文件&#xff0c;add.cpp中实现add_func函数&#xff0c;main.cpp文件中需要使用add_func函数。 demo&#xff1a; // main.cpp文件 #include <iostream>int add_func(int a, int b);int main() {int a 10;int b 10;int ret ad…

想学好Python,一定不能错过这些项目!整整70个,附带源码课件

在程序员的求职中&#xff0c;「项目经历」往往是最重要的一环&#xff0c;它能最直观地体现你的编程能力。对于在校生来说&#xff0c;一个好的「项目经历」甚至可以等同于工作经验。可以说&#xff0c;把项目经历写好了&#xff0c;求职就通过了一半。&#xff08;文末有教程…

内存取证分析

内存取证会临时存储一些有价值的信息 查看内存进程的信息等等&#xff0c;对溯源这种事情有帮助。不过要用到专门的工具获取信息 运行exe文件&#xff0c;输入y将一个系统的镜像完整的下载下来&#xff0c; 这就是保存下来的文件。 视频上别的工具搞不来&#xff0c;要不就是…

53. 最大子序和 392.判断子序列 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

53. 最大子序和 题目&#xff1a; 给定一个整数数组&#xff0c;求最大连续子序列和。&#xff08;至少包含一个元素&#xff09; 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6意为为了连续最大负数都可以包含进来。…

Vatee万腾数字化愿景:Vatee科技决策力引领数字化创新

在当今数字化时代&#xff0c;科技创新变得愈发不可或缺。创新是企业和个人在竞争激烈的市场中脱颖而出的关键要素&#xff0c;也是推动社会发展的引擎。Vatee万腾作为一家致力于数字化创新的公司&#xff0c;已经崭露头角&#xff0c;以其前沿的数字化策略和科技决策力&#x…

在家用Python搞副业,也能月入10000+

下班副业实现经济自由的时候&#xff0c;你还在床上躺着&#xff0c;天天摆烂吗&#xff1f;这样的生活真的是你想要的吗&#xff1f; 疫情在家接一些Python相关的小单子&#xff0c;既能给自己练手&#xff0c;还能赚是真香 从零基础开始真的一台电脑和一部手机就可以✅ 一次…

Oracle迁移(RAC变单机模式)

1.升级内核 systemctl stop firewalld systemctl disable firewalldrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo"elrepo-kernel" list --showduplic…

【C++】STL的基本用法

目录结构 1. STL概念 1.2 常见容器 1.3 六大组件 2. STL容器之vector 1. vector 2. 基本用法示例 3. STL容器之map 1. map 2. 基本用法示例 1. STL概念 C中的STL是指标准模板库的缩写。STL提供了一组通用的模板类和函数&#xff0c;用于实现常见的数据结构和算法&…

Clickhouse学习笔记(3)—— Clickhouse表引擎

前言&#xff1a; 有关Clickhouse的前置知识详见&#xff1a; 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎&#xff08;即表的类型&#xff09;决定了&…

【MATLAB源码-第75期】基于模拟退火算法(SA)的栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 模拟退火算法是一种启发式优化算法&#xff0c;通常用于解决组合优化问题&#xff0c;例如旅行商问题和图着色问题。它模拟了固体材料在退火过程中逐渐冷却达到稳定状态的行为&#xff0c;以寻找问题的全局最优解。 以下是模…

【MATLAB源码-第76期】基于模拟退火算法(SA)的无人机三维地图路径规划,输出最短路径和适应度曲线

操作环境&#xff1a; MATLAB 2022a 1、算法描述 模拟退火算法是一种启发式优化算法&#xff0c;通常用于解决组合优化问题&#xff0c;例如旅行商问题和图着色问题。它模拟了固体材料在退火过程中逐渐冷却达到稳定状态的行为&#xff0c;以寻找问题的全局最优解。 以下是模…