270 likes | 537 Views
指導教授 : 陳福坤 學生 : 張育豪 南台科技大學 資訊工程系 2008/11/27. Time Scale Modification (時長調整). Outline. Introduction TSM( Time Scale Modification) OLA( Over-Lap Add ) SOLA( Synchronized Over-Lap Add) WSOLA( Waveform Similarity Over-Lap Add) Conclusion. Introduction.
E N D
指導教授:陳福坤 學生:張育豪 南台科技大學 資訊工程系 2008/11/27 Time Scale Modification(時長調整)
Outline Introduction TSM( Time Scale Modification) OLA( Over-Lap Add ) SOLA( Synchronized Over-Lap Add) WSOLA( Waveform Similarity Over-Lap Add) Conclusion
Introduction • 時長調整(TSM)演算法是希望調整聲音撥放速度時,能夠保有原始語者的音調Pitch 。 • 在時長調整演算法的發展過程中,第一次使用是在類比訊號的錄音帶上。 • 快速播放:聲音的時長縮短,相對聲音的音調也跟著變高。 • 慢速播放:聲音的時長變長,其聲音的音調也跟著變的很低沈。
TSM • TSM( Time Scale Modification)時長調整演算法。 • 當聲音長度被縮短時,有一些片段將會被捨棄掉,而當聲音長度被拉長時,則有些片段將會被重覆使用。 • 這些都會造成音框與音框之間的不連續,所以在此使用一些技術來處理此類的問題。
OLA( Over-Lap Add) Y X • OLA是一個基本的TSM演算法。 • 在OLA中,輸入訊號X被分成許多片段訊號來處理。 • 鄰近的兩個音框將會重疊,重疊的區域作適當的淡出淡入加權處理。
OLA(Cont.) N Sa • 首先將X[n]第一組輸入訊號,傳給Y當作第一個輸出訊號。 • 將輸入訊號X[n]以每Sa距離取長度N的訊號。Sa=N/2~N/3
OLA(Cont.) Sa X Y Y X Ss N • Ss=alpha(時長調整因子)*Sa ,得到相對於合成音框的合成時間位置,疊合於Y的目前Ss位置上。 • 因為會有互相疊合的訊號,所以須做淡出淡入加權處理。
OLA(Cont.) 若訊號重疊的區域長度為 L,則最後將第 k 個新進音框融入之前合成訊號的方式為下:
OLA(Cont.) • OLA是使用最基本的疊加法來作時長調整,其時長調整因子是固定的,如此一來會造成合成出來的訊號部分Pitch失真,使得聲音不自然。
SOLA(SynchronizedOLA) • 為了彌補OLA演算法所造成的Pitch失真問題,而發展出來的SOLA演算法。 • SOLA演算法基本上與OLA類似,唯一不同的地方是合成訊號Y,疊加的位置Ss並不固定在alpha*Sa時間位置上,而是在Ss=alpha*Sa+km。
SOLA(Cont.) • km的搜尋位置是在Y的Ss位置左右,在Ss+Smin<Ss<Ss+Smax內搜尋出最佳的km ,使得重疊部分訊號關聯性最大。
SOLA(Cont.) N Sa Sa N N X[n] Y 1.首先將X[n]第一組輸入訊號,傳給Y當作第一個輸出訊號。 2.將輸入訊號X[n]以每Sa距離取長度N的訊號。
SOLA(Cont.) Sa X Y Ss+km N 3.從分析音框X[n]的Sa時間位置與合成音框Y的Ss+km,範圍為[Smin,Smax],找出最大相關位置。
SOLA(Cont.) 4.將X[n]合成音框移到Y的Ss+km的時間位置。 5.將重疊的區域做淡出淡入的加權處理,再做相加。
SOLA(Cont.) SOLA原時長波形圖 SOLA時長0.5倍波形圖
SOLA(Cont.) SOLA原時長波形圖 SOLA時長兩倍波形圖
SOLA(Cont.) 優點: 將OLA演算法的Pitch失真,降到最低。 缺點: 由於需計算最大交相關位置km ,來決定重疊位置的長度,且每個音框的km位置不同,所需的計算量也不同,因此計算量非常大。
WSOLA(Waveform Similarity OLA) • 為了優化SOLA演算法,隨之發展出WSOLA演算法。 • 在作法上,與SOLA演算法類似,也是使用最大交相關來做運算。 • 與SOLA不同之處是利用輸出訊號Y與輸入訊號X來做交相關來決定出輸入訊號X的位置。
WSOLA(Cont.) Ss X Sover Y S1 O1 if1 1.首先將輸入訊號X取Ss長度複製至Y,當作是輸出訊號。 2.if1是目前合成訊號Y的末端的時間位置,新進音框須疊合於合成音框Y的O1位置上,O1位置的決定是以if1往左Sover=Ss/2的位置上。
Ss Ss X X Sover Sover Y Y S1 O1 if1 S1 O1 if1 WSOLA(Cont.) 3.相對以合成訊號時間位置O1 ,對應於原始聲音訊號時間位置應為S1=1/alpha*O1 。 4.當S1位置決定後,對應到原始訊號S1的位置作上記號並以S1往前或往後Sover長度及為新進音框訊號。
WSOLA(Cont.) Ss X Y S1 O1 if1 5.再對已定的新進音框附近,搜尋出最佳新進音框訊號X[n] ,再與合成訊號Y重疊部分(O1到if1),作淡出淡入加權處理。
WSOLA(Cont.) SOLA原時長波形圖 SOLA時長0.5倍波形圖
WSOLA(Cont.) SOLA原時長波形圖 SOLA時長兩倍波形圖
Conclusion 計算量: OLA<WSOLA<SOLA
研究方向 • 減少其運算量以及保持原語音品質 • 運用在低運算量的裝置上,如:PDA上面。