本发明属于歌曲创作方法技术领域,具体的说是涉及一种使用计算机自动创作歌曲的方法。
背景技术:
自动创作歌曲在流程上分为三种技术,即计算机作曲、计算机编曲和计算机演唱。计算机作曲(automated composition)或称算法作曲(algorithmic composition)是试图使用某个形式化的过程,以使普通使用者或作曲家在利用计算机进行音乐创作时的介入程度达到最小的研究。现有技术中传统的自动作曲算法所采用的主要技术有:马尔克夫链、随机过程、分层技术、知识库系统、音乐文法、人工神经网络技术和遗传算法,均为使用机器学习算法对音乐旋律进行模拟。由于音乐是难以量化的艺术品,因此采用机器学学习算法模拟有着很大的不便,即无法准确地评估模型的训练结果,因为乐曲的好听程度是非常难以量化的,是一种人类独有的感性认识,不同人的评估亦有偏差。因此采用传统机器学习的方法制作出的乐曲难以符合人们的审美,从而丧失了艺术性。
计算机编曲技术属于音乐专业性非常强的课题,由于算法开发对音乐知识的要求很高,目前在计算机领域还没有成熟的技术实现方案。同时由于算法技术对计算机知识的要求同样严苛,在音乐创作领域中也没有自动编曲的解决方案,所以我们的计算机编曲方法在此领域是一种新的尝试与创新。计算机演唱技术即声音合成技术,具体是指按照指定的乐谱,使用预先设置的音源文件,通过音频调频调幅操作构造出指定音高与时长的声音,目前行业内比较通用的解决方案是频谱建模。
技术实现要素:
本发明为了克服现有技术存在的不足,提供一种能够几秒钟就把文字转换成音乐的使用计算机自动创作歌曲的方法。
本发明是通过以下技术方案实现的:一种使用计算机自动创作歌曲的方法,具体包括计算机作曲、计算机编曲和计算机演唱三个步骤,本发明通过计算机编曲软件实现;其中计算机作曲主要以音乐理论中的和弦走向理论为基本框架,并结合机器学习算法进行参数计算;计算机编曲是根据主旋律的MIDI文件与指定的和弦进行方式,根据常用音色的乐器进行音轨添加;计算机演唱即音乐合成,就是将主旋律与伴奏合成最终歌曲的步骤;
使用计算机自动创作歌曲的具体流程是:1)计算机作曲:首先用户输入任意行歌词,每行歌词间以分隔符分隔,算法运行作曲模块生成旋律MIDI乐谱文件;2)计算机编曲:运行编曲模块为对应的MIDI乐谱文件添加伴奏音轨,并将伴奏文件使用音源库渲染成为高品质的WAVE音频伴奏文件;然后通过音乐合成算法将MIDI乐谱文件与指定人声音源文件进行合成,生成主旋律;3)计算机演唱:最后将主旋律与WAVE音频伴奏文件进行合成,最终合成为一种完整的歌曲WAVE音频文件。
在计算机作曲步骤中:首先需要进行算法数据的准备(在之后的运行中不需要重复):收集各类调式的流行歌曲若干首,并分析每首歌曲的和弦进行方式(例如1645),找出旋律中的和弦音组合(比如C大调中的135),并使用人工的方式对每首歌进行好听程度打分;使用监督学习算法,以每首歌的和弦音组合情况为输入,以每首歌的好听程度为监督信号,最终计算出每种调式中的多种最佳和弦音组合序列;以上步骤为算法的前期数据准备,随着训练歌曲的数量增加算法的作曲优美程度不断提升。
计算机作曲算法的具体计算逻辑为:用户输入歌词,算法分析歌词句数与每句字数,并将其作为输入传入作曲算法,作曲算法根据每句不同字数随机进行最佳和弦音组合匹配,再在每个和弦音周围加入该和弦音临近的随机音符,从而为每句歌词生成独有的旋律,将所有乐句的旋律组合在一起,并使用MIDI格式表示,即产出了该曲主旋律的MIDI文件。
计算机编曲根据编曲四大件钢琴、吉他、贝司和鼓的不同音色的特点,采用不同的添加方式,例如吉他与贝司,需要针对和弦进行方式进行和弦编配,鼓需要根据MIDI文件的节奏进行自动和弦编配。以吉他音轨添加为例进行说明,具体操作方法为:通过将MIDI文件解析成乐谱格式,获得主旋律的节奏与音高信息,分析主旋律每个小节所对应的和弦走向,然后以钢琴、吉他、贝司或鼓为音色在每小节每一拍对应的位置添加和声音节(例如domiso)。全部添加完成后即得到了一轨钢琴、吉他、贝司或鼓的伴奏。根据风格选择不同,算法为不同风格的歌曲搭配不同的配器组合,例如流行风格,添加大钢琴、电吉他、大贝司、鼓等音轨,根据以上方法为每个音轨添加音符,完成后即得到完整的伴奏音符信息,将此音符信息以MIDI格式导出,最终通过软音源渲染为高质量音频文件,即保存为WAVE格式文件。
计算机演唱即音乐合成的具体流程为:首先取得作曲模块的输出MIDI文件,解析文件得到指定乐谱音符信息;然后程序读取预先录制完成的人声音源文件,按照乐谱,利用SMS(Spectral Modelling Synthesis)算法等进行音频构造,构造出按照乐谱指定的音高与时间的音乐;最终将音乐作为歌曲的主旋律与伴奏WAVE文件进行混音操作,从而得到最终的多音轨歌曲文件。
本发明的有益效果是:本发明结合现有技术中相关文献的原理,开发出一种电子乐谱MIDI形式的旋律与伴奏音轨接口,能够创作出更加便于合成指定旋律与伴奏的音乐。本发明中使用计算机自动创作歌曲的方法是计算机音乐领域中的一个极大创新,由于有了本发明的歌曲创作方法,标志着普通大众也可以参与到音乐创作中来了,通过计算机自动创作歌曲,普通人可以在几秒钟内把自己的文字,转换成具有旋律、具有订制伴奏并能够被唱出来的歌曲,真正实现了几秒钟把文字转换成音乐。
本发明还可以按照自身的感受调整各种参数来创造出不同风格的音乐,本发明算法的随机性保证了基本不可能创造出两首完全相同的音乐,每一首歌曲的生成过程都是独一无二的。由于人民大众的数量千万倍于专业音乐人,所以使用本发明的方法便可以创造出不可想象数量的歌曲,我们甚至艺术其实是一种大量随机中的规律发现过程,因此使用本发明的歌曲创造方法,从大量的音乐作品中极有可能发掘出新的音乐艺术形态。
附图说明
图1是本发明使用计算机自动创作歌曲的方法中软件编程的原理框图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步说明。
一种使用计算机自动创作歌曲的方法,具体包括计算机作曲、计算机编曲和计算机演唱三个步骤,其通过计算机编曲软件实现;计算机作曲主要以音乐理论中的和弦走向理论为基本框架,并结合机器学习算法进行参数计算;计算机编曲是根据主旋律的MIDI文件与指定的和弦进行方式,根据常用音色的乐器进行音轨添加;计算机演唱即音乐合成,就是将主旋律与伴奏合成最终歌曲的步骤;
使用计算机自动创作歌曲的具体流程是:1)计算机作曲:首先用户输入任意行歌词,每行歌词间以分隔符分隔,算法运行作曲模块生成旋律MIDI乐谱文件;2)计算机编曲:运行编曲模块为对应的MIDI乐谱文件添加伴奏音轨,并将伴奏文件使用音源库渲染成为高品质的WAVE音频伴奏文件;然后通过音乐合成算法将MIDI乐谱文件与指定人声音源文件进行合成,生成主旋律;3)计算机演唱:最后将主旋律与WAVE音频伴奏文件进行合成,最终合成为一种完整的歌曲WAVE音频文件。
在计算机作曲步骤中:首先需要进行算法数据的准备(在之后的运行中不需要重复):收集各类调式的流行歌曲若干首,并分析每首歌曲的和弦进行方式(例如1645),找出旋律中的和弦音组合(比如C大调中的135),并使用人工的方式对每首歌进行好听程度打分;使用监督学习算法,以每首歌的和弦音组合情况为输入,以每首歌的好听程度为监督信号,最终计算出每种调式中的多种最佳和弦音组合序列;以上步骤为算法的前期数据准备,随着训练歌曲的数量增加算法的作曲优美程度不断提升。
计算机作曲算法的具体计算逻辑为:用户输入歌词,算法分析歌词句数与每句字数,并将其作为输入传入作曲算法,作曲算法根据每句不同字数随机进行最佳和弦音组合匹配,再在每个和弦音周围加入该和弦音临近的随机音符,从而为每句歌词生成独有的旋律,将所有乐句的旋律组合在一起,并使用MIDI格式表示,即产出了该曲主旋律的MIDI文件。
计算机编曲根据编曲四大件钢琴、吉他、贝司和鼓的不同音色的特点,采用不同的添加方式,例如吉他与贝司,需要针对和弦进行方式进行和弦编配,鼓需要根据MIDI文件的节奏进行自动和弦编配。以吉他音轨添加为例进行说明,具体操作方法为:通过将MIDI文件解析成乐谱格式,获得主旋律的节奏与音高信息,分析主旋律每个小节所对应的和弦走向,然后以钢琴、吉他、贝司或鼓为音色在每小节每一拍对应的位置添加和声音节(例如domiso)。全部添加完成后即得到了一轨钢琴、吉他、贝司或鼓的伴奏。根据风格选择不同,算法为不同风格的歌曲搭配不同的配器组合,例如流行风格,添加大钢琴、电吉他、大贝司、鼓等音轨,根据以上方法为每个音轨添加音符,完成后即得到完整的伴奏音符信息,将此音符信息以MIDI格式导出,最终通过软音源渲染为高质量音频文件,即保存为WAVE格式文件。
计算机演唱即音乐合成的具体流程为:首先取得作曲模块的输出MIDI文件,解析文件得到指定乐谱音符信息;然后程序读取预先录制完成的人声音源文件,按照乐谱,利用SMS(Spectral Modelling Synthesis)等算法进行音频构造,构造出按照乐谱指定的音高与时间的音乐;最终将音乐作为歌曲的主旋律与伴奏WAVE文件进行混音操作,从而得到最终的多音轨歌曲文件。
实施例:如图1所示,本发明使用计算机自动创作歌曲的方法中一首歌曲的详细创作过程如下:1)作曲引擎模块:通过使用人工神经网络算法与相关音乐理论进行模拟作曲,按照指定的和弦走向规律,计算出随机的节奏与旋律音高组合,从而生成指定小节数的旋律;2)编曲引擎模块:根据旋律的和弦走向,在规则内随机生成不同音色的伴奏音轨,如钢琴、吉他、贝司、鼓等,并针对不同的乐器特性进行加花处理;3)演唱引擎模块:通过自然语言处理中的语音合成技术,将音源文件按照指定曲谱进行声音合成,并输出波形文件。
最后应当说明的是,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,本领域的普通技术人员对本发明的技术方案进行的简单修改或者等同替换,均不脱离本发明技术方案的实质和范围。