Stories

Detail Return Return

FFmpeg開發筆記(八十)使用百變魔音AiSound實現變聲特效 - Stories Detail

​《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開發實戰:從零基礎到短視頻上線》一書。

user avatar Javaer1995 Avatar stars-one Avatar guoduandemuer Avatar
Favorites 3 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.