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