作為國內(nèi)領(lǐng)先的流媒體音樂平臺,QQ音樂在數(shù)字音樂發(fā)展的浪潮中不斷推陳出新,以滿足用戶日益多元化的音頻體驗訴求。論壇上,QQ音樂音頻算法研究員就通過HarmonyOS SDK實(shí)現(xiàn)端側(cè)聲伴分離的方案進(jìn)行了介紹與解讀。
QQ音樂的“伴唱模式”可供用戶自主調(diào)節(jié)人聲與伴奏的占比,但在部分場景下,應(yīng)用的聲伴分離能力無法覆蓋全量曲庫。例如古風(fēng)歌曲的聽眾往往熱衷于“純?nèi)寺暋甭牳?,但由于曲風(fēng)小眾等原因受限,很多歌曲不在其伴唱模式的支持范圍內(nèi)?;诖送袋c(diǎn),QQ音樂與HarmonyOS SDK開展深化合作,利用CANN的端側(cè)NPU自定義算子編程,為端側(cè)音頻處理帶來了全新解決方案。
得益于此能力的開放,QQ音樂基于CANN提供的工具鏈,通過算子原型定義、工程生成、代碼編寫等步驟,快速完成聲伴分離核心算子開發(fā)。CANN開放的端側(cè)NPU自定義算子編程,就像開了一扇門,讓從前只在云端跑的復(fù)雜算法,能“接地氣”地在端側(cè)高效運(yùn)行。其編程語言Ascend C,兼容C/C++標(biāo)準(zhǔn),支持自動并行調(diào)度與結(jié)構(gòu)化核函數(shù)編程,大幅降低了算子的開發(fā)難度。例如,針對聲伴分離中常用的序列建模等操作,利用Ascend C優(yōu)化后,計算效率可顯著提升。
在這個過程中,CANN的作用至關(guān)重要。它不僅提供了高效的計算平臺,還通過優(yōu)化的內(nèi)存管理和任務(wù)調(diào)度,確保了音樂分離過程的流暢性和實(shí)時性 。同時,NPU自定義算子編程的靈活性,使得開發(fā)者能夠根據(jù)不同的音樂分離算法和需求,定制最適合的計算邏輯,從而提高聲伴分離的準(zhǔn)確性和效率。
CANN開放Ascend C NPU自定義算子編程能力,使能QQ音樂聲伴分離功能落地 。不僅為QQ音樂用戶帶來了更加優(yōu)質(zhì)、全面的音頻體驗,也為開發(fā)者提供了全新的技術(shù)路徑。未來,隨著人工智能技術(shù)的不斷進(jìn)步,基于HarmonyOS SDK開放的技術(shù)特性將在更多領(lǐng)域得到應(yīng)用,為用戶帶來更加智能、便捷的應(yīng)用體驗。
了解更多HarmonyOS SDK內(nèi)容,請訪問HarmonyOS SDK官網(wǎng)。