musicpy數(shù)學(xué)音樂:生成協(xié)和音程的分形音樂
2023-09-17 09:13 作者:阿-岳同學(xué) | 我要投稿

最近發(fā)現(xiàn)musicpy做了很多很多的更新,以前有個視頻看上去都過時了。
最近看經(jīng)濟(jì)周期性危機(jī)相關(guān)的內(nèi)容時突然聯(lián)想到了之前看過的一個分形音樂的視頻。(腦回路總是能產(chǎn)生各種奇怪的聯(lián)想)
這是以前看到的分形音樂的視頻:分形音樂

上圖中紅色框部分都是一樣的,只不過是長度按照倍率壓縮了。
這些分形音樂還不是隨手寫一個小節(jié),然后復(fù)制復(fù)制復(fù)制,拉長拉長就可以生成出來的。
因為最終的結(jié)果很容易出現(xiàn)“不協(xié)和音程”。例如小二度、減五度、增四度、大七度。
衡量音程協(xié)和與不協(xié)和與否就是看頻率高的音符是頻率低的音符的多少倍(頻率多少倍),
這個倍數(shù)是含有開根號的分?jǐn)?shù),雖然是無理數(shù)但卻非常接近一個分?jǐn)?shù)??梢越瓶闯捎欣頂?shù),如果這個分?jǐn)?shù)化簡后分子和分母的數(shù)字盡可能的小,那么聽起來就是協(xié)和的。否則不協(xié)和。
這里懶得解釋了。因為3b1b有一個視頻詳細(xì)的闡述了這個問題。
音樂與測度論有什么關(guān)系?(中英字幕)這里放一個視頻鏈接。
本文章用Python的musicpy庫實現(xiàn)了生成分形音樂mid文件的代碼。
運行以下代碼需要安裝musicpy第三方庫,以及新建一個“out”文件夾。
這篇文章寫于2023年9月17日,由于musicpy的作者一直在更新,所以這篇文章的代碼也可能具有版本局限性。
代碼:
代碼寫的比較隨性,直接創(chuàng)建了一個草稿,寫在了一個py文件里??赡苡幸恍┟脖容^隨意。
標(biāo)簽: