PCM音频处理一:分离左右声道音频


本文介绍了将PCM16LE双声道数据中左声道和右声道的数据分离成两个文件,PCM音频数据可以使用音频编辑软件导入查看,推荐免费开源的音频编辑软件Audacity。本文参考文献链接:https://blog.csdn.net/leixiaohua1020/article/details/50534316

PCM16LE简介

PCM16LE双声道数据中左声道和右声道的采样值是间隔存储的。本文中声音样值的采样频率一律是44100Hz,采样格式一律为16LE。“16”代表采样位数是16bit。由于1Byte=8bit,所以一个声道的一个采样值占用2Byte。“LE”代表Little Endian,代表2 Byte采样值的存储方式为高位存在高地址中。
下图为输入的双声道PCM数据的波形图。上面的波形图是左声道的图形,下面的波形图是右声道的波形。
PCM16LE双声道音频

PCM16LE双声道波形图

函数代码

函数的代码如下所示:

int CTransPic::simplest_pcm16le_split(char* url){
	ifstream infp;
	infp.open(url, ios::in | ios::binary);
	ofstream outlefp, outrifp;
	outlefp.open("outlefp.pcm", ios::out | ios::binary);
	outrifp.open("outrifp.pcm", ios::out | ios::binary);

	unsigned char* pcmbuf = (unsigned char*)malloc(4);
	while (!infp.eof())
	{
		infp.read((char*)pcmbuf, 4);
		outlefp.write((const char*)pcmbuf, 2);
		outrifp.write((const char*)pcmbuf + 2, 2);
	}
	free(pcmbuf);
	infp.close();
	outlefp.close();
	outrifp.close();

	return 0;
}

测试用例

左声道的音频波形图如下:
左声道波形图

左声道波形图

右声道的音频波形图如下:
右声道波形图

右声道波形图

注:本文参考文献链接https://blog.csdn.net/leixiaohua1020/article/details/50534316

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i胡说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值