新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> VoiceXML, CCXML, OpenVXI
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML在语音技术中的应用 』 → WAVE文件格式剖析 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 40248 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: WAVE文件格式剖析 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 XML在语音技术中的应用 』 的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客楼主
    发贴心情 WAVE文件格式剖析



    WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。
    RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个
    字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分
    为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及
    格式见附表。
      常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit
    的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指:声音信
    号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期
    内声音模拟信号的积分值。
      对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);
    而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八
    位和低八位分别代表左右两个声道。
            WAVE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。WAVE文
    件是由样本组织而成的。在单声道WAVE文件中,声道0代表左声道,声道1代表右
    声道。在多声道WAVE文件中,样本是交替出现的。

      WAVE文件格式说明表  

      偏移地址 字节数 数据类型 内   容
     
    文件头
    00H 4 char "RIFF"标志
    04H 4 long int 文件长度
    08H 4 char "WAVE"标志
    0CH 4 char "fmt"标志
    10H 4   过渡字节(不定)
    14H 2 int 格式类别(10H为PCM形式的声音数据)
    16H 2 int 通道数,单声道为1,双声道为2
    18H 2 int 采样率(每秒样本数),表示每个通道的播放速度,
    1CH 4 long int 波形音频数据传送速率,其值为通道数×每秒数据位数×每样
                   本的数据位数/8。播放软件利用此值可以估计缓冲区的大小。
    20H 2 int 数据块的调整数(按字节算的),其值为通道数×每样本的数据位
               值/8。播放软件需要一次处理多个该值大小的字节数据,以便将其
               值用于缓冲区的调整。
    22H 2   每样本的数据位数,表示每个声道中各个样本的数据位数。如果有多
             个声道,对每个声道而言,样本大小都一样。
    24H 4 char 数据标记符"data"
    28H 4 long int 语音数据的长度

      PCM数据的存放方式:

      样本1 样本2
    8位单声道 0声道 0声道
    8位立体声 0声道(左) 1声道(右) 0声道(左) 1声道(右)
    16位单声道 0声道低字节 0声道高字节 0声道低字节 0声道高字节
    16位立体声 0声道(左)低字节 0声道(左)高字节 1声道(右)低字节 1声道(右)高字节

     WAVE文件的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需
    的最小字节数。首先存储低有效字节,表示样本幅度的位放在i的高有效位上,
    剩下的位置为0,这样8位和16位的PCM波形样本的数据格式如下所示。  

    样本大小 数据格式 最大值 最小值
    8位PCM unsigned int 225 0
    16位PCM int 32767


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/5 10:39:00
     
     cthily 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:24
      积分:177
      门派:XML.ORG.CN
      注册:2006/2/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给cthily发送一个短消息 把cthily加入好友 查看cthily的个人资料 搜索cthily在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看cthily的博客2
    发贴心情 
    历害。。。。。。。。。。。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/14 20:41:00
     
     bb2445293 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2006/5/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给bb2445293发送一个短消息 把bb2445293加入好友 查看bb2445293的个人资料 搜索bb2445293在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看bb2445293的博客3
    发贴心情 
    那么
    wave data 块是 什么形是存放的了?是以frame存放的吗?????
    cue chunk 等chunk又是 怎么一会事,
    望指点
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/4 16:50:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客4
    发贴心情 
    00H 4 char "RIFF"标志
    04H 4 long int 文件长度
    08H 4 char "WAVE"标志
    0CH 4 char "fmt"标志
    10H 4   过渡字节(不定)
    14H 2 int 格式类别(10H为PCM形式的声音数据)
    16H 2 int 通道数,单声道为1,双声道为2
    18H 2 int 采样率(每秒样本数),表示每个通道的播放速度,
    1CH 4 long int 波形音频数据传送速率,其值为通道数×每秒数据位数×每样
                   本的数据位数/8。播放软件利用此值可以估计缓冲区的大小。
    20H 2 int 数据块的调整数(按字节算的),其值为通道数×每样本的数据位
               值/8。播放软件需要一次处理多个该值大小的字节数据,以便将其
               值用于缓冲区的调整。
    22H 2   每样本的数据位数,表示每个声道中各个样本的数据位数。如果有多
             个声道,对每个声道而言,样本大小都一样。
    24H 4 char 数据标记符"data"
    28H 4 long int 语音数据的长度

    楼主的帖子,文件头长度加起来是42字节,但是实际长度是44个字节(用UltraEdit打开一个WAVE文件,数一下就知道了)。如果用以个结构体来定义WAVE文件头应该为:
    struct WAVEFILEHEADER
    {
     char chRIFF[4];
     DWORD dwRIFFLen;
     char chWAVE[4];
     char chFMT[4];
     DWORD dwFMTLen;
     PCMWAVEFORMAT pwf;
     char chDATA[4];
     DWORD dwDATALen;
    };

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/12 10:32:00
     
     000minzi 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2006/6/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给000minzi发送一个短消息 把000minzi加入好友 查看000minzi的个人资料 搜索000minzi在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看000minzi的博客5
    发贴心情 
    辛苦了,非常感谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/2 19:32:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML在语音技术中的应用 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/12/27 13:52:35

    本主题贴数5,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    140.625ms