中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中musicpy如何使用

發布時間:2021-07-10 16:40:17 來源:億速云 閱讀:406 作者:Leah 欄目:編程語言

Python中musicpy如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

安裝

首先在musicpy文件夾里打開cmd, 跑一下pip install -r requirements.txt安裝依賴庫(如果本來就是pip install musicpy安裝的就不需要這一步, 作者也比較推薦直接pip install musicpy就行)

import 這個庫: from musicpy import *

作者自己做的介紹與使用教程視頻第一期:

https://www.bilibili.com/video/BV1754y197a9/

詳細的musicpy數據結構,基礎語法以及使用教程,請看作者正在寫的Wiki,作者會盡量把所有的細節都講清楚。

Wiki的地址: https://github.com/Rainbow-Dreamer/musicpy/wiki

musicpy說明

在musicpy里面,幾個基本的類是note(音符), chord(和弦)和scale(音階)。這幾個類是構成音樂代碼的基礎。

在musicpy這門語言的數據結構設計中,音符類本身是等值為純數字的,也就是完全可以作為純數字使用。

和弦類是音符類的集合,也說明和弦類本身等值為一個全部都是數字的集合,也可以作為向量,甚至矩陣來看待(比如多個和弦的連接走向就可以看作多個向量的拼接,因此也就有了行列數,也就是矩陣的形式)。

也因此在這門語言的數據結構設計中,音符類,和弦類,音階類都是可以進行數學運算的,比如線性代數領域的運算,離散數學領域的運算等等。也可以在這門語言的數據結構的基礎上建立一整套樂理邏輯的算法,結合純數學邏輯來進行多方面的音樂分析研究。

現代音樂領域的很多實驗性質的音樂,比如序列主義,偶然音樂,后現代主義音樂(比如極簡主義音樂),理論上全部都可以在這門語言的純數字化的數據結構的基礎上進行嚴格的創作。即使不提實驗性質的音樂,這門語言也可以寫任何的古典音樂,爵士音樂,流行音樂。

作者每隔兩三天就會更新一次這個庫的內容,具體的更新內容請大家看這個庫里的“更新日志Changelog.txt”,里面有按照日期的每次更新的非常詳細的細節與說明。

更新日志的鏈接:

https://github.com/Rainbow-Dreamer/musicpy/blob/master/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97Changelog.txt

初衷

作者開發這個語言主要的初衷有兩點:

第一,比起工程文件和midi文件單純存儲音符,力度,速度等單位化的信息,如果能夠按照樂理上的角度來表示一段音樂從作曲上的角度是如何實現的,那就更加有表示的意義了。而且只要不是現代主義無調性音樂,大部分的音樂都是極其具有樂理上的規律性的,這些規律抽象成樂理邏輯語句可以大大地精簡化。(比如一個midi文件1000個音符,實際上按照樂理角度可能可以簡化到幾句代碼)。

第二,開發這個語言是為了讓作曲AI能夠在真正懂得樂理的情況下來作曲(而不是深度學習,喂大量的數據),這個語言也算是一個接口,AI只要把樂理的語法搞懂了,那作曲就會擁有和人一樣的思維。我們可以把樂理上的規則,做什么好不做什么好告訴AI,這些東西還是可以量化的,所以這個樂理庫也可以作為一個樂理接口,溝通人和AI之間的音樂。因此,比如想讓AI學習某個人的作曲風格,那么在樂理上面也同樣可以量化這個人的風格,每種風格對應著一些不同的樂理邏輯規則,這些只要寫給AI,經過作者這個庫,AI就可以實現模仿那個人的風格了。如果是AI自己原創風格,那就是從各種復雜的作曲規則里尋找可能性。

為何不用深度學習?

作者在想不用深度學習,神經網絡這些東西,直接教給AI樂理和某個人的風格化的樂理規則,那么AI或許可以做的比深度學習大數據訓練出來的更好。因為大數據訓練只是給AI模仿數據本身而已,這樣其實AI并沒有真正地和人類自己一樣理解作曲是什么,樂理是什么,所以作者才想通過這個庫實現把人的樂理同樣教給AI,讓AI真正意義上地理解樂理,這樣的話,作曲起來就不會生硬了,沒有機器和隨機的感覺了。所以作者寫這個庫的初衷之一就是避開深度學習那一套。但是感覺抽象出不同音樂人的樂理規則確實很有難度,作者會加油寫好這個算法的qwq 另外其實也可以音樂人自己告訴AI他自己樂理上喜歡怎么寫(也就是自己獨特的樂理偏好規則),那么AI就會模仿的很到位,因為AI那時候確實懂得樂理了,作曲不可能會有機器感和隨機感,此時AI腦子里想的就和音樂人腦子里想的是完全一樣的東西。

AI不必完全按照我們給他的樂理邏輯規則來創作,我們可以設置一個“偏好度”的概念給AI,AI在自己作曲時會有一定程度地偏好某種風格,但是除此之外會有自己在“符合正確樂理”的規則里面找到的獨特的風格,這樣AI就可以說“受到了某些音樂人的影響下自己原創的作曲風格了”。當這個偏好度為0時,AI的作曲將會完全是自己通過樂理尋找到的風格,就像一個人自己學習了樂理之后,開始摸索自己的作曲風格一樣。一個懂得樂理的AI很容易找到自己獨特的風格來作曲,我們甚至都不需要給他數據來訓練,而只要教給AI樂理就行。

如何教AI樂理?

那么怎么教給AI樂理呢?在音樂上面,暫時不考慮現代主義音樂的范疇,那么絕大部分的音樂都是遵循著一些很基本的樂理規則的。這里的規則指的是,怎么樣寫樂理上ok,怎么樣寫犯了樂理上的錯誤。比如寫和聲的時候,四部同向往往是要避免的,尤其是在編曲時寫管弦樂的部分。比如寫一個和弦,如果和弦里面的音出現小二度(或者小九度)會聽著比較打架。比如當AI自己決定一首曲子要從A大調開始寫,那么他應該從A大調音階里按照級數來選取和弦,有可能適當地離調一下,加幾個副屬和弦,寫完主歌部分可能按照五度圈轉個調,或者大三度/小三度轉調,同主音大小調轉調等等。我們需要做的事情就是告訴AI作曲的時候怎么寫是正確的,更進一步的,怎么寫聽著比較有水平。

AI學好了樂理,不會忘記,也比較難犯錯,因此可以寫出真正屬于AI自己的音樂。他們會真正懂得音樂是什么,樂理是什么。因為這個庫的語言做的事情就是把樂理抽象成邏輯語句,那么我們每次給AI“上課”,就是把人自己的樂理概念用這個庫的語言來表述,然后寫進AI的數據庫里。通過這種方式,AI真正的學習到了樂理。這樣的作曲AI,不需要深度學習,不需要訓練集,不需要大數據,而與之相比,那些深度學習訓練出來的作曲AI實際上根本就不懂樂理是什么,也沒有音樂的概念,他們只是從海量的訓練數據里面照葫蘆畫瓢而已。還有一個重點是,既然可以用具體的邏輯來描述的事情,其實是不需要機器學習的。如果是文字識別,圖像分類這些比較難以用抽象的邏輯來描述的事情,那才是深度學習的用武之地。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

休宁县| 中牟县| 琼中| 金平| 南涧| 定结县| 兴山县| 普陀区| 新源县| 庆城县| 洛宁县| 建阳市| 渭南市| 赣榆县| 章丘市| 来宾市| 突泉县| 固镇县| 阳新县| 吴川市| 郁南县| 罗江县| 荔浦县| 当涂县| 舞阳县| 高安市| 崇仁县| 新闻| 天柱县| 惠来县| 浦城县| 奉贤区| 克什克腾旗| 闵行区| 柞水县| 公安县| 元氏县| 庆云县| 泊头市| 卫辉市| 志丹县|