用Python编程制作一段简单的音乐(I)
前言
对于一些不会写词的业余音乐爱好者来说,可能某一天突然产生了灵感想到一段旋律,然后用一些作曲软件把这段旋律记录下来,然后找一个常见的和弦走向,然后加上两条伴奏和鼓点,再做一些简单的混音。这样,一段“还凑活,听得下去”的音乐就出来了。
我们在编程制作一段音乐的时候,也可以模仿业余爱好者的步骤,将整个流程分成如下五个部分。
使用适当的模块来生成一段音符
让程序生成一段规则的音符,能称得上“主旋律”
给这段主旋律添加一系列和弦
给这段主旋律添加一段伴奏
优化程序生成的音乐
这里,我将用几篇文章来介绍如何使用Python编程制作一段简单的音乐。从随机生成一段杂乱无章的音符,到生成一段“还凑活,听得下去”的音乐。
这个编程制作音乐的流程中暂时不包括作词、配器、混音等,只包括了最简单的几个制作步骤
一、通过程序输出音频的概述
通过程序将一段乐谱并输出成音频时,通常需要先将乐谱保存为midi格式,再根据需求转化为其他格式的音频。因为midi格式存储的是音符、控制指令等信息。相比于其他常见的音频格式,如wav、mp3、ogg等,它和原始乐谱更为贴近。
但是,midi文件的格式较为复杂,直接通过程序将一段音符输出为midi格式存在一定的困难。因此,我们考虑使用现成的模块来完成这个任务。
我使用的midi文件生成的模块是“mido”(版本1.2.8)。
这个库的安装很简单,直接在命令行中输入 pip3 install mido 或 python3 -m pip install mido 即可。
二、通过程序生成一个音符