2024年4月19日发(作者:)
音频文件格式
!"#$ 的转换
李 敏
东南大学无线电工程系
!
江苏 南京
$
"!JJ/K
摘要
)
本文详细介绍了
#$%
声音文件的格式
!
分析了两种文件头的条目安排及相应文件中的数据存放方式
!
并
简要例举了实际应用
"
关键词
!
#$%
格式
#
&’((
#
文件头
#
)*+,-
中图分类号
!
.,/!"01
文献标识码
!
$
*+,-./0+1,230- 0/ %4’ 45630 $378 $0+1,2
23435
6789:;475; <= &9>3< ?5@3577:35@ A B 49.2+,:2) .D3E 9:;3LM7 @3F7E 9 8:7E75;9;3<5 <= #$% $C>3< (3M7 (<:49; 35 >7;93MA 959MNO35@ ;D7 3;74 9::95@7475; 95> P9NE <= >9;9 E;<:9@7 =<: ;P< ;N87E <= =3M7 D79>0 $; M9E;A 3; 9ME< 35;:<>CL7E E<47 988M3L9;3<5 Q:37=MN0 ;8< =0+6) #$% E877LD =3M7 =<:49;R &’(( R (3M7 *79>R )*+,- 接 保 存 &’() 声音文件格式是目前 &*+,-./ 最直 声音数据的文件格式 ! 在涉及声音信号处理时 " 大多是 对 &’( 文件直接操作 " 有必要搞清楚所研究声音的文 件格式 ! 针对这两种 472+? " 05:: 又从原先的 C 裸数据 C 中切出 所示 % GAB61 作为 C 格式辨别码 C " 如表 ! ! "#$$ 文件与 %&’ 文件 在 &*+,-./ 环境下 " 大部分多媒体文件都依循着 一 种 结 构 来 存 放 信 息 为 资 源 互 换 文 件 格 式 " 称 # 01! 表 " 对 05:: 的树状结构有所了解之后 " 可以知道它相 /-2341/ 5+613478+91 :*;1 :-3<86 $ = 简称 05:: % 比如声音的 &’( 文件 & 视频的 ’(5 文件 & 动画的 >>> 文件等均是 由此结构衍生出来的 ! 所以 " 要掌握多媒体文件格式 " 首先得认识 05:: 的结构 ! 当于一个根目录 " 而格式辨识码则相当于具体的盘符 如 H ( I ( 等等 % 视窗下的各种多媒体文件格式就如同 在磁盘机下规定只能存放怎样的目录 " 而在该目录下 仅能存放何种数据 % 05:: 是一种树状结构 " 其基本组成单位是 472+? 块 个 472+? 由 辨 识 码 据 大 小 和 数 据 组 成 ’ 即 $" 每 & 数 " 如表 @ ! 可以看出 " 一个 472+? 的长度 " 就是数据的大小 加上 %AB61 ! ( %&’ 文件头 顾名思义 " &’( 就是波形音频文件 ’ &8J1 ’2,*- $" 是 &*+,-./ 中用来表示数字化声音的一种标准格式 " 其文件扩展名为 $.8J " 是一种非常简单的 05:: 文件 " 格 式辨识码为 ) &’() *% 整个 &’( 文件分成两部分 ( 文件头和数据块 % 在 用计算机处理声音信号的过程中 " 常常遇到以下两种 表 ! 一般而言 " 472+? 本身不允许内部再包含 472+? " 但 情况 ( 当没有现成 &’( 文件时 " 需要使用一些音频处 理软件如 H--;1,*6 " E-2+,1,*6 等 " 将其它格式转化成 有两个例外 ( 以 C05::C 和 以 CD5EFC 为 辨 识 码 的 472+? % 个 !") 文件经过编解码以后 ! 只产生了数据块 ! 少了 !") 文件头 ! 无法直接播放 # 于是 ! 为了让程序自动 生成 !") 文件 ! 必须在裸数据前添加正确的 !") 文 件头 # 研究中发现 ! !") 格式文件主要有两种文件头 # UU 采样频率 & 每秒取样数 ’ V!B*V 0;8[WP&9E=9RY9-T UU 每秒数据量 !B*V 0W’H:1;’F[.T UU 记录区块的对齐单位 !"# 标准的 $$ 字节文件头 这种 !") 是最简单的一种 *+,, 格式 ! 包含两个 Z !;)@AB*?;DT 为了产生出能够正确读出的 !;) 文件 ! 必须严格 -./01 $ 234&5-16 % 27%895:%&%6 ! 这两个子块都 是 一 个 !;) 文件必须包含的 # 注意以下几个分量间的特定关系 L 否则产生出的文件将 无法正常播放 $ 0;8[WP&9E=9RY9- ‘ 0Y%4Q’9E=9RY9- a 0>.%009’E a 234&5-16 子块 ! 描述了波形数据 27%895:%&%6 的格 式 ! 对于 << 字节文件头 ! 它由结构 =>?!;)@ABC?;D 组成 ! 其子块大小是 EFG9H3I=>?!;)@ABC?;JKL 数据是 =>?!;)@ABC?;D 的 数 据 ! 如 表 M 所 示 # 其 中 =>?!;)@AB*?;D 是 =>? 波形音频数据的数据格式 结构 ! 大小是 NO 字节 ! 定义如下 $ 表 ! "" 字节文件头结构 &PQ9:93 E&R/-& S !;)@ABC?;D 73T UU 先包含一个 !;)@AB*?;D 结构 !B*V 7WF&EX9RY%4Q’9T UU 每个取样所须位元数 Z =>?!;)@AB*?;DT &PQ9:93 E&R/-& S !B*V 7AHR4%&D%[T UU 编码格式如 !;)@ABC?;D=>? & ]^]]]N ’ !BCV 0>.%009’ET UU 声道数 $ 单声道 N % 双声道 _ 7WF&EX9RY%4Q’9Ub 0W’H-1;’F[0 ‘ 0>.%009’E a 7WF&EX9RY%4Q’9Ub 根据以上规则 ! 表 < 给出一个 b1cG 采样 ! NO(F& 量 化的声音文件的 234&5-./016 $ 表 " #$%& ! ’()*+ ! 单声道 ,-+ 子块 !%! &’ 字节文件头 表 . .# 字节的文件头 如果不是 !F0:H7E 的标准 !;) 文件 ! 而是经过了 一些软件处理的 ! 往往就是 db 字节的文件头 ! 如表 d 所示 ! 它比 && 字节的多了一个 ’()* 子块 ! +’()*,)-. 储 定 义 如 存了关于 /01 文件内容的重要信息 " 该子块 下 # +’()*,)-. 2. ’()*3+456789:7;9< =/>?=.@ 表 * +,- 文件中的位安排方式 AABCDE9F G ’ H(DI89H 其中 +’D*,)-. 见表 J " 它由结构 /01K6>?L0MKN 所组成 O " 大小为 P% 字节 " 定义如下 # *QI949’ H*FC)* 5(R9’GFD(*S9T*9B494S*(U V />?= 56GFD(*M(UW AA 编码格式 />?= BXY(BB98HW 形式如表 ^ 所示 " 根据声道数不同及取样位数的不同 " 安排 & 位的位置 & AA 声道数 # 单声道 P " 双声道 ! =/>?= B:(DI89HZ9F:9)W AA 采样频率 $ 每秒取样数 % =/>?= B0RU[Q*9HZ9F:9)W AA 每秒数据量 />?= B[8G)-087UBW AA 记录区块的对齐单位 />?= 5[7*HZ9F:(DI89W AA 每个取样所需位元数 />?= )E:7;9W AA 附加信息的字节数 /01K6>?L0MKNW 表 ! "#$% ! &!’() ! 单声道 ! ! "#$# " 子块数据安排方式 ]4(*(] 子块中装的是真正的声音数据 & 除非安装其 它特殊软件 " 否则 /7B4G5H 目前仅提供 /01KS6>?! L0MSZXL 一种数据格式 " 即 脉冲编码调制 $ ZC8H9 XG49 LG4C8(*7GB %& 针对此格式 " /7B4G5H 中 ]4(*(] 子块中数据存放的 注 意 # /7B4G5H 中 将 PJ 位 值 的 范 围 定 为 ,_!^J% " _!^J^ & 另外 " " 并不一定代表无声 " 而是由中间数值来 决定 " 即 % 位的时候为 P!% " PJ 位时 " 才是无声 & 所以 " 编程中需要放入无声的数据时 " 必须先认清声音格式 是 PJ 位还是 % 位 & % 结束语 通常解压缩后得到的文件仅仅是裸数据 " 不能正 常播放声音 & 了解了 /01 文件格式后 " 就可以按照标 准 的 && 字 节 格 式 " 在 解 码 数 据 前 编 写 一 个 正 确 的 /01 文件头 " 使其成为一个有效的 /01 文件 & 另一种情况下 " 如果缺少标准的 /01 文 件 " 我 们 可以用一些特殊的软件去将其它格式转化成 /01 " 这 时得到的通常就是 #% 字节格式 & 了解了该文件头所包 含的内容及各个条目所在位置 " 编程时就能方便地提 取所需要的音频信息 " 进行下一步的处理 & 因此 " 对 /01 格式的清楚 分 析 " 是 在 /7B4G5H 中 进行声音信号处理的第一步 & 参考文献 ‘Pa 黄伟伦 " 等 $LH,/7B4G5H 多媒体程序设计实务与 范例 ‘La$ 武汉 # 华中理工大学出版社 " PbbJ ‘!a 陈立伟 $ 基于 1XJ$" 的 >I9Bc8 与 /7B4G5H 图 形 接口设置方法 $ 西南科技大学学报 O!""!$P^d&e ‘_a 陈 昭 炎 $ /7B4G5H 环 境 下 的 声 音 信 号 处 理 方 法 ‘La$ 中国期刊全文数据库 ‘&a 朱学芳 " 徐建平 $ 计算机语音信号处理与语音识 别系统 $ 南京邮电学院学报 $Pbb%$P%3#e 收稿日期 # !""# 年 ! 月


发布评论