1. PCM(Pulse Code Modulation):脉冲编码调制

    把声源数据按一定的频率进行脉冲调制进行存储的数据格式,简单来说就是对模拟声音信号的数字

    转换。

  2. WAV

    WAV是一种无损音频数据格式。WAV符合RIFF规范。符合RIFF规范的文件可用于存储 音频视频交错格

    式数据(.AVI) 、波形格式数据(.WAV) 、位图格式数据(.RDI) 、MIDI格式数据(.RMI) 、调色板格

    式(.PAL) 、多媒体电影(.RMN) 、动画光标(.ANI) 、其它RIFF文件,RIFF包含的数据文件格式有文

    件扩展名来标识。

    文件扩展名.WAV用来存储波形数据格式。WAV对于数据编码没有硬性规定,PCM是WAV多种编码格式当

    中的一种。

    采用数据可用 采样频率(WAV通常有22050HZ、44100HZ两种)、采样幅度 2个参数来表示。WAV文件

    除开40个字节的开头,声音数据部分记录的就是采样的幅度:单声道的情况下,如果是单字节8-Bit

    的采样,就是把声音采样幅度分成2^8=256个等级,采样数据记录了当前采样幅度等级。双字节

    16-Bit的采样同理,只是幅度等级更丰富了(2^16=64K个等级)。双声道的情况道理一样,只不过每

    个声道都有一份数据,所以数据加倍。

    上面是对WAV格式技术上的描述。而通常我们采用 (采样频率 + 声道数) 或 传输速率 来描述。

    如:

    44100HZ 16bit stereo : 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体

    声)。

    22050HZ 8bit  mono : 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道。

    44100 * 16 * 2 = 1411200 bits/s

    22050 * 8 * 1 = 176400 bits/s

    通过上面的计算公式知道了传输速率,如果还知道了WAV文件的数据的大小,可以通过下面的公式计

    算出播放的时长:

    播放时长 = WAV数据大小 / 传输速率

  3. MIDI(Musical Instrument Digital Interface)

    首先要明确的是,MIDI存储的数据和前面两种格式均不同,MIDI文件存储的是如何演奏的一系列指

    令。而真正的音频数据则来源一些预定义的乐器数据,如钢琴,贝斯等,每种乐器的不同音色都有

    对应的数据,这些就是平常所说的MIDI音色库。MIDI的通过一系列预定义的消息指令告诉系统怎样

    演奏,这些预定义的指令指定了使用的乐器,节拍,音调等。

    MIDI的存储格式除了以字串MThd标记的一个头部外,还有一个或多个以字串MTrk标记的音轨数据块。

  4. 更多细节以及参考资料

    http://www.jianshu.com/p/1d1f893e53e9

    http://blog.sina.com.cn/s/blog_622bd1660101aggj.html

    http://dev.gameres.com/Program/Listen/MidiFormat.htm

    http://wenku.baidu.com/link?url=rij6cVodqiPey0kz96y0p2r42TqoDixsjXdfRwVGoALHBkZtGWrVKJvP38_hEaoypfqwH1OcCwCipT3XpvTu4Azfua9nwBMkBvqzhQtdqVu

转载于:https://blog.51cto.com/4594296/1842921

音频数据文件格式(PCM,WAV,MIDI)简记相关推荐

  1. 音频数据格式:PCM,WAV,MIDI

    1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺. 2. 音频数据格式基础 2.1 PCM(Pulse Code Modulation):脉冲编码调制 把声源数 ...

  2. Qt音视频开发04-保存音频文件(pcm/wav/aac)

    一.前言 音频的保存相对来说比视频的要简单,具有通用性,不需要经过ffmpeg的编码,ffmpeg解码出来后一般会转换成pcm原始的数据用来播放,所以对数据直接写文件即可,但是这种格式是无法用播放器直 ...

  3. python编程实现将文本音频数据还原为wav语音文件

    主要功能 主要实现将文本音频数据转为wav文件. 通过我上一个博客的python编程读取wav文件数据得到的txt格式音频数据,再通过此程序实现将之前的文本音频数据再还原为wav语音文件. 程序 程序 ...

  4. SDL播放PCM音频数据

    SDL播放PCM音频数据 1.PCM简介    PCM(Pulse CodeModulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样.量化.编码转换成的标准数字 ...

  5. 如何将其他音频格式转换成WAV格式?我来教你几招

    WAV格式是一种常见的数字音频文件格式,它被广泛用于存储音乐.语音.声音效果等各种声音数据.WAV格式全称为Waveform Audio File Format,最初是由微软和IBM公司于1991年共 ...

  6. 音频基础知识 - PCM 浅析

    PCM浅析 最近有个需求:对音频裁剪时,裁剪条的纵坐标必须是音频音量,以帮助用户更好的选择音频区域,所以就需要快速准确的提取出音频的音量列表.本文主要介绍下从mp4文件中提取音轨音量的方式,以及相关的 ...

  7. 数字音频接口(I2S,PCM/TDM,PDM)

    概述 数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式.相比于模拟接口,数字音频接口抗干扰能力更强,硬件设计简单,DAI在 ...

  8. micropython i2s_数字音频接口(I2S,PCM/TDM,PDM)

    概述 数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式.相比于模拟接口,数字音频接口抗干扰能力更强,硬件设计简单,DAI在 ...

  9. html5使用websocket发送(PCM)音频数据到服务器,再转在wav文件

    PCM格式 通过websocket发送音频数据. <html> <head><meta charset="utf-8"><title> ...

最新文章

  1. R语言CRAN软件包Meta分析
  2. KS001 基于Springboot机票预订系统
  3. 社区头条:Spring For All 新版上线了!!!
  4. Log4j 2使用教程转
  5. Spring 详解(四):Spring MVC
  6. 数据库本地的sa有个叉号_搞定sql数据库出错,做自己的大神!
  7. 《深入理解Java虚拟机》(二)Java虚拟机运行时数据区
  8. 全面剖析 Knative Eventing 0.6 版本新特性
  9. Python基本语法,python入门到精通
  10. 计算机应用作业2,计算机应用2作业
  11. 阮一峰ES6入门学习笔记~~变量的解构赋值
  12. 现代信息检索——基本概念
  13. YOLO测试图片显示准确率值
  14. 一款性能足够的4.5寸以下的手机
  15. (亲自整理)如何让你的C盘立马多出来20G空间
  16. 语言缩写c-a,常见的国家语言缩写以及语言的代码
  17. Linux中如何对虚拟机管理和恢复
  18. VUE DIFF算法之双端DIFF
  19. multisim14 电流探针在哪儿
  20. Java假期班泰安_泰安2019年放假时间表出炉! 春节居然这样放假

热门文章

  1. 安装Oracle10g on RedHat as 4 64bit
  2. AutoCAD LISP花型图案一
  3. 2015年美军将具备60分钟内打击全球目标能力(图)
  4. [cocos2d-x]图层的旋转缩放效果
  5. electron版本的串口调度助手
  6. linux shell中 if else以及大于、小于、等于逻辑表达式
  7. 9月22日我国垃圾邮件报告:湖北省再居榜首
  8. 用GDB调试程序(二)
  9. mount /mnt/cdrom 提示错误信息“mount: can't find /mnt/cdrom in /etc/fstab or /etc/mtab”
  10. chrome/FF/safari浏览器下input和textarea的默认样式outline和resize