FFmpeg开发笔记(八十)使用百变魔音AiSound实现变声特效

《FFmpeg开发实战:从零基础到短视频上线》一书的"第5章 FFmpeg处理音频"介绍了如何使用FFmpeg处理和转换音频,"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上剪辑视频,二者结合起来即可开发音频剪辑App。那么在Android系统上还有一款国产的开源音频特效框架AiSound,通过该框架可以更快地开发变声App,下面就来介绍如何在App工程中使用AiSound。

AiSound名叫AI魔法声音,也叫百变魔音,它是一个运行于Android系统的结合AI技术的变声器SDK。AiSound基于开源框架fmod实现,通过fmod处理音频的变声播放效果,还支持试听和保存变声后的音效文件。其中fmod是一款游戏音频引擎,它的最新版本为1.10.15,下载页面为https://fmod.com/download。
AiSound的源码托管地址为https://github.com/microshow/AiSound,最新版本是2020年8月发布的AiSound 1.0(星星数0.4k),可见该框架的源码更新十分及时。并且AiSound的源码采用Java+XML编写,对于初学者而言非常友好,使用Android Studio Dolphin(小海豚版本)无需任何改动即可直接导入AiSound的demo工程。
在自己的App工程中集成AiSound也很简单,只要执行下列几个步骤就行。

一、导入AiSound库

如果已经事先导入AiSound的库工程,则只需在build.gradle中添加下面一行即可引入AiSound:

复制代码
implementation project(':aisound')

如果不用库工程,也只要在build.gradle中添加下面一行即可引入AiSound(未验证):

复制代码
implementation 'com.github.microshow:AiSound:1.0.0-beta'

二、执行变声操作

在App工程中可通过以下代码初始化变声器AiSound:

复制代码
AiSound.init(this); //初始化AiSound

初始化之后,再通过以下代码对指定路径的音频文件执行指定类型的变声播放操作:

复制代码
AiSound.playSoundAsync(path, type);

开始变声播放之后,可通过以下代码暂停AiSound的变声播放操作:

复制代码
AiSound.pauseSound(); // 暂停播放

暂停变声播放之后,可通过以下代码恢复AiSound的变声播放操作:

复制代码
AiSound.resumeSound(); // 恢复播放

退出变声播放页面或者提前结束变声播放,都要通过以下代码关闭AiSound的变声播放操作:

复制代码
AiSound.close(); // 释放播放资源

由此可见,AiSound用起来很简单,只要寥寥几行代码就能在自己的App工程中快速添加变声播放功能。

按照上述几个步骤给App工程集成AiSound后,编译运行AiSound的demo工程,打开测试App如下图所示。

可见AiSound支持的变声特效包括萝莉、大叔、惊悚、搞怪、空灵等等,是个不错的国产音效处理SDK。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
Ulyanov33 分钟前
AudioVision Pro:基于 PySide6 + sounddevice 的实时音频可视化播放器设计
python·算法·音视频
福大大架构师每日一题36 分钟前
ComfyUI v0.34.0发布:视频、音频、三维、显存与合作节点全面更新
音视频
IT毕设实战小研40 分钟前
基于大数据的国内主要农作物产量趋势分析与可视化
android·java·大数据·django·课程设计
企业数字化笔记2 小时前
固定资产历史数据怎么导入系统?Excel模板、字段映射和数据校验
android·java·数据库·后端
龙之叶2 小时前
Android出海系列-GMS认证介绍
android
潮族大Z2 小时前
Android性能优化:启动、内存、卡顿的一站式排查手册
android
敲代码的嘎仔3 小时前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
事圆则缓4 小时前
从suspend字节码到 Retrofit 协程桥:挂起函数识别与恢复
android·retrofit
Xxtaoaooo5 小时前
AI 视频生成能不能真正跑通?MoneyPrinterTurbo 本地制作、远程访问与授权验证
人工智能·音视频·cpolar·ai视频·自动化短视频
Bruce_Liuxiaowei5 小时前
录屏片段无损合并:从 ffmpeg concat 原理到 Python 自动化脚本
python·ffmpeg·自动化