最近在学音频数据的处理,需要对不同的声道数据进行处理,这里分享一下如何将左右声道数据的合并到同一个声道里面。

其实左右声道数据的合并很简单的,就是把左右声道数据相加就可以了,不过要注意相加后的数据不要溢出,这个可以用一个32位的变量存储,然后限制他的最大值,或者所有数据都在除与2.

下面是我左右声道数据合并的代码,data里面的数据是16位的pcm数据、左右声道交替存放的,例如:LRLRLR

/************ 左右声道合并* data:出入的待处理的数据* len:传入数据的长度* right_left:0,合并到左声道*             1,合并到右声道*********/
int my_audio_digital_Channel_merging_add(void *data, u32 len, u8 right_left)
{if(data == NULL){return -1;}s32 valuetemp;s16 *buf;buf = data;len >>= 1; //byte to pointfor (u32 i = 0; i < len; i += 2) {valuetemp = (buf[i] + buf[i + 1]);//防止16位数据溢出if (valuetemp < -32768) {valuetemp = -32768;} else if (valuetemp > 32767) {valuetemp = 32767;}//或者也可以全部数据除2//valuetemp = valuetemp / 2;buf[i + right_left] = (s16)valuetemp;buf[i + 1 - right_left] = (s16)0;}return 0;}

如果有什么错误或者要补充的地方,欢迎各位大神指点

音频左右声道数据合并到一个声道相关推荐

  1. mongodb数据合并设计_MongoDB:将来自多个集合的数据合并成一个

    我如何(在MongoDB)将来自多个集合的数据合并到一个集合? 我可以使用map-reduce,如果是这样,怎么样? 我会非常感谢一些例子,因为我是一个新手. 虽然你不能做这个实时,你可以运行map- ...

  2. 把多个excel表数据合并到一个工作簿中怎么操作

    1.如下图含有两个工作表,工资表含有姓名.年龄.工资等信息,信息表含有姓名.身份证号码.出生日期信息.现在想要将这两个表格相同姓名员工数据合并到一个表中. ​ ​ 2.点击下图选项(Excel工具箱, ...

  3. 将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式

    将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式 使用条件: Excel文件必须是xlsx格式,且数据结构一致,方可用以下代码. # 第一步 导入模块 import pandas ...

  4. mongodb数据合并设计_MongoDB:如何将来自多个集合的数据合并成一个.?

    虽然不能实时执行此操作,但可以使用MongoDB1.8+map/Reduce中的"Reduction"Out选项多次运行map-Reduce将数据合并到一起(请参见http:/ww ...

  5. python将多个表的数据合并到一个表

    工作中每周会固定处理一些表,所以用python写了些自动化脚本.欢迎交流. 思路如下:1.循环读取Excel工作表.2.提取需要合并的数据字段(dataframe类型)放到一个list中.3.将lis ...

  6. php 相同数据合并单元格,利用for循环实现excel中多列数据合并到一个单元格

    详细内容 今天在工作中,老板给我一个任务,把excel表格中的多列数据合并到一列中. 数据如下: 注意:数据从16601到20000,也就是说有两千个网址. 下面为大家介绍几种方法: 第一种:使用wp ...

  7. excel 某个单元格不是等于空值_将数据合并到一个单元格,用函数也OK

    工作中总会遇到一些奇葩要求,比如将符合数据的结果放到同一单元格.我们可以使用函数来实现,也可以用PQ来实现.今天我们来讲一下,如何用函数来实现我们的目的. 首先我们来看一下源数据: 操作步骤:1.在D ...

  8. Excel数据合并:一个文件夹里多个Excel文件,并且每个文件里有多个sheet表,全部合并为一个表

    用于当一个文件夹内有多个excel表,并且每个excel 里有多个sheet表的情况 import os import pandas as pdn=0 l=[] for file in os.walk ...

  9. c 语言提取左右声道数据

    注意:本例子针对的输入数据源是双声道数据,采样点格式为s16le,如果是其他格式,比如24bit或者32bit或者其他,需要针对性的修改每次读取的字节数,也就是read(fd, &num, 4 ...

最新文章

  1. Could not open a connection to your authentication agent
  2. 超级可靠、超低成本——BCH的雄心
  3. Python学习1——Python中的 split() 函数
  4. Linux驱动小技巧 | 利用DRIVER_ATTR实现调用内核函数
  5. Redis内存回收和持久化策略
  6. 3个阶段 项目征名_项目管理的3个关键动作:启动、推进、复盘
  7. [转]从青铜到王者,一文教你节省90%内存占用
  8. 彻底理解position与anchorPoint - Wonderffee's Blog(转)
  9. ‘ssh-keygen‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  10. Linux下的经典软件(史上最全)
  11. Android之本地数据存储(SQLite数据库)
  12. android绑定交通卡,【NFC-SIM卡刷公交教程】支持安卓8.0(3月23日更新)
  13. 市场导向还是技术导向
  14. 骁龙660和骁龙835之间的差距到底有多大?
  15. 服务器生成微信sign,签名生成方法
  16. 大唐波斯将军 机器人_波斯被灭,王子来大唐求援,唐高宗拒绝派兵,但让他做了禁军将领...
  17. runnable、callable、consumer、supplier
  18. java qq托盘 消息提醒_如何仿QQ实现托盘闪动消息提醒
  19. 数字图像处理与Python实现-离散余弦变换
  20. wangeditor php上传本地图片,配置wangEditor 实现图片上传

热门文章

  1. 笔记本联想(Lenovo)G40-70M加装内存和SSD固态硬盘
  2. 单例设计模式(饿汉式VS懒汉式)
  3. 迈向云原生开发,我眼中的云原生
  4. 【ZFNet】Visualizing and Understanding Convolutional Networks (2013) 全文翻译
  5. 小米手机 开发app python_一篇文章教会你用Python多线程获取小米应用商店App
  6. Openssl-AES加密
  7. face_recognition移植至树莓派
  8. 软工1816 · 作业(十一)事后诸葛亮
  9. python hank_python optparse模块
  10. 【简易爬虫】找回B站“已失效视频”的相关信息