在Snap自制GPT的课程里,我打算增加音乐GPT的功能,根据自然语言生成相同的方法,通过从音乐“语料库”获取“下一个音符”来完成自动曲调生成。
因此需要获取可以用来生成音符的“音乐语料库“,就是以数字方式存储的乐谱。MIDI文件是成熟的数字音乐存储格式,通过从MIDI文件中提取我需要的纯音符数字是最简单的方法。
通过ChatGPT的帮助,写好了MIDI文件转”音乐语料库“的方法:
我把网页放到服务器上,方便远程访问:
https://www.go2crm.cn/go_static/midi2notes.html
通过这个方法可以获得每个音符及其时长的一个长文本,格式如:(72-0.371),(72-0.496),(79-0.621)...
在图形化编程中可以将这个长文本处理为列表,下面是Scratch的实现:
在Snap!中更简单,有一块现成的积木用来分割字符串:
然后就可以把分割好的列表,逐个音符取出演奏了
Snap!里的实现更简单:
Scratch实现可以在这里看到:
https://create.codelab.club/projects/106306
现在,你可以在网上搜索你喜欢的音乐midi文件,搬进图形化编程里演奏了。
提供两个MIDI文件下载网站
古典乐:https://www.kunstderfuge.com/
儿歌:https://www.romwell.com/kids/nursery_rhymes/kids_midi.shtml
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...