Android录音-SoundTouch移植到Android
文章目录
一、SoundTouch介绍
- SoundTouch是一个音频处理库
- SoundTouch的主要功能是通过改变音速、音调使用功能变音。
- 官网(http://www.surina.net/soundtouch)
- SoundTouch 处理的的是PCM 数据。
二、移植SoundTouch(Android)
1. 下载源码
下载源码后解压可以得到SoundTouch的源码和Android demo,demo是基本功能都有。
当然我们需要自己写,因为demo 只处理wav文件处理,我们需要进行实时处理音频流;

2. 移植工作 (CMake)
运行环境:Win 10
NDK: 21.4.7075529
Gradle: 7.0.3
1. 新建Module我们也取名 soundTouch,建立cpp文件夹
2.源码移植
把上面下载的源码的include中的头文件(.h)和 source\SoundTouch 以及 source\SoundStretch中的文件.c,.h文件移植到cpp文件夹下

3. 配置CMake-bulid.gradle
android {
defaultConfig {
//..省略
//配置输出abi
externalNativeBuild {
cmake {
abiFilters 'armeabi-v7a','arm64-v8a','x86_64', 'x86'
cppFlags ''
Android音频处理:SoundTouch库实时变音移植实践

本文介绍了将音频处理库SoundTouch移植到Android平台的详细步骤,包括源码下载、模块创建、CMake配置、源码修改以适配Android的AudioRecord。在移植过程中,重点解决了因数据格式不匹配导致的噪音问题,实现了将PCM数据从float格式转换为short格式。此外,还提供了与AudioRecord配合进行实时音频处理的示例代码,以及遇到的问题和解决方案。

最低0.47元/天 解锁文章
2118





