如何用PYTHON代码写出音乐

在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高
如何用PYTHON代码写出音乐
什么是MIDI

说到用代码写曲子,有一个东西大家一定要了解就是MIDI。MIDI是一种乐器数字接口,是编曲界最广泛的音乐标准格式。MIDI并不是真正意义上的音乐文件,大家可以把它理解成乐谱,需要有环境编译MIDI文件,才可以生成音乐。这个关系有点像代码和编译器的关系。市面上可以解析MIDI文件的软件有很多种,本文将用到MuseScore2的软件,以下就是这个软件的截图,界面中的五线谱就是MIDI文件的呈现。这个乐谱是可以播放的,并且可以导出为MP3格式的音乐文件。

下面我们就介绍下生成MIDI文件所使用的Python库。
python-midi库介绍
市面上差不多有十多种python库可以编写MIDI格式的文件,本文会推荐大家使用PYTHON-MIDI。我觉得python-midi的优势是不光可以自己写程序生成MIDI,而且还可以对MIDI文件进行解析。这样的功能配合机器学习算法,或许可以帮助我们实现机器的自动编曲,当然这是后话。先来看下如何安装python-midi。
1.首先进入,将整个项目克隆下来。
2.在程序目录下执行以下命令安装,
python setup.py install11

3.如果想执行某个以mid为后缀的MIDI文件,只要执行以下命令即可:
mididump.py test.mid11

接下来介绍下如何写代码生成midi文件。
实操
在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高。示例代码如下:

生成的是一个简单的音阶:2017-07-31
在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高2019-10-13
mengvlog 阅读 8 次 更新于 2025-07-19 01:33:20 我来答关注问题0
  • 在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高

  • 接下来,我将带领大家一探究竟,看看如何运用Python打造一个集搜索、播放、管理为一体的音乐播放器。核心功能设计设计音乐播放器,首要任务是布局和功能规划。我选择使用PyQt5框架来构建界面。播放器的核心功能包括:通过关键词搜索获取音乐、播放音乐、控制播放模式、音量调节、以及播放历史查看等。为了满足不...

  •  文暄生活科普 Python实现免费音乐下载器

    实现过程分为三个主要步骤:首先,通过输入任意歌手名,如李XX,获取音乐主页链接。其次,配置Python开发环境,包含Python3、Pycharm集成开发环境、requests、tkinter模块。对于环境问题,提供技术支持,包括模块安装、疑难解答。在代码演示部分,具体步骤如下:启动浏览器,打开音乐主页,利用审查元素功能(F12)...

  •  农言农愉 免费下载音乐的代码怎么写

    需要安装一个python。用python可以免费下载音乐代码。操作流程:1、向目标网站发送网络请求,获取数据。2、提取数据(歌曲名称、歌手名称、专辑名称)。3、紧接着会出现一串代码,格式化打印即可。

  • tjwei/Flappy-Turtle 它使用sys 和 subprocess模块调用系统第三方程序在后台播放音乐:def play_sound(name, vol=100): file_name = name + ".mp3" if sys.platform == "darwin": cmds = ["afplay"] else: cmds = ["mplayer", "-softvol", "-really-quiet", "-volume",...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部