自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

音頻社交的變聲,應(yīng)用了哪些算法?

企業(yè)動態(tài) 算法
2021開年以來,音頻社交市場伴隨著Clubhouse的爆火再獲資本的關(guān)注,國內(nèi)相關(guān)產(chǎn)品荔枝、映客都迎來了股價的大幅上漲,預(yù)計未來音頻化在社交領(lǐng)域還會有長期且廣泛的需求。

   在移動互聯(lián)網(wǎng)技術(shù)加持下,音頻社交不僅可以滿足多場景下的社交需求,體驗也迎來了革新,尤其是AI+5G技術(shù),對音頻社交的驅(qū)動將更為明顯。很多社交產(chǎn)品會基于音頻技術(shù)增加變聲、美聲、立體聲、混響和場景化音效等,來豐富用戶的聽感體驗。本篇拍樂云Pano的技術(shù)分享就來講講音頻社交場景中的變聲是應(yīng)用了哪些算法來實現(xiàn)的。

[[383171]]

  01 變聲是如何實現(xiàn)的?

  當(dāng)我們?nèi)粘S^看視頻時,有時會使用倍速播放。在加快播放速度時,我們會感覺視頻中的男聲聽起來有點像“女聲”;在放慢播放速度時,我們能聽到類似于《瘋狂動物城》中那個說話慢吞吞的“樹懶聲”。這些其實就是簡單的變聲。

  從技術(shù)的角度并不難理解,如果我們用16k的采樣率去采集一個100Hz的正弦波,而用32k或者8k的采樣率去播放的話,那么這個正弦波的頻率就會提升一倍(200Hz)或者降低一倍(50Hz)。這樣將音頻的頻率升高或者降低的方法很簡單,提升一倍就是每隔一個丟棄一個樣本,放慢一倍就是進(jìn)行一個線性插值。用專業(yè)的術(shù)語來說,這是一個重采樣的過程。按照重采樣方法是可以實現(xiàn)一個變調(diào)的,但同時也很容易發(fā)現(xiàn),音頻的時間變長或者變短了,和我們原始輸入的音頻長度不一致了,這在實時通信中是不能接受的。在實時通信中,我們要的是一個變調(diào)不變速的變聲功能,單一的重采樣方法是做不到的。當(dāng)然除了重采樣,我們還有其他的一些變聲方法能夠?qū)崿F(xiàn)變調(diào)不變速的需求。

  02 變聲有哪些常見的算法?

  常見的變調(diào)算法有時域、頻域和參量法。時域較易實現(xiàn),多采用變速不變調(diào)+重采樣實現(xiàn)變調(diào)不變速等。頻域以及參量法就相對復(fù)雜,并且計算量相比于時域大了很多。本次主要簡單介紹一些常見的時域和頻域算法。

  在時域內(nèi)主要是OLA(Overlap-Add)類算法:OLA,同步波形疊加法(Synchronized Overlap-Add, SOLA)、固定同步波形疊加法(Synchronized Overlap-Add and Fixed Synthesis, SOLAFS)、時域基音同步疊加法(Time-Domain Pitch Synchronized Overlap-Add, TD-PSOLA) 波形相似疊加法(waveform similarity overlap-and-add, WSOLA)等,頻域內(nèi)主要是基音同步波形疊加算法(Pitch-Synchronized OLA, PSOLA)等。

  1)OLA

  OLA是最簡單粗暴的一種TSM方式。對原始語音進(jìn)行分幀后,間隔一段采樣點,重復(fù)或者丟棄其中某些語音幀來重新建立語音。這樣就實現(xiàn)簡單的變音效果。原理如下圖所示:

  


 

 

  a.分幀,對時域音頻進(jìn)行分幀處理;

  b.在輸入信號X上加上一個漢寧窗;

  c.在第一幀后間隔固定點數(shù)Ha取出第二幀;

  d.把第二幀語音加窗后與第一幀overlap-add。

  如此操作到語音結(jié)束就能重建一個新的變調(diào)語音。但是這算法存在一定的局限性,無法保證語音是連續(xù)的,可能會出現(xiàn)基音斷裂的情況。這樣的語音聽起來會有咔吧聲,造成了語音的失真。

  2)波形相似疊加法(waveform similarity overlap-and-add, WSOLA)

  了解了簡單粗暴的OLA算法后,我們可以清晰的知道OLA算法的局限和缺陷。當(dāng)然也知道造成這種缺陷的原因是什么:相位不連續(xù)導(dǎo)致的。為了減小基音斷裂和相位不連續(xù)問題,Verhelst和Roelands提出了波形相似疊加法(WSOLA)。目前開源代碼soundtouch使用的就是該算法。其原理如下圖:  

 


 

 

  a.在原始音頻中取出第一幀,讓后對該幀進(jìn)行加窗,輸出到y(tǒng)信號上;

  b+c. 在虛線藍(lán)色范圍內(nèi)找到第二幀,第二幀相位參數(shù)應(yīng)該和第一個幀相位對齊,在藍(lán)色范圍內(nèi)尋找與第二幀最相似的幀作為輸出幀,作為y信號的第二幀;

  d. 最為相似的幀與第一幀overlap-add到y(tǒng)信號上

  重點在b.c兩步操作中,如何尋找最相似的幀。很多論文中給出了一種最直接的方法,計算“自相關(guān)”。雖然WSOLA能夠解決基音斷裂和相位不連續(xù)問題,但是它會影響音色,將WSOLA應(yīng)用于打擊樂樂器的音頻時,這種現(xiàn)象將會更加的明顯。

  3)基音同步波形疊加算法(Pitch-Synchronized OLA, PSOLA)

  PSOLA的算法原理與WSOLA有所不同,PSOLA在頻域處理的,它能進(jìn)一步達(dá)到基音同步的目的。在該算法中,變速和變調(diào)是兩個獨立的過程,由不同的參數(shù)控制。先對基音進(jìn)行檢測,標(biāo)記基音周期。通過標(biāo)記的基音周期將語音劃分為多個合成單元。通過重復(fù)或者丟失合成單元來實現(xiàn)語速的控制。通過改變相鄰合成單元的重疊長度或者重采樣結(jié)合變速來改變語音的基頻。

  PSOLA是對基頻進(jìn)行修改的,因此很好的保護(hù)了共振峰,不會對音色有太大的影響。不過該算法在頻域中進(jìn)行處理的,計算量大,很難滿足實時的變速與變調(diào)處理。

  03 結(jié)束語

  以上是拍樂云Pano簡單介紹的三種常見的變聲算法,這三種算法可以粗略實現(xiàn)大叔音、蘿莉音以及怪獸聲等。但是想要做到變聲后的聲音聽起來更加真實自然,就需要進(jìn)一步的優(yōu)化調(diào)試了。除了這些算法外,還有其他的變聲音效,比如常見的“驚悚聲”,運用了vibrato或者tremolo算法,還有“山谷空靈音”運用了echo算法等等,這些算法都是基于傳統(tǒng)的信號處理實現(xiàn)的。在傳統(tǒng)的信號處理變聲方法外,還有更高級的變聲算法:AI變聲。AI變聲相比于傳統(tǒng)的信號處理方法,會讓變聲后的聲音更加真實自然。

注:文中圖片來源于《A Review of Time-Scale Modification of Music Signals》論文

 

責(zé)任編輯:張誠 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2021-04-25 11:16:06

安全音頻社交媒體應(yīng)用程序

2024-05-30 07:37:30

2011-03-09 10:44:48

MySQLPythonPHP

2024-08-12 09:41:18

2024-04-17 08:54:08

高并發(fā)技術(shù)ES

2023-06-26 07:19:03

視頻推薦算法經(jīng)典算法

2018-06-28 09:06:27

DNS技術(shù)CDN

2013-02-01 15:59:41

社交媒體

2011-09-19 16:14:33

Glmps社交應(yīng)用

2022-06-27 14:53:18

監(jiān)督學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2012-12-25 11:44:10

移動社交應(yīng)用微博LBS

2022-08-18 14:37:39

人工智能社交媒體數(shù)字化

2019-03-11 19:25:54

社交網(wǎng)絡(luò)大數(shù)據(jù)價值

2016-11-28 09:09:43

部署閉環(huán)Java應(yīng)用

2010-07-19 10:16:24

ibmdwWeb2.0

2018-07-04 09:59:23

Android評論回復(fù)

2022-08-01 00:01:36

網(wǎng)絡(luò)安全信息安全隱私

2015-03-19 09:51:37

Swift輸入文本

2020-07-02 07:45:46

運營商2G3G

2015-03-27 09:58:51

SwiftcodeSwift開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號