人工智能AI和音乐演奏的结合--玛祖卡式舞曲AI初步设计思路论文_靖然

靖然

既然是演奏一首乐曲,暂时不考虑由多人演奏同一乐曲,劣势如下:

第一、样本数量不够,需要大量该曲目的准确样本。

第二、必须保证曲目的音准,但炫技类型的曲目,音准必然不能保证。

第三、当前的语音识别还不足以支持识别带有快速演奏和弦、琶音等的曲目

故需要交给AI去主动学习,告诉它应该如何识谱,如何分析谱,学习分以下几个步骤,首先输入端:

输入端的第一层是分析乐曲的整体旋律,乐曲必有一个整体的主基调,并且确定从何时开始进入什么样的旋律,在何时结束,主基调的各个属性作为全局属性单独保存,而这个旋律类里面至少包括下面几个属性:基本速度,情绪参数(决定速率变化的参数),重音基本位置,踏板位置,分段旋律(每段旋律是一个节点),速度、强弱、重音位置的权重值。

输入端的第二层两项工作,首先对每一小节进行分析,这时我们已经获得整体主基调的参数,小节分析需要在主基调参数的基础上对该小节或者小段进行基调的确定,如速度的变化速率,渐强渐弱,这是在每一段旋律之后设的另外一个节点。

这个类里面至少包括下面几个参数:启动速度(启动和结束速度需要做承上启下的工作,保证乐曲的渐进式发展),启动强弱(声音强弱也是同理),结束速度,结束强弱,速度变化的复合函数,强弱变化的复合函数,初始重音位置,重音偏移位置,各个属性对应的权重值。

第二项工作,是根据小节的分析,由此继续分析每一个音符在此阶段的强弱快慢,至少包括下面几个属性:音符是否重音,重音含量(保证重音和非重音之间的过度),强弱,速度,各个属性的权重值。

输入端的第三层,需要根据整体分析进行踏板数值的确定,类的结构略

输出端,在最后计算音符强弱变化之后,额外加一个随机数,该随机数是根据整体分析之后,取得的带由衰减或增益变化的值。

细分曲目特点,确定开发思路。

第一步,整体分析,并以此作为一个输入点InputWholePoint

1、将整首曲目的音符全部保存,通过取每4小节的音符,进行曲式的判段,确定好同一旋律在整首曲目中的位置。

2、找到位置后,通过递归,将不同位置的该小节分别取前后一小节,查看是否仍为同一演奏旋律,直到查找出不同旋律,停止查找,并将其作为最新分割小节保存起来,作为节奏快慢变化的位置依据。

3、整首曲目的重音位置判定方法,计算出一个中位数,用来确定每一段落重音所在小节的时间。

第二步,对每一个音符的强弱速度进行分析,以此作为另一个输入点。InputVolumePoint,InputSpeedPoint

1、取得该小节的音符和强弱要求,通过衰减公式

V=v-t*k。

2、取得每一个音符的强度,v为初始音量,k为衰减系数,t为时间变化量。

3、同理取得该小节的音符速度的变化。

第三步,对每一个小节整体进行分析,作为第三个输入点InputEverySpacePoint

1、如果有强弱变化,通过音程差判定强弱变化的衰减还是增益的变化值,规则为:

大前提是当前没有渐强渐弱记号,否则需加入渐强渐弱的算法计算结果;

上行音阶,属七琶音为参数不一样的两个缓慢渐强的公式;

下行音阶,减七琶音为渐慢的公式;

2、对比前一小节的音程变化,判定该小节是否需要节奏或强弱的变化,

音程差变小,则为变慢,否则变快。

3、生成一个计算结果,作为下一小节节奏强弱的变化依据。

4、根据小节音程差,进行重音位置的判定。

需要根据第一阶段乐曲的整体分析,乐曲切分音符的位置,初步确定重音位置。

5、根据音符是否带浮点或切分,进行重音位置的判定。

6、根据前一小节末尾是否带重音,以及和当前小节第一个音符的音程差,来判定当前小节重音是否后置。

第四步,踏板的确定:

1、根据乐谱确定踏板位置。

2、根据旋律重复的次数以及和弦的调式,进行踏板的更换。

整体调整及其他

第一步

主要根据InputWholePoint所取得的数据,进行分析,如果两端旋律音符完全一样,则保持不变,那段旋律多了和弦,或者音域更高,则此部分作为速度稍快,强度稍强的旋律输入,并调整相应参数的权重值。

第二步

确定开头为一个音符,还是一段旋律,一个音符为弱起,否则为正常分析演奏。

确定结尾的演奏方式,欢快的曲目已渐强的形式结束,否则已减弱减慢的形式结束,并加上权重值。

论文作者:靖然

论文发表刊物:《科技尚品》2019年第3期

论文发表时间:2019/7/18

标签:;  ;  ;  ;  ;  ;  ;  ;  

人工智能AI和音乐演奏的结合--玛祖卡式舞曲AI初步设计思路论文_靖然
下载Doc文档

猜你喜欢