wave 文件采样率转换

原创 2001年08月17日 17:48:00
 

Wave格式音频文件采样率转换

一、此转换方法为文件转换方式,需要对现在的文件分析的基础上生成新的音频文件。

二、方法占用时间比较多,但速度在允许范围之内

三、分析文件与写入新文件的时候是按字节操作

四、本方法转换生成的新文件的精度只能为16位,如果需要其他的精度,需要另外进行精度转换。

操作流程:

一、分析源文件的头结构,取得源文件的采样率、声道数、数据长度、数据流量等参数。

二、根据文件头结构生成新文件的头结构,确定各项参数,其中采样率由用户自行指定。

三、根据源文件的采样率与声道数确定转换的循环次数。

四、对源文件的语音数据进行获取与转换,转换公式:

(((itmp <<8)+itmp)-32768) << 16

其中,itmp为取得的双字节数据。

五、将转换后的数据传给需要写入的文件,再次进行转换,公式如下:

1c = (((c + 0x80000000) >> 16) & 0xFFFF) ^ 0x8000;

其中c为传入的采样率数据

需要将上面转换的数据进行字节转换,公式如下:

第一个字节c&0xFF

第二个字节c>>8

将第一字节与第二字节依次写入新生成的文件.

六、对源文件与目标文件进行循环操作,只到源文件末尾。

音频采样率转换

采样率转换的开源代码框架有libresample、sndfile-resample、libresample4j
  • byxdaz
  • byxdaz
  • 2016年12月27日 09:58
  • 3015

resample, 采样率转换C代码

  • 2012年10月11日 20:20
  • 21KB
  • 下载

音频采样位数,采样率,比特率

最近想入手一套HIFI书架音箱,但对于一些音频方面的技术参数知识还只停留在很原始的,如只知道所谓128K 196K 256K 320K(比特率)这样数据越大音质越好的基础上。 晚上花了点时间把这些知识...
  • iloli
  • iloli
  • 2014年02月15日 21:42
  • 20358

wave格式音频文件采样率转换

一、此转换方法为文件转换方式,需要对现在的文件分析的基础上生成新的音频文件。 二、方法占用时间比较多,但速度在允许范围之内 三、分析文件与写入新文件的时候是按字节操作 四、本方法转换生成的新文件...
  • xiaolei05
  • xiaolei05
  • 2012年01月27日 20:55
  • 1405

RIFF和WAVE音频文件格式

RIFF file formatRIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构。RIFF文件...
  • BrookIcv
  • BrookIcv
  • 2016年10月13日 18:43
  • 595

C++ wave 音频文件解析程序

wave 文件比较简单,解析程序 用mmio开头的函数解析的。 #include void CTest1Dlg::OnBtnwave()  { HMMIO hmmio = mmioOpe...
  • u011584360
  • u011584360
  • 2013年08月11日 13:45
  • 910

【C语言】PCM音频数据处理---降低采样率

【C语言】PCM音频数据处理---降低采样率
  • Timsley
  • Timsley
  • 2016年02月17日 23:44
  • 5205

转换音频采样率

对于音频采样率转换的一种较简单的方法
  • zgcqflqinhao
  • zgcqflqinhao
  • 2016年09月18日 10:46
  • 2050

PCM WAVE格式详解及用C语言实现wave文件的读取

转自:http://ibillxia.github.io/blog/2013/07/20/details-of-wave-format-and-reading-wave-files-in-C-lang...
  • yasi_xi
  • yasi_xi
  • 2014年07月28日 10:18
  • 5620

WAVE格式

一.wave格式概述 Wave文件格式是用于多媒体文件存储的Microsoft RIFF(Resource Interchange FileFormat)的一个子集。每一个RIFF文件以一个文件...
  • yejia1280
  • yejia1280
  • 2017年04月17日 22:02
  • 428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wave 文件采样率转换
举报原因:
原因补充:

(最多只允许输入30个字)