盒子
盒子
Posts List
  1. 介绍

SoundTouch for iOS 音频变声

作者Talent•C
转载请注明出处

介绍

早在2014年的时候由于公司项目需要做一个音频变声处理的功能,翻遍万水千山,终于找到了SoundTouch这个NB的音频处理库,关于SoundTouch这个库的使用介绍不管在国内还是国外的网站介绍的都比较少,国内的基本都是复制来的内容,没什么太大的价值; 因为需要写个Demo给产品,正是这个Demo让我们苦逼的产品开始了测试之路,每天抱着手机测试各种参数下的音频效果,看着这个样子,心里很开心, 哈哈你也有今天…. 开个玩笑哈 那个产品同学看到后别来砍我哈, 经过产品的”艰苦奋斗”终于赢来了第一批效果参数。

SoundTouch官方的介绍就一句话:
SoundTouch是一个开源的音频处理库,用于改变音频流或音频文件的速度、音高和回放速率。
soundTouch官方网站

正是因为关于SoundTouch的介绍比较少,所以想将这个Demo分享出来,使更多人获得更好的帮助, 没想到这个Demo会成我所有开源的工程的下载量最大的一个。
这个Demo从开源以来一共经历的4个版本(其中三个大版本),每个版本的下载量如下:

版本 下载量 开源时间
V1.0 300+ 2014年8月
V2.0 200+ 2014年11月
V3.0 1000+ 2015年1月

1.0的时候是最low的 Demo只能对录音的音频进行变声,而且整体结构很简单,就是这么一个很low的Demo居然还有这么多的下载量我感到很震惊,同时跟我反馈的人 50+,从此引发了我兴趣,于是我着手准备第二个版本,在第二个版本中我将除录音文件之外的音频的文件也可变声这个功能加入去,也陆陆续续收到了很多反馈信息,大家在说支持的格式比较单一,因为那是这个Demo只能处理WAV格式的音频包括音频输出格式也只能是WAV,也正赶上那时苹果要求所有的app必须支持arm64,于是就有了3.0版本,可以说3.0版本满足很大一部分人的需求了,支持输入几乎是所有音频格式的音频文件,输出的音频格式新增了 MP3AMR (至于为什么苹果自身不支持 AMR 而我还要让这个Demo支持 AMR 格式的音频可以查看上一篇文章)。

但当时并没有自己独立的博客,就没有写关于 SoundTouch的帖子, 都是将代码分享在 cocoachinaCSDN,后来又因为xx国规定各个网站不允许传播关于音频变声类软件,最后没办法,只能将代码暂时放在百度网盘中; 最近有很多开发者反馈Demo不支持bitcode 和 想要得到我那苦逼的产品测试出来的具体参数,自己也趁着这段是时间重新整理了一下这个Demo,并将源码开源在 github 上。打算今后所有的更新及相关文旦介绍都迁移到到这个博客中。

最新版本 V3.1
新增功能:
1.支持bicode
2.对模拟支持不好的静态库替换
3.修复录音时因系统权限造成的崩溃问题
4.调整功能结构
5.新增5种音频处理效果参数值

使用时仅需要引入 AudioConvert.h即可 具体API 可参考注释。同时欢迎大家反馈各种意见,好的,坏的都好!!!
工程下载

支持一下
扫一扫,支持Talent•C