音频PCM编码「建议收藏」

音频PCM编码「建议收藏」PCM编码PCM就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。简而言之PCM就是对模拟信号先抽样,再对样值幅度量化,编码的过程。例如听到的声音就是模拟信号,


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PCM编码

PCM就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。简而言之PCM就是对模拟信号先抽样,再对样值幅度量化,编码的过程。例如听到的声音就是模拟信号,然后对声音采样,量化,编码产生数字信号。相对自然界声音信号,任何音频编码都是有损的,在计算机应用中,能达到高保真的就是PCM编码,因此PCM约定成俗成了无损编码,对于声音而言,我们通常采用PCM编码。

音频PCM编码「建议收藏」

对于音频常见术语有采样率,采样大小,声道,比特率等。

参数

  • 采样率,单位时间内采样次数,采样率越高,音质越好,人耳听觉范围大致在20HZ-20KHZ,采样频率超过信号带宽2倍不会产生混迭,例如常用的规范采用44.1kHZ作为标准采样率,大于20kHZ两倍,所以44.1kHZ采样率足够用。

  • 采样大小,存储空间常见的有8bit,16bit,32bit,64bit等,每个采样数据记录的是振幅,采样精度取决于空间大小,采样率和采样大小值越大,音质越好。

  • 声道,常见的有单声道,双声道,双声道数据量比单声道大一倍。

例如 “44.1kHZ,16bit, 2channel” 格式,速率就是 44100 * 16 * 2 = 1411200 kpbs,如果pcm文件大小为10M,则播放时长 10 * 1024 * 1024 * 8 / 1411200 = 59.5s

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167601.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • creator drawcall优化_drawellipse函数

    creator drawcall优化_drawellipse函数前言*在游戏开发中,DrawCall作为一个非常重要的性能指标,直接影响游戏的整体性能表现。无论是CocosCreator、Unity、Unreal还是其他游戏引擎,只要说到游戏性能优化,DrawCall都是绝对少不了的一项。本文将会介绍什么是DrawCall,为什么要减少DrawCall以及在CocosCreator项目中如何减少DrawCall来提升游戏性能。正文什么是DrawCall?DrawCall中文译为“绘制调用”或“绘图指令”。DrawCall是

    2022年9月19日
  • 关于路由器自定义 3322.org 的DDNS

    关于路由器自定义 3322.org 的DDNS首先,3322.org,现在官网地址为:http://www.pubyun.com/注册用户后,如果支持3322的路由器,可以直接设置。不支持的路由就要想办法自定义了。3322的DDN

    2022年7月2日
  • java中scanner意思_java中Scanner s = new Scanner(System.in);分别是什么意思?「建议收藏」

    java中scanner意思_java中Scanner s = new Scanner(System.in);分别是什么意思?「建议收藏」展开全部Scanner是一个类,nextDouble()是Scanner的成员函数,System.in作为参数传递给Scanner的构造函数,使Scanner用62616964757a686964616fe78988e69d8331333366303839键盘作为输入,然后用new在内存中实例化一个Scanner出来,使得其它变量能调用这块内存区。Scanner类简介:Java5添加了java….

    2022年7月20日
  • DDPG存疑

    DDPG存疑存疑的点:value函数的参数是(s,a)。离散状态下s,a作为横纵坐标来获取Q值。q-learningDQN情况下,输出的是最大Q值。PG里面输出的是action的概率分布。DDPG里,actor网络输出的是Action。critic网络里输出的是Q值,依然和s,a有关,由s,a确定。只不过这里确定的方式是①将s,a分别经过一个输出维度为30的网络后 得到的值 相加(两个网络分别为:(s_dim,30)(a_dim,30)。②将s,a维度拼接再经过网络计算(这个网络的维度是(s_d

    2022年6月16日
  • 笛卡尔心形函数图像_笛卡尔心形曲线

    笛卡尔心形函数图像_笛卡尔心形曲线js绘制canvas图形varcr=document.getElementById(“cardioid”);varW=cr.width/2,H=cr.height/3,R=150;varc=cr.getContext(“2d”);varG=360,g=0,T=Math.PI*2,t=T/G;c.save();c.translate(W,…

    2022年10月17日
  • Spark DataFrame简介(二)

    Spark DataFrame简介(二)

    2021年11月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号