華為音頻編輯服務,實時分離人聲、伴奏和樂器聲


想獲取一首歌的伴奏卻找不到資源怎么辦?沒關系,我們可以自己解決。音頻編輯服務提供音源分離的功能,幫助開發者在應用中構建人聲與伴奏分離的功能。
目前,音源分離功能已經開放了人聲與伴奏、樂器等多種分離的方式,可以實時解析並將樂器中的人聲和各種樂器元素提取到獨立的音軌上,滿足創作者對伴奏制作、扒帶、音樂創作等多種場景的應用需求。並且,無需專業的音頻處理軟件,只要集成華為音頻編輯服務,就能在移動端輕松完成音頻剪輯,讓創作者更加便捷的感受到聲音的魅力。


Demo演示

下面我們來實操一下如何接入華為音頻編輯服務,實現音源分離效果。

開發實戰

1. 開發准備

詳細准備步驟可參考華為開發者聯盟官網:
https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/config-agc-0000001154009063?ha_source=hms1

2. 編輯工程集成

2.1設置應用的鑒權信息

開發者需要通過api_key或者Access Token來設置應用鑒權信息。

  • (推薦)通過setAccessToken方法設置Access Token,在應用啟動時初始化設置

HAEApplication.getInstance().setAccessToken("your access token");

  • 通過setApiKey方法設置api_key,在應用啟動時初始化設置一次即可,無需多次設置。

HAEApplication.getInstance().setApiKey("your ApiKey");

2.2初始化環境

初始化音頻編輯管理類、創建時間線以及需要的泳道。

// 創建音頻編輯管理類
HuaweiAudioEditor mEditor = HuaweiAudioEditor.create(mContext);
// 初始化Editor的運行環境
mEditor.initEnvironment();
// 創建時間線
HAETimeLine mTimeLine = mEditor.getTimeLine();
// 創建泳道
HAEAudioLane audioLane = mTimeLine.appendAudioLane();
導入音樂。
// 泳道末尾添加音頻資源
HAEAudioAsset audioAsset = audioLane.appendAudioAsset("/sdcard/download/test.mp3", mTimeLine.getCurrentTime());

3. 音源分離功能集成

調用getInstruments和startSeparationTasks接口進行音源分離。
// 音源分離
// SeparationCloudCallBack:獲取類型的回調
HAEAudioSeparationFile haeAudioSeparationFile = new HAEAudioSeparationFile();
haeAudioSeparationFile.getInstruments(new SeparationCloudCallBack<List<SeparationBean>>() {
    @Override
    public void onFinish(List<SeparationBean> response) {
        // 返回的數據
    }
    @Override
    public void onError(int errorCode) {
        // 失敗返回
    }
});
// 設置要提取的伴奏參數
haeAudioSeparationFile.setInstruments(伴奏id集合);
// 開始分離
haeAudioSeparationFile.startSeparationTasks(inAudioPath, outAudioDir, outAudioName, new AudioSeparationCallBack() {
    @Override
    public void onResult(SeparationBean separationBean) { }
    @Override
    public void onFinish(List<SeparationBean> separationBeans) {}
    @Override
    public void onFail(int errorCode) {}
    @Override
    public void onCancel() {}
});
// 取消分離任務
haeAudioSeparationFile.cancel();

除了音源分離功能,華為音頻編輯服務還為開發者提供了一站式音頻編輯服務,涵蓋了音頻/音樂處理所需的幾十項專業能力,開發者只需要通過簡單的集成方式即可讓應用獲取強大的音頻處理能力,可極大幫助客戶提升音頻/音樂方面的處理效率。

更多華為音頻編輯服務詳情,請參考:
服務官網:https://developer.huawei.com/consumer/cn/hms/huawei-audio-editor/?ha_source=hms1
獲取指導文檔:https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/client-dev-0000001107465102?ha_source=hms1

了解更多詳情>>

訪問華為開發者聯盟官網
獲取開發指導文檔
華為移動服務開源倉庫地址:GitHubGitee

關注我們,第一時間了解 HMS Core 最新技術資訊~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM