关闭

如何用PYTHON代码写出音乐

标签: python
4020人阅读 评论(0) 收藏 举报
分类:

如何用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.首先进入https://github.com/vishnubob/python-midi#Installation,将整个项目克隆下来。

2.在程序目录下执行以下命令安装,

python setup.py install

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

mididump.py test.mid

接下来介绍下如何写代码生成midi文件。

实操

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

生成的是一个简单的音阶:

更多有趣的音乐生成代码和样例可以关注我的微信公众号进行下载,进入公众号,输入“music”显示下载链接,谢谢。

4
0
查看评论

用python写的一个简易的云音乐播放器

本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写的一个汉字转拼音的库,大家可以在github上找到。 #coding=utf-8 from Tkinter import * import tkMessage...
  • wanlichangkong666
  • wanlichangkong666
  • 2017-05-12 15:49
  • 2241

python实现简单的音乐播放功能

对于热门语言深感兴趣 ,激励自己多多学习和实践,自己也决定做个开头,一步步来实现音乐播放器功能。刚开始的设计,只是实现了简单的音乐播放、暂停、退出功能。至于还有些功能键的添加, 以及树形结构来添加播放歌曲的功能,还有待学习。本文知识简单的实现了播放固定目录下的歌曲播放功能,记录一下学习中所遇到的问题...
  • qq_15508113
  • qq_15508113
  • 2015-11-27 15:47
  • 6697

python播放音乐

转自:http://my.oschina.net/lenglingx/blog/183101 下面是播放音乐的实例,只有3句话就行。 pygame.mixer.init()      pygame.mixer初始化,用了这个就不要和pygame.init()同时使用,...
  • a6225301
  • a6225301
  • 2015-07-28 12:15
  • 3989

python利用网易云音乐接口搭建的音乐推荐,根据单曲歌名推荐相关用户喜爱的歌曲

一、网易云音乐的相关接口 这边我想要的数据接口有: * 网易的搜索功能,根据歌名获取歌曲的id * 歌曲相关的评论用户接口 * 用户的相关数据包括歌单或听歌记录,这边听歌记录的接口好像不能用,所以我就用的歌单接口 关于每个接口大家可以自己F12网易官网看看是长什么样子,网易的新接口加密方式我也是在网...
  • SeaIsGod
  • SeaIsGod
  • 2017-07-29 17:34
  • 992

python实现的音乐播放器

  • 2013-08-06 19:24
  • 34.55MB
  • 下载

python下载音乐文件

需要下载安装 BeautifulSoup,下载地址: beautifulsoup4-4.3.2.tar.gz。 下载完成后解压:进入目录打开cmd,执行以下两个操作即可完成安装: (1)python setup.py build  (2)python setup.py in...
  • lishk314
  • lishk314
  • 2015-03-27 15:56
  • 2348

Python 播放声音 音频与beep

#import winsound #winsound.Beep(600,1000) import os os.system("paplay 1.wav") python使用pygame播放音乐. 链接地址:https://my.oschina.net/lenglingx/...
  • xuejianyong
  • xuejianyong
  • 2016-12-23 14:28
  • 5045

python_简单的声音播放功能

闲来无事,随便看看Python 3.0的文档,发现了一个很pythonic的模块:声音播放 for windows;凑个流行语叫做“很傻很天真”,不过挺好使得。1>winsound.Beep2>winsound.PlaySound()每一个都有不同的用法,一个一个来看吧。1>win...
  • jj_liuxin
  • jj_liuxin
  • 2008-12-21 18:18
  • 9159

python 音乐播放器

  • 2011-11-19 02:22
  • 9KB
  • 下载

简单几步实现网络音乐播放器(Python爬虫版百度FM)

Python入门之爬取百度音乐 先说一下为什么会有这篇文章,首先肯定是有这个需求了,本人出差在外地,这里的网速卡到爆,根本支撑不了在线听歌的要求,所以就想下载到本地来慢慢听。这可是python的绝活,最近对Python爬虫很有兴趣,于是想到以前写过Q他版本的...
  • spygg
  • spygg
  • 2016-12-28 04:02
  • 3575
    我的微信公众号

    作者公众号:凡人机器学习

    凡人机器学习

    机器学习微信交流群
    为了方便大家学习与交流,凡人云近日已开通机器学习社群! 分享“凡人机器学习”公众号名片到40人以上的大群并截图给小助手,小助手就会拉你入群 在这里你可以得到: 1.各种学术讨论 2.最新的资料分享 3.不定期的征文以及联谊活动! 小助手微信号:meiwznn
    作者新书《机器学习实践应用》

    主要讲述算法和业务的结合,适合初学者

    机器学习实践应用

    京东地址

    个人资料
    • 访问:839358次
    • 积分:11221
    • 等级:
    • 排名:第1685名
    • 原创:235篇
    • 转载:40篇
    • 译文:0篇
    • 评论:460条
    博客专栏
    统计