PCM音频文件的制作

一、PCM编码简介
        PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。它是70年代末发展起来的,记录媒体之一的CD,在80年代初由飞利浦和索尼公司共同推出。脉码调制的音频格式也被DVD-A所采用,它支持立体声和5.1环绕声,1999年由DVD讨论会发布和推出的。

        我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值还要进行编码,就是用一组二进制码组来表示每一个量化值,然后记录到存储介质中,所有这些组成了数字音频的产生过程。采样、量化如下图所示。


二、有损和无损
        根据数字音频的产生过程可知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV 文件中均有应用。因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准。
        对于我们最常说的“无损音频”来说,一般都是指传统CD格式中的16bit/44.1kHz采样率的文件格式,而之所以称其为无损,也是因为其包含了20Hz-22.05kHz这个完全覆盖人耳可闻范围的频响频率而得名。要做到真正的无损是困难的,就像用数字去表达圆周率,不管精度多高,也只是无限接近,而不是真正等于圆周率的值。
        常见的无损音频格式有WAV、FLAC和APE。
        WAV格式文件是音响设备和很多软件可以直接读取的音频文件,基本上不存在编解码问题。FLAC和APE都对WAV进行了编码,故能换取较小的体积,但同时造成解码播放时,因播放器材解析力很敏感(或者说技术所限),会出现一定的jitter抖动(解析复杂编码所致)而导致播放效果不够饱满和流畅。这点你可以通过统一转换为WAV格式来试听解决。
       对于WAV格式来说,是目前的常规无损压缩格式中体积最大的文件格式,由于FLAC和APE都对WAV进行了更高技术的编码,所以换取了较小的体积,这也是这两种格式之所以出现的根本原因。而对于FLAC和APE两种格式来说,虽然体积大小差不多,但是采用了不同的压缩格式,所以对于设备来说在播放时候需要占用的资源多少也并不相同,简单地说占用资源多少的比例为:APE最大、FLAC中、WAV占用最小。
三、PCM编码与WAV格式的关系
        单独的PCM编码文件是不能直接播放的,这种文件通常称为PCM裸流。PCM裸流经过封装后,就可以正常播放了。

        WAV格式文件可以使用多种音频编码方式来压缩其封装的音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,几乎所有支持ACM规范的编码方式都可以为WAV的音频流进行编码。

        在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美播放,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中。因为几乎所有的有损压缩格式都是从WAV格式压缩、转换而来,其实内部的编码依然是PCM,所以曾经很多MP3设备并不支持FLAC、APE、AAC等等格式,是因为它们不支持这些文件的解压缩,但是从没有一款播放器不支持WAV格式,因为WAV格式本身,就等于PCM码流。

        最常见的WAV格式文是在PCM裸流的基础上加上44字节的文件头构成的,此时PCM的采样率是8KHz,量化位数是16位,当采用8位的量化位数时,文件头的长度可以达到58位。比如说Windows下自带的那个录音机录下的WAV,文件头有58个字节。

        所以,比较好的办法是,首先读取n个长度的一段字符,例如60个,然后从中查找关键字“data”,“data”之后的一个DWORD是实际音频数据的长度,得到这个长度length,再从这DWORD后开始读取length个字节,就可以读到文件尾。如下图所示,用UltraEdit打开一个WAV文件,可以看到关键字data,data之后红框中的四个字节就是length。


        如果是双声道的,那么数据是交替存放的;如果是16bit采样的,每两个字节会以小端的方式存储一个AD值。根据这样的方式,就可以顺利读取音频数据了。

四、PCM裸流的制作

步骤一、用酷狗音乐客户端下载一首无损歌曲,格式为WAV、FLAC或APE,如果下载的是WAV格式,直接看最后一个步骤。


步骤二、切换到工具界面,入下图所示。


步骤三、点击上图中的“格式转换”按钮,弹出“格式转换工具”对话框,如下图所示。注意格式转换工具默认不可用,需要联网下载。


步骤四、添加需要转换的歌曲,转换格式选择WAV,然后点击“转换文件”按钮,等待转换完成。




步骤五、点击“打开文件夹”按钮,可以看到转换成功的WAV歌曲,如下图所示。


步骤六、用文本编辑器,比如说UltraEdit,打开该WAV歌曲文件,然后选中文件头的44个字节并剪切(因为退格键不管用),将这44个字节删掉,保存后更名并把后缀改成pcm即可,如下图所示。




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

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

相关文章

案例分享:基于预训练大模型的AI自动标注

从自动化时代到智能化时代,人工智能潜在的价值规模迅速扩张。如何将潜在的应用价值落到现实场景是摆在一众AI企业面前亟待破解的难题。 数据资源场景单一且有限、算力资源存在上限且成本高企、高端人才稀缺等问题无一不在阻碍AI产业的规模化商业落地。 而伴随着以…

AI文本生成软件选哪个?看看这些软件推荐吧

最近几个月的时间内AI智能技术逐渐向大众开放,许多人都在使用AI智能进行一些创作 但是许多小伙伴依然不知道该如何使用AI来智能生成文本。那么大家想知道有哪些AI文本生成软件吗?看看下面几款大家常用的AI文本生成软件的介绍吧。 1.“AI写作宝” 软件介…

LLMs的自动化工具系统(HuggingGPT、AutoGPT、WebGPT、WebCPM)

在前面两篇博文中已经粗略介绍了增强语言模型和Tool Learning,本篇文章看四篇代表性的自动化框架,HuggingGPT、AutoGPT、WebGPT、WebCPM。 Augmented Language Models(增强语言模型)Toolformer and Tool Learning(LLM…

代码恐怖故事:隐藏在复杂代码库中的恐怖秘密

本文讲述了开发者们在复杂代码库中工作的经历和教训,包括代码复杂性带来的问题、架构决策、第三方库引发的意外问题以及令人恐慌的编程错误,以及如何处理这些挑战。 原文链接:https://digma.ai/blog/coding-horrors-tales-of-codebase-comple…

【ChatGPT助我开发】利用ChatGPT编写基于Matlab的SVM的蔬菜分类项目

序言 从去年12月份开始用ChatGPT,一直被惊艳到,然后问一些奇怪的问题,到现在助力开发,我发现合适的提示词(Prompt)会很大程度影响到生成的质量,我在开发的过程中也会逐渐完善修改,最…

matlab绘图常用函数及代码

1、绘图:plot /semilogy /loglog /scatter figure(1); subplot(1,2,1);%子图 axis([0 10 10^-5 10^-1]);%限制作图范围,x轴0~10,y轴10^-5到10^-1 plot(X,Y,Color,[R G B],LineStyle,-,Marker,o,LineWidth,1); hold on; grid on;%显示网格 &…

HR怀疑程序员简历造假,随后的做法引起网友热议:过分了

简历可以说是求职过程中最重要的一份材料,因此不少人对简历都精心准备,以便全面地展示自己。对企业来说,简历最重要的一点便是真实。可以说所有公司对简历造假都是保持零容忍的态度。最近,一位HR网友在职场社区分享了他怀疑程序员…

程序员简历优化之道

作者:安晓辉 声明:原创文章,禁止各种形式的转载。 为什么你投十份简历,只有一两家公司约你?又或者为什么你每投一份简历都能获得面试机会? 最根本的原因,就是一方在汲汲渴求,而恰恰…

别再胡乱写简历了,一份适合普通大众的简历模版,送给大家

今天我们就来聊一聊在校招时,简历该如何写的问题。说实话,对于简历的书写方式,可能不同的人会有不同的见解,并且不同的面试官/HR在筛选的时候也会有所差异,所以在我看来,不存在一种绝对稳的简历模版。 我在…

聊求职:写简历的大原则与小技巧

简历,是求职者向未来雇主展示专业技能和职业素养的自我推销工具,是赢得面试机会的敲门砖。如果没有面试邀约,大多只有两种可能:要么是简历写的太屎了,要么是简历投的太屎了。所以,当没有面试机会的时候&…

用 Markdown 写炫酷简历,助力跳槽换工作

大家好我是徐小夕。 今天给大家来介绍一个简历制作神器,是我的朋友秋风开发的。这个项目是一款免费在线简历制作工具,通过将书写的Markdown 和选择的主题快速转化不同风格的简历, 同时还可以一键复用其他人做的优秀的简历, 助力求职者快速制作精美的简历…

分享162个助理类简历模板,总有一款适合您

分享1626个助理类简历模板,总有一款适合您 162个助理类简历模板下载链接:https://pan.baidu.com/s/1Uy3eXPz9D-wK-l7z3KDIWQ?pwdl139 提取码:l139 Python采集代码下载链接:采集代码.zip - 蓝奏云 class ChinaZJsSelenium:ba…

掌握这些写简历投简历的“黑魔法”,告别简历已读不回!

“哎,我还能找到工作吗?” 这是最近加我微信的好友,问的最多的一句话。 太卷了 最近加我微信的朋友很多,我都很奇怪,最近也没怎么发文章,怎么会有这么多人加我。 大概就是因为太卷了,之前写的…

简历优化实战案例01:工作经历篇

大家好,我是小谭。 最近,我在帮一位求职者修改简历时,发现一些求职者常犯的简历错误。在征得求职者同意后,我粘出来,同大家分享和交流,期望通过此分享,让大家了解写简历的常见坑和注意点。 本…

分享111个助理类简历模板,总有一款适合您

分享111个助理类简历模板,总有一款适合您 111个助理类简历模板下载链接:https://pan.baidu.com/s/1JafYuLPQMmq37K4V0wiqWA?pwd8y54 提取码:8y54 Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj 设计师助理…

找工作的程序员应该这样优化简历【内附120套优质简历模板】

《花千骨》一剧,白子画为什么收花千骨为徒? 《琅琊榜》中,梅长苏为什么选靖王而弃太子、誉王? 《泰坦尼克号》里,杰克和露丝为什么会一见钟情? 王子基特为什么会选择灰姑娘辛德瑞拉? 这些问题乍…

易语言易语言浏览器html5,易语言创建的浏览器源码

易语言创建的浏览器源码系统结构:事件_编辑框1_获得焦点,事件_选择夹1_鼠标右键按下,子程序_删除页面,事件_窗口1_尺寸被改变,事件_选择夹1_子夹被改变,子程序_添加页面,事件_浏览器_即将跳转,事件_浏览器_即将打开新窗口3,事件_浏览器_标题被改变,事件_编辑框1_按下某键,SkinH…

易语言 普通填表 html5,易语言网页填表源码

易语言网页填表源码系统结构:passport_tianya,passport_xinlang,passport_baidu,Automatic_modification,Insert_text,Loadconfiguration, 窗口程序集1 || ||------_按钮8_被单击 || ||------_按钮11_被单击 || ||------passport_tianya || ||------passport_xinlang || ||----…

易语言启动局域网计算机程序,易语言局域网计算机监控源码

易语言局域网计算机监控源码系统结构:取计算机列表,弹出提示窗,上下线, 窗口程序集1 || ||------__启动窗口_创建完毕 || ||------取计算机列表 || ||------_选择框1_被单击 || ||------_时钟1_周期事件 || ||------_按钮1_被单击 || ||------_按钮2_被单击 || ||------__启动窗…

易语言在线播放器源码php,易语言视频播放器源代码

用简单的语言编写视频播放器的源代码 源代码包含以下功能: *调用Thunder APlayer SDK进行视频播放*自动检测是否下载Thunderbolt解码库,如果不存在,则自动下载并解压缩(新手可以学习)新手可以学习)*支持快捷键可快进和快退以及将音量最多增加或减小至1000 *自动截取本地视频缩…