音频PCM编码「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 二十、设计模式总结—后会有期 #和设计模式一起旅行#

    告别 是为了下一次相遇,告别更是新的开始!设计模式整了两个月了,看了一些书籍和一些博客,整体是完成了,但是还有一些模式没有总结出来,不过剩下的模式暂时不准备在更新了,剩下的也相对来说不是那么的重要!在看设计模式的这段时间中,总是有一种感觉,看到其中的一个设计模式,有似曾相识的感觉,看完之后比较清晰了,也会想着在工作那些地方遇到了设计模式,还有就是自己在设计的时候也有一些意识,会考虑…

  • mybaits入门(含实例教程和源码)

    mybaits入门(含实例教程和源码)

    2020年11月12日
  • micropython教程(Python集成开发环境)

    本文旨在通过一个简单的demo,介绍基于Python3、PyQT5的环境下开发桌面应用程序的一种方案,当然开发Python的桌面应用程序不止是PyQT这一种方案,还可以使用Python自带的Tkinter来实现。本文目录:1.安装依赖环境2.安装Eric63.配置Eric4.创建窗口应用4.1创建窗体UI4.2实现代码逻辑参考资料:1.安装依赖环境Eric6官网:htt…

  • beanshell脚本语法_shell脚本实战pdf免费

    beanshell脚本语法_shell脚本实战pdf免费本文内容是BeanShell入门教程的中文化主要包含了以下内容1.快速入门2.基本语法3.脚本方法4.脚本对象5.范围值快速入门1.下载和运行BeanShell我们可以在http://www.beanshell.org上下载到BeanShell的最新版本,而且可以在图形化桌面模式或者命令行模式下运行。如果你只是想下载下来玩玩看,那么双击JAR文件,运行桌面版的就可以了。但是,或许你更想以后长期使用…

    2022年10月31日
  • java 8 lambda表达式list操作分组、过滤、求和、最值、排序、去重

    java 8 lambda表达式list操作分组、过滤、求和、最值、排序、去重java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。新建实体类packagecom.vvvtimes.vo;importjava.math.BigDecimal;importjava.util.Date;publicclassUser{privateLong…

  • 简述Vue的响应式原理

    简述Vue的响应式原理当一个Vue实例创建时,vue会遍历data选项的属性,用Object.defineProperty将它们转为getter/setter并且在内部追踪相关依赖,在属性被访问和修改时通知变化。每个组件实例都有相应的watcher程序实例,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的setter被调用时,会通知watcher重新计算,从而致使它关联的组件得以更新。 巴拉巴拉:==…

发表回复

您的电子邮箱地址不会被公开。

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