音乐合成方法和系统与流程

文档序号:14078016阅读:294来源:国知局
音乐合成方法和系统与流程

本发明涉及数据处理技术领域,特别是涉及一种音乐合成方法和系统。



背景技术:

音乐合成是一种产生并修改正弦波形并叠加,用于通过声音产生器和扬声器播放音乐的方式。

传统的音乐合成采用的是波表合成方法,通过预先将各种真实乐器所能发出的所有声音(包括各个音域、声调)录制下来,存贮为一个波表文件,重播时根据音乐文件记录的乐曲信息,从波表文件中逐一找出对应的声音信息,经声卡上的微处理器或计算机系统的处理器合成,加工后放出来。然而,由于波表文件需要存储的是音频波性文件,需记录一个波形的完整周期,音源库较大,导致耗费的存储容量大。



技术实现要素:

基于此,有必要针对上述问题,提供一种降低存储容量的音乐合成方法和系统。

一种音乐合成方法,包括:

获取待合成声音信息;

根据所述待合成声音信息获取对应的线性预测系数;

根据所述线性预测系数获取所述待合成声音信息的线性预测滤波器;

接收乐曲输入信息,根据所述乐曲输入信息获取待合成乐曲信息;

根据所述待合成乐曲信息与所述线性预测滤波器进行编码合成得到合成音乐。

一种音乐合成系统,包括:

第一信息获取模块,用于获取待合成声音信息;

系数获取模块,用于根据所述待合成声音信息获取对应的线性预测系数;

滤波器生成模块,用于根据所述线性预测系数获取所述待合成声音信息的线性预测滤波器;

第二信息获取模块,用于接收乐曲输入信息,根据所述乐曲输入信息获取待合成乐曲信息;

信息合成模块,用于根据所述待合成乐曲信息与所述线性预测滤波器进行编码合成得到合成音乐。

上述音乐合成方法和系统,通过获取的待合成声音信息对应的线性预测系数,根据线性预测系数获取待合成声音信息的线性预测滤波器,同时,根据乐曲输入信息获取待合成乐曲信息,最后根据待合成乐曲信息与线性预测滤波器进行编码合成得到合成音乐。如此,对于待合成声音信息,只需要获取对应的线性预测系数以获取对应的线性预测滤波器作为发声模型,相比于传统的采用波表文件,不需要存储音频波性文件即可有效地使待合成声音信息与待合成乐曲信息合成,可有效地降低存储容量,同时提高音乐合成效率。

附图说明

图1为一实施例中音乐合成方法的流程图;

图2为一实施例中根据待合成声音信息获取对应的线性预测系数的流程图;

图3为另一实施例中音乐合成方法的流程图;

图4为一实施例中音乐合成系统的结构图;

图5为一应用例中音乐合成器与系数仓库的连接示意图。

具体实施方式

线性预测编码是主要用于音频信号处理与语音处理中根据线性预测模型的信息用压缩形式表示数字语音信号谱包络的工具。本发明提供一种基于线性预测编码的音乐合成方法和系统。

参考图1,一实施例中的音乐合成方法,包括如下步骤。

s110:获取待合成声音信息。

待合成声音信息指需要被合成音乐的信息,包括语音信息、文字信息等。获取待合成声音信息可以是预先存储,也可以是通过麦克风采集声音得到,还可以是通过获取输入的文字信息得到。

s130:根据待合成声音信息获取对应的线性预测系数。

线性预测系数指线性预测模型的系数。待合成声音信息对应的线性预测系数可以通过根据线性预测模型对待合成声音信息对应的波形信号进行线性预测分析得到。例如,若获取的待合成声音信号为语音信息,则根据语音信息对应的波形进行线性预测分析得到对应的线性预测系数;若获取的待合成声音信号为文字信息,则识别文字信息获取对应的波形,对获取的波形进行线性预测分析得到对应的线性预测系数。线性预测系数可以是预先获取后存储,此时步骤s130直接从存储的线性预测系数中查找;步骤s130也可以是实时对合成声音信息进行线性预测分析得到线性预测参数。

s150:根据线性预测系数获取待合成声音信息的线性预测滤波器。

线性预测滤波器是对人体声道的共振腔的一个逼近,运算思想是使得残留误差信号最小的计算推导,用于作为模拟发声的发声模型。获取待合成声音信息的线性预测滤波器,即可得到待合成声音信息的发声模型;一种待合成声音信息可以对应多个线性预测滤波器。步骤s150可以是根据线性预测系数和预设函数模型生成对应待合成声音信息的线性预测滤波器。

s170:接收乐曲输入信息,根据乐曲输入信息获取待合成乐曲信息。

待合成乐曲信息指需要与待合成声音信息一起被合成得到音乐的乐曲信息。根据乐曲输入信息获取的待合成乐曲信息,可以是预先存储的,也可以是实时生成的。

s190:根据待合成乐曲信息与线性预测滤波器进行编码合成得到合成音乐。

待合成乐曲信息对应发声的曲调,线性预测滤波器对应待合成声音信息的发声内容,通过将待合成乐曲信息与线性滤波器进行编码合成,得到的合成音乐为将待合成声音信息按照待合成乐曲信息对应的曲调进行发声的音乐。例如,通过麦克风采集用户说出的话“你好”,得到的待合成声音信息为对应“你好”的波形;根据通过步骤s110至步骤s190,得到合成音乐为带有曲调的“你好”。

将待合成乐曲信息与线性预测滤波器进行编码合成,可以是按照预设切换规则将多个线性预测滤波器与待合成乐曲信息进行对应合成;预设切换规则包括小节切换、音符切换、节拍切换。例如,线性预测滤波器包括1号、2号、3号、4号,预设切换规则为节拍切换,则1号线性预测滤波器对应待合成乐曲信息的第一个节拍,2号线性预测滤波器对应待合成乐曲信息的第二个节拍,3号线性预测滤波器对应待合成乐曲信息的第三个节拍,4号线性预测滤波器对应待合成乐曲信息的第四个节拍,以此类推。

上述音乐合成方法,通过获取的待合成声音信息对应的线性预测系数,根据线性预测系数获取待合成声音信息的线性预测滤波器,同时,根据乐曲输入信息获取待合成乐曲信息,最后根据待合成乐曲信息与线性预测滤波器进行编码合成得到合成音乐。如此,对于待合成声音信息,只需要获取对应的线性预测系数以获取对应的线性预测滤波器作为发声模型,相比于传统的采用波表文件,不需要存储音频波性文件即可有效地使待合成声音信息与待合成乐曲信息合成,可有效地降低存储容量,同时提高音乐合成效率。

在一实施例中,步骤s130包括:从预设数据库中查找对应待合成声音信息的线性预测系数。

本实施例中,由预设数据库预先存储多种线性预测系数,当获取到待合成声音信息时,只需要从预设数据库中查找对应的线性预测系数即可。预设数据库只需要存储线性预测系数,不需要存储音频波性文件,存储容量小。

对应地,步骤s130之前还包括:获取多个预设信息对应的线性预测系数并存储于预设数据库。其中,预设信息可以是汉字对应的波形信号,也可以是字母对应的波形信号,例如,预先对26个字母的发声对应的波形信号进行线性预测分析得到26个字母对应的线性预测系数并存储。步骤s130具体为:识别待合成声音信息并获取与待合成声音信息对应的预设信息,查找获取的预设信息对应的线性预测系数得到待合成声音信息的线性预测系数。

在另一实施例中,参考图2,待合成声音信息为通过麦克风采集的语音波形信号。对应地,步骤s130包括步骤s131至步骤s134。

s131:对语音波形信号进行包络提取,按照提取的包络将语音波形信号分割为多个分段波。

通过进行包络提取,把人的正常说话速度,即一个信号的持续时间,作为一个预知参考值,从而从能量上对语音波形信号进行分割。

在一实施例中,步骤s131之前还包括:对语音波形信号进行去直流处理。步骤s131对去直流后的语音波形信号进行包络提取。具体地,可采用2阶iir滤波器对语音波形信号进行去直流处理。

s132:获取各分段波的时间长度,将时间长度满足预设范围的分段波作为初选波形,并提取时间长度超出预设范围的分段波。

分段波为时间上连续的信号,每一个分段波对应一个时间长度。预设范围为预设最小时长和预设最大时长构成的时间阈值范围;时长长度满足预设范围,表示时间长度大于或等于预设最小时长且小于或等于预设最大时长,此时将对应的分段波作为初选波形,每一个初选波形对应为一个发音单元,例如对应一个汉字;时间长度超出预设范围,表示时间长度小于预设最小时长或大于预设最大时长,此时提取对应的分段波。

s133:对提取的分段波进行频谱分析,对提取的分段波进行分割得到再选波形。

提取的分段波为没有从能量包络上分割的分段波。通过对提取的分段波进行频谱分析,将提取的分段波分为小块,得到多个再选波形。每一个再选波形对应一个发音单元,例如对应一个汉字。

s134:分别获取初选波形的线性预测系数和再选波形的线性预测系数。

初选波形和再选波形的线性预测系数可以是通过分别对初选波形和再选波形进行线性预测分析得到。一个初选波形或再选波形可以对应一个或多个线性预测系数,从而可对应一个或多个线性预测滤波器。

步骤s131至步骤s134通过对语音波形信从能量上进行分割得到初选波形,能量上无法分割的再从频率上分析后分割得到再选波形,获取初选波形的线性预测系数和再选波形的线性预测系数。如此,可将语音波形信号分别多个部分,每一个部分可得到对应的线性预测滤波器作为发声模型,可提高模拟发声的准确度。

在一实施例中,继续参考图2,步骤s133包括步骤s1331至步骤s1333。

s1331:按照预设帧长对提取的分段波进行分帧得到多个帧单元,对各帧单元进行频谱分析得到各帧单元的频谱数据。

预设帧长可根据实际需要具体设置。通过对提取的分段波进行分帧,可将提取的分段波分别多个帧单元,便于分小块对分段波进行频谱分析。

s1332:根据频谱数据获取相邻帧单元之间的相关度值,将各相关度值组合得到相关度序列。

相邻帧单元指从时间上连续的相邻两个帧单元。根据频谱数据获取相邻帧单元之间的相关度值,可以是对相邻两帧单元的频谱数据进行互相关计算,将互相关计算得到的值作为相关度值。将多个相邻帧单元的对应的相关度值作为元素,可得到相关度序列。

s1333:从相关度序列中选取最小的相关度值,将选取的相关度值对应的相邻帧单元位于对应分段波中的相邻位置作为分割位置,对提取的分段波进行分割得到再选波形。

相关度值越小,表示对应的两个帧单元之间的相关性越小。选取相关度序列中最小的相关度值,从而查找到对应分段波中相关性最小的相邻帧单元。相邻位置为相邻帧单元之间的相接点的位置。通过以相关度值最小的相邻真单元对应的相邻位置为分割位置,可从频率上分析后将提取的分段波进行再分割得到再选波形,准确性高。

在一实施例中,请继续参考图2,步骤s134包括步骤s1341至步骤s1344。

s1341:分别对初选波形和再选波形进行分帧,得到初选波形的初选帧和再选波形的再选帧。

初选帧为对初选波形进行分帧之后得到的帧,再选帧为对再选波形进行分帧后得到的帧。初选帧和再选帧的数量为多个。

s1342:对各初选帧和各再选帧进行自相关计算得到自相关值。

s1343:将同一初选波形的多个初选帧的自相关值组合得到初选波形的自相关序列,将同一再选波形的多个再选帧的自相关值组合得到再选波形的自相关序列。

每一个初选波形对应一个自相关序列,每一个再选波形对应一个自相关序列。

s1344:根据初选波形的自相关序列获取初选波形的线性预测系数,根据再选波形的自相关序列获取再选波形的线性预测系数。

根据自相关序列获取对应的线性预测系数,具体可以采用levinson-durbin算法进行求解得到。

步骤s1341至步骤s1344通过将初选波形和再选波形进行自相关分析,得到初选波形和再选波形的线性预测系数。

在一实施例中,参考图3,步骤s130之后,步骤s150之前,还包括步骤s141至步骤s143。

s141:将线性预测系数变换为频域值得到共轭极点对。

线性预测系数为时域值,通过转换为频域计算,得到线性预测系数对应的共轭极点对。

s142:在接收到音色调整指令时,根据音色调整指令调整共轭极点对。

音色调整指令用于指示进行音色调整,例如,默认音色为标准音色,当用户需要调整为浑厚音的音色时,可通过触控屏点击“音色调整为浑厚音”,即触发音色调整指令。此时,根据音色调整指令调整共轭极点对。

s143:将调整后的共轭极点反变换为时域值得到调整后的线性预测系数。

共轭极点对调整完成后,通过反变换得到调整后的共轭极点对所对应的线性预测系数,以便用于后续处理。

本实施例中,步骤s150为:根据调整后的线性预测系数获取待合成声音信息的线性预测滤波器。

通过接收音色调整指令,根据音色调整指令调整线性预测系数对应的共轭极点对,从而实现对线性预测系数的调整。如此,可提供音色调整的功能,提高音乐合成方法的功能多样性。

在一实施例中,乐曲输入信息为midi文件。本实施例中,步骤s170包括:解析midi(musicalinstrumentdigitalinterface电子乐器数字接口)文件,得到待合成乐曲信息。

midi用于音乐合成器、乐器和计算机之间交换音乐信息的一种标准协议。midi文件记录对乐曲的描述信息,没有记录声音本身,比如“使用某种乐器,什么音符被弹奏了,什么音符按键被松开了”。解析midi文件,可以得到待合成乐曲信息。例如,从midi中解析得到需要发c5这个音3s(秒),然后发c4这个音2s。现在需要发声的这个字是“你”跟“好”,可控制“你”采用c5进行发声,持续时间为3s,再控制“好”采用c4进行发声,持续时间为2s。

本实施例中,待合成乐曲信息由midi文件解析得到,对应地,音乐合成方法为将待合成声音信息合成为midi文件对应曲调的音乐。

在另一实施例中,乐曲输入信息为按键操作信号。本实施例中,步骤s170包括步骤(a1)至步骤(a3)。

步骤(a1):获取初始激励信号。

初始激励信号可根据实际情况设置,本实施例中,初始激励信号为白噪叠加脉冲信号。

步骤(a2):在接收到按键操作信号时,根据按键操作信号获取对应的激励周期和激励幅度。

按键操作信号为操作按键时产生的信号,不同按键对应的按键操作信号不同,可通过识别按键操作信号得到对应的按键。根据按键操作信号获取对应的激励周期和激励幅度,具体可以是根据按键操作信号识别操作不同按键的切换频率和按键的力度,并根据切换频率生成对应的激励周期,根据按键的力度生成对应的激励幅度。

步骤(a3):根据激励周期和激励幅度调整初始激励信号得到待合成乐曲信息。

根据激励周期和激励幅度调整初始激励信号,具体是将初始激励信号的周期调整为激励周期,将初始激励信号的幅度调整为激励幅度。激励周围和激励幅度可以根据实时的按键操作对应生成,则实时对初始激励信号进行调整,将调整后的激励信号作为待合成乐曲信息。

本实施例中,可根据按键操作信号生成待合成乐曲信息,因此,可支持用户实时按键操作得到待合成乐曲信息,使用便利。

参考图4,一实施例中的音乐合成系统,包括第一信息获取模块110、系数获取模块130、滤波器生成模块150、第二信息获取模块170和信息合成模块190。

第一信息获取模块110用于获取待合成声音信息。

系数获取模块130用于根据待合成声音信息获取对应的线性预测系数。

滤波器生成模块150用于根据线性预测系数获取待合成声音信息的线性预测滤波器。

第二信息获取模块170用于接收乐曲输入信息,根据乐曲输入信息获取待合成乐曲信息。

信息合成模块190用于根据待合成乐曲信息与线性预测滤波器进行编码合成得到合成音乐。

上述音乐合成系统,通过第一信息获取模块110获取待合成声音信息,系数获取模块130获取待合成声音信息对应的线性预测系数,滤波器生成模块150根据线性预测系数获取待合成声音信息的线性预测滤波器;同时,第二信息获取模块170根据乐曲输入信息获取待合成乐曲信息,最后信息合成模块190根据待合成乐曲信息与线性预测滤波器进行编码合成得到合成音乐。如此,对于待合成声音信息,只需要获取对应的线性预测系数以获取对应的线性预测滤波器作为发声模型,相比于传统的采用波表文件,不需要存储音频波性文件即可有效地使待合成声音信息与待合成乐曲信息合成,可有效地降低存储容量,同时提高音乐合成效率。

在一实施例中,系数获取模块130用于从预设数据库中查找对应待合成声音信息的线性预测系数。本实施例中,由预设数据库预先存储多种线性预测系数,当获取到待合成声音信息时,只需要从预设数据库中查找对应的线性预测系数即可。预设数据库只需要存储线性预测系数,不需要存储音频波性文件,存储容量小。

在一实施例中,待合成声音信息为通过麦克风采集的语音波形信号。系数获取模块130包括包络分割单元(图未示)、初选波形获取单元(图未示)、再选波形获取单元(图未示)和系数提取单元(图未示)。

包络分割单元用于对语音波形信号进行包络提取,按照提取的包络将语音波形信号分割为多个分段波。初选波形获取单元用于获取各分段波的时间长度,将时间长度满足预设范围的分段波作为初选波形,并提取时间长度超出预设范围的分段波。再选波形获取单元用于对提取的分段波进行频谱分析,对提取的分段波进行分割得到再选波形。系数提取单元用于分别获取初选波形的线性预测系数和再选波形的线性预测系数。

通过对语音波形信从能量上进行分割得到初选波形,能量上无法分割的再从频率上分析后分割得到再选波形,获取初选波形的线性预测系数和再选波形的线性预测系数。如此,可将语音波形信号分别多个部分,每一个部分可得到对应的线性预测滤波器作为发声模型,可提高模拟发声的准确度。

在一实施例中,再选波形获取单元具体用于:按照预设帧长对提取的分段波进行分帧得到多个帧单元,对各帧单元进行频谱分析得到各帧单元的频谱数据;根据频谱数据获取相邻帧单元之间的相关度值,将各相关度值组合得到相关度序列;从相关度序列中选取最小的相关度值,将选取的相关度值对应的相邻帧单元位于对应分段波中的相邻位置作为分割位置,对提取的分段波进行分割得到再选波形。

通过以相关度值最小的相邻真单元对应的相邻位置为分割位置,可从频率上分析后将提取的分段波进行再分割得到再选波形,准确性高。

在一实施例中,系数提取单元具体用于分别对初选波形和再选波形进行分帧,得到初选波形的初选帧和再选波形的再选帧;对各初选帧和各再选帧进行自相关计算得到自相关值;将同一初选波形的多个初选帧的自相关值组合得到初选波形的自相关序列,将同一再选波形的多个再选帧的自相关值组合得到再选波形的自相关序列;根据初选波形的自相关序列获取初选波形的线性预测系数,根据再选波形的自相关序列获取再选波形的线性预测系数。

在一实施例中,上述音乐合成系统还包括音色调整模块(图未示),用于在系数获取模块130获取待合成声音信息对应的线性预测系数后,将线性预测系数变换为频域值得到共轭极点对;在接收到音色调整指令时,根据音色调整指令调整共轭极点对;将调整后的共轭极点反变换为时域值得到调整后的线性预测系数。本实施例中,滤波器生成模块150用于根据调整后的线性预测系数获取待合成声音信息的线性预测滤波器。

通过接收音色调整指令,根据音色调整指令调整线性预测系数对应的共轭极点对,从而实现对线性预测系数的调整。如此,可提供音色调整的功能,提高音乐合成方法的功能多样性。

在一实施例中,乐曲输入信息为midi文件。第二信息获取模块170用于解析midi文件,得到待合成乐曲信息。本实施例中,待合成乐曲信息由midi文件解析得到,对应地,音乐合成方法为将待合成声音信息合成为midi文件对应曲调的音乐。

在一实施例中,乐曲输入信息为按键操作信号。第二信息获取模块170具体用于:获取初始激励信号;在接收到按键操作信号时,根据按键操作信号获取对应的激励周期和激励幅度;根据激励周期和激励幅度调整初始激励信号得到待合成乐曲信息。本实施例中,可根据按键操作信号生成待合成乐曲信息,因此,可支持用户实时按键操作得到待合成乐曲信息,使用便利。

上述音乐合成方法可应用于音乐合成器。参考图5,一应用例中,音乐合成器可根据midi文件解析得到待合成乐曲信息,也可以根据按键操作信号获取待合成乐曲信息。系数仓库为存储线性预测参数的预设数据库,系数仓库中可以存储多个预设信息对应的线性预测系数作为固定存储的值,也可以存储根据采集的语音波形信号分析得到的线性预测系数作为动态存储的值。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1