38662| 27
|
[项目分享] 4536251可升降调弹唱神器-只要一块掌控板,人人都是周杰伦 |
不知不觉,宅在家里已经快一个月了..... ![]() 【器件准备】 掌控板,数据连接线 mind+V1.6.2:下载链接:http://mindplus.cc/ 就这些,没了,也确实没有别的了..... 【原理讲解】 做项目之前,我们需要先知道2个事情: 1,4536251是啥意思? ![]() 我按照我的理解,尝试简单解释一下(不一定对 ![]() ![]() 家里有钢琴的人可以试一试,不过家里有钢琴的人应该乐理比我懂得多了哈哈。所以,4就是4、6、1加低音4,4个音同时按下,4536251就是按照这个顺序按7次(5按了两次),就可以了。那么下面是第二个需要预先知道是事情: 2,怎么编辑钢琴上每个按键的声音? Hin简单,mind+实时模式,可以扩展区添加音乐功能,添加上的“演奏音符()()拍”的指令,可以任意的填写数字决定音高和长短,填写数字的地方会自动弹出小钢琴,非常直观。 ![]() 经过测试,60是钢琴上中音1(do)的数值,如果你把一个音阶里的七个按键都点一遍,会发现数字变化的规律,比如,中音do后面的re是62,mi是64,fa是65......下一个do是72,我们可以从中得出规律,数字每增加(减少)1,音就会增高(降低)半个音;一个音阶1234567,数字跨度是12,也就是说每个音阶的音高是平均分成了12等份的,这其实就是12平均律。所以,通过这个规律,你除了知道了一些平常没注意过的音乐小知识外,是不是不靠钢琴的图示,只靠数字就可以编辑出想要的音了呢? 复杂的乐理知识讲完啦,这些明白了,程序设计就非常的简单了。 【程序设计】 所以,我们的程序设计思路非常明确,首先,需要添加一个角色作为主程序,然后添加ABCD四个角色,分别代表我们每次按下钢琴的4根手指。当主程序里检测到我在掌控板上按下了触摸按键H,说明我按下了4级和弦,那么ABCD 4个角色同时演奏“4、6、1、低音4”,效果就达到啦。 ![]() 下面我们就测试一下程序的效果吧,上视频~ 是不是有点感觉了,感觉我的声音已经呼之欲出了,下面就来自弹自唱过过瘾吧hahahaha!!!!! ![]() 【功能完善】 呼~~,即便没有任何的混响效果,也还是非常非常过瘾na!不过,这个调对我来说,好像有点高了,这是周杰伦林俊杰的调......,而且现在就这一个调,如果是女孩子用这个神器的话,调就太低了。所以,这个弹唱神器还需要一个必备功能,就是任意调节升降调!! ![]() 其实,如果我们对乐理知识的部分真的搞懂了的话,就很容易解决这个问题。比如,我们可以把现在的这个版本程序的音高作为正常调,然后把手指1的每个和弦对应的音高,设置成6个变量“音符4、音符5、音符3......”,变量初始值就是手指1每个音的初始值,然后根据手指2、3、4音高数值相对于手指1初始数值的变化规律,就可以把所有的音高通过变量表示出来了。程序如下: ![]() 通过这样的设计,我们就可以通过直接改变变量的值来控制所有音符的升高降低啦。其实,随着对乐理知识的理解,1个变量音符理论上就足够了。最后,我们只要实现,当掌控板上A键按下1次,所有变量音符数值-1(降1个调),B键按下一次,所有变量音符数值+1(升1个调),就完成啦。 ![]() 设计完成!!让我们来最终测试吧!! 怎么样?改到了适合自己的调上,是不是好听很多呢?我们在这个程序的基础上,也可以加打击乐,bass,其他不同类型的和弦进去,一个崭新的乐队既将诞生~完整程序在帖子最后,大家一起唱起来,首届“DF-mind+好声音”等你来战~不说了,我去跟杰伦讨论演唱会事宜了。 |
春秋大仙 发表于 2020-2-19 14:37 太赞了!实实在在干货! |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed