日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

如何用PYTHON代码写出音乐

發布時間:2023/12/14 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用PYTHON代码写出音乐 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何用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”顯示下載鏈接,謝謝。

總結

以上是生活随笔為你收集整理的如何用PYTHON代码写出音乐的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。