00:00
好,我们回家上节课内容啊,上节课呢,我们了解到列表的索引,它可以是正数,也可以是负数,那么两个函数都可以根据列表项找到这个索引位置,区别呢是index,它是比较严格的,找不到就给你报错,就给你崩溃,呃,Find呢,它比较柔和,找不到呢,返回负一,那列表还有什么好玩儿的吗?我呀,这回想生成一个MIDI文件,就这种可以播放的这个文件,有音符的这种,那怎么做呢?首先我们先CD进到这个code的文件夹里面一会儿啊,生成了之后可以方便下载,方便播放,我呢先让这个AI生成一个。两只老虎的米I啊,两个老虎的米I,那么他呢,说我们这里面要使用一个包叫me度,Me度把这咪度这包装上之后呢,我们准备开始编写这个PY文件,VI空格M.PY,把这个代码呢双引号加号P粘上去,然后呢保存并且用Python去运行当前文件。
01:11
哎,运行的结果呢,就是生成了这个文件,哎是吗?叹号LS观察一下。M.PY就是我的拍TH子文件,两只老虎点MIDI就是这个MIDI文件,那么我们是不是就可以把它下载下来了,这个下载会把整个cos文件夹下载下来,下载之后呢,我们可以看到这块有一个两只老虎点迷I右键,它使用谁打开呢?使用这个媒体播放器打开,两只老虎跑得快,跑得快,一只没有尾巴,一只没有耳朵,真奇怪,最后有点问题是吧,而且它时长有点问题,但是这个声音确实出来了,如果你用的不是这个Windows系统,你用的是麦C系统,你可以使用这个酷乐队把这个音频打开,然后我们可以看到这个钢琴卷帘里面就是哆来咪哆两只老虎,两只老虎跑得快,哎,那。
02:19
那它确实生成了这样一个MIDI文件,那我能在这个浏览器里这个蓝桥里边去,就看看这个MIDI文件长什么样吗?我们呀,从这个从这个。Vim退出来,然后呢,把这个安装代码装粘上去,我们要装一个叫做Rose garden的东西,好装完了之后呢,我可以在这个多媒体里面找到这个Rose garden, 当然也可以在这儿直接运行这个roset garden, 然后它就可以跑起来了,哎,出现了一个玫瑰花儿的这么一个花园的这么一个软件的界面,把欢迎屏幕关掉,把播放头给关掉,然后在这个里面呢,点击文件导入MIDI,然后去我们的codes文件夹去点开这个MIDI文件。
03:13
右键选择这个音轨,然后找到什么呢?钢琴卷帘,我们可以看到上面有什么呢?有黄颜色的一些小方块儿是吧?黄颜色一些小方块儿,这些小方块儿呢,我们可以使用这个滚轮儿啊,就是进行一个缩放,进行一个位置的调整,诶这边呢是整体的调整,哎,这边呢是。它的左右的调整,哎,还有上下调整,那么每一个小方块儿呢,就代表一个音符,它可以上下左右的移动,哎,上下意味着什么呢?上下的意思就是音高,哎这个钢琴卷帘啊,总是循环,一会儿是两个黑键,一会儿呢是三个黑键,又两个黑键,又三个黑键,总是两个三个这么交叠出现的,两个黑键底下对应的白键是哆来咪,三个黑键底下对应的白键呢是。
04:09
发唆拉西合在一起,哆来咪发拉西西拉,So发咪来哆这个7个音就是什么呀?就是大调的音阶,7个音,7个音,那大调音节写进代码了呢吗?我们仔细看代码是有的。导入密度之后,它有一个音符的定义,1对应60 2对应62,三对应64,四对应65,那这不应该是等差数列吗?它怎么1234它还它相差的,差还不等了呢?我们仔细看这儿哈,这儿其实就对应这关系,60是do和re之间隔了一个黑键,瑞和M之间呢,又隔了一个黑键。
05:04
哎,隔一个黑键意味着什么呢?隔两个半音,所以哆到瑞差一个二,瑞到咪差一个二,差两个半音,但M到发呢,Mi到发之间它没有隔黑键,就是两个三个嘛,中间这空的这个断开了,没隔黑键就差一个半音,差一个半音,所以这儿就是差一个音高,差一个音高,那等瑞咪发索拉西他有全全半全全全半这么一个。啊,音程的差距把它确定下来之后,怎么放到这个MIDI文件里呢?那我们再继续看,有一个序列,什么序列是旋律的序列,旋律序列的是什么呢?哎,哆来哆哆来咪哆咪发唆,注意,这是咪发嗦,这个嗦啊,它是两拍。
06:05
你四分音符没一拍,每小节有四拍是吧?一拍两拍三拍四拍,一拍两拍三拍四拍,一拍两拍三拍四拍,So, 应该是两拍对吧,两拍哎,跑得快长一点,跑得长一点,哎,一只没有半拍,半拍合起来是一拍,半拍半拍合起来是一拍,一拍一拍总共还是四拍。一只没有眼睛,一只没有尾巴,真奇怪真奇怪,哎,是这么一个过程,那旋律列表又放在哪儿呢?我们看看旋律列表放到这个MIDI文件里边儿,MIDI文件里面有一个MIDI音轨,把音轨放到文件里,再想办法把这个旋律的音符放到音轨上就可以了,那怎么把这个旋律列表?
07:08
上的音符放到音轨上呢?那么我们看一下,我要遍历这个旋律列表,把里边的每一个列表下,就是每个音符按次序放到音轨上,诶,这样就放放进去了,哆咪哆哆来咪哆,两只老虎,两只老虎跑得快应该是快,这个时长时只是有问题的,那怎么办呢?我们还是跟AI说,我们把这个东西啊,直接拍给他。直接拍给他说什么呢?说根据这个东西再生成这个pthon文件,那注意啊,这里面就怎么样,都等于发还是四四派,什么是都等于发呢,原来是都等于C啊,都等于C,也就是从60开始,从60开始,那现在呢就不是了,从六五开始,但是呢,由于它是大调还是全全半,全全全半这样的关系,哎,那么每一个音符呢,不光有它的音高。
08:11
哆来咪哆哆来咪哆咪发嗦,注意快它是2,就是两个四分音符,那个二分音符对吧,跑得快快很长,这就很短了,哎,嗖啦嗖发一只煤油都是0.5是。半拍是半拍,哎,眼睛一只没有尾巴,真奇怪真奇怪,然后生成这这东西能不能生成呢?我们再去听一下效果,复制双眼加2P粘贴保存并且运行,然后呢,把这个东西呢下载下来,来看一下。
09:02
哎,嗖二分音符对吧,一只没有眼睛,一只没有耳朵,真奇怪,对吧,基本上是OK了,基本上是OK了,那这一次呢,我们就随机生成了这个BD文件,那这个东西具体有什么用呢?其实你就可以根据这个调性去具体的生成一些随机的音乐,哎,随机的音乐就可以自己的作曲了,某种程度上给你带来一些灵感之类的,你利用这个编程的随机性可以可以做这样的东西,对吧,除了把音符。做成旋律列表之外,这列表还有什么玩法呢?我们下次再说。哦,EZ教程。
我来说两句