当前位置: 首页 > 科技观察

音频社交变声用什么算法?

时间:2023-03-20 12:10:35 科技观察

在移动互联网技术的加持下,音频社交不仅可以满足多场景的社交需求,更会迎来体验上的创新,尤其是AI+5G技术,对音频社交的带动将更加明显。很多社交产品会在音频技术的基础上加入变声、美声、立体声、混响、场景音效,丰富用户的听觉体验。在这次派乐云Pano的技术分享中,我们就来聊一聊在音频社交场景中使用了哪些算法来实现变声。  01变声是如何实现的?  我们每天看视频的时候,有时会以倍速播放。当播放速度加快时,我们会觉得视频中的男声听起来有点像“女声”;当放慢播放速度时,我们可以听到类似于《疯狂动物城》中慢吞吞的“树懒声音”。这些实际上是简单的语音变化。  从技术的角度来说不难理解。如果我们用16k的采样率采集一个100Hz的正弦波,用32k或8k的采样率播放,那么正弦波的频率就会翻倍(200Hz)或翻倍(50Hz)。这样,提高或降低音频频率的方法就很简单了。加倍是每隔一个样本丢弃,加倍减慢是进行线性插值。用技术术语来说,这是一个重采样过程。按照重采样的方式,可以实现一个音调的偏移,但是同时很容易发现音频时间变长或者变短,和我们原来输入的音频长度不一致,这在实时上是不能接受的沟通。在实时通信中,我们想要的是一种变音的功能,可以在不改变语速的情况下改变音调,这是单一的重采样方法无法实现的。当然,除了重采样之外,我们还有一些其他的变声方法可以满足变音不变速的需要。  02变声的常用算法有哪些?  常见的变调算法有时域法、频域法和参数法。时域更容易实现,常采用变速恒速+重采样来实现变速恒速。频域和参数化方法相对复杂,计算量远大于时域。本次,我们简单介绍一些常见的时域和频域算法。  时域上主要有OLA(Overlap-Add)算法:OLA、SynchronizedOverlap-Add(SOLA)、SynchronizedOverlap-Add和FixedSynthesis(SOLAFS),时间Time-DomainPitchSynchronizedOverlap-Add(TD-PSOLA),WaveformSimilarityOverlap-and-Add(WSOLA)等在频域上,音高同步波形重叠算法(Pitch-SynchronizedOLA,PSOLA)等  1)OLA  OLA是最简单粗暴的TSM方法。对原始语音进行分帧后,以采样点为间隔重复或丢弃部分语音帧,重新建立语音。这样就实现了简单的变声效果。原理如下图所示:    a。分帧,将时域音频处理成帧;  b。对输入信号X加汉宁窗;  c。在第一帧之后,每隔一定时间取出第二帧Ha;  这样操作到语音结束,就可以重新构建一个新的变调语音。但是这个算法有一定的局限性,不能保证语音是连续的,可能会断音。这样的声音听起来像是咔嗒声,会导致声音失真。  2)Waveformsimilarityoverlap-and-add(WSOLA)  了解了简单粗暴的OLA算法后,我们就可以清楚地了解OLA算法的局限性和缺陷。当然,我们也知道造成这种缺陷的原因是什么:相位不连续造成的。为了减少音高中断和相位不连续的问题,Verhelst和Roelands提出了波形相似叠加法(WSOLA)。该算法目前被开源代码soundtouch使用。原则如下:    a。从原始音频中取出第一帧,然后对该帧进行加窗,输出到y信号;  b+c。在蓝色虚线范围内找到第二帧帧,第二帧的相位参数要与第一帧的相位对齐,在蓝色范围内找到与第二帧最相似的帧作为输出帧,作为第二帧y信号的帧;  d。themostsimilarFrame和第一帧overlap-add到ysignal  重点是如何在b.c两步操作中找到最相似的frame。许多论文给出了最直接的计算“自相关”的方法。WSOLA虽然可以解决音高中断和相位不连续的问题,但是会影响音色。当WSOLA应用于打击乐器的音频时,这种现象会更加明显。  3)Pitch-SynchronizedOLA(PSOLA)  PSOLA的算法原理不同于WSOLA。PSOLA在频域进行处理,可以进一步达到音调同步的目的。在该算法中,变速和变调是两个独立的过程,由不同的参数控制。首先检测音高,然后标记音高周期。语音按标记的音高周期分为合成单元。语速控制是通过重复或缺失合成单元来实现的。通过改变相邻合成单元的重叠长度或通过重采样结合变速来改变语音的基频。  PSOLA修改了基频,因此共振峰得到很好的保护,音色不会受到太大影响。但该算法在频域进行处理,计算量大,难以满足实时变速变桨处理。  03结语  以上是派乐云帕诺简单介绍的三种常见的变声算法。这三种算法大致可以实现大叔语音、萝莉语音和怪物语音。但如果想让改语音后的声音听起来更真实自然,还需要进一步优化和调试。除了这些算法之外,还有其他的变声效果,比如常见的“惊悚音效”,使用的是颤音或颤音算法,还有“山谷空灵音效”,使用的是回声算法等。这些算法都是基于传统的信号处理实现。除了传统的信号处理变声方式外,还有更先进的变声算法:AI变声。与传统的信号处理方式相比,AI变声器会让变声后的声音更加真实自然。注:本文图片来自《A Review of Time-Scale Modification of Music Signals》论文