Pyshnth
音樂生成模塊
樂理
- 聲音:物體振動產生,振動次數越多,音越高;振動次數越少,音越低
- 可聞:人耳可以聽到的聲音在每秒16-2000此左右
- 樂音:振動規則產生,聽起來高低明顯
- 噪音:振動不規則產生,聽起來高低不明顯
- 音樂:將聲音通過藝術形象表達人們的思想感情
- 音階:do、re、mi、sol、la、(do)
- 調性:C、D、E、F、G、A、B
安裝
pip install pysynth
原裝示例
import pypsynth
# Example 1: The C major scale
song1 = [
['c',4],['d',4],['e',4],['f',4],['g',4],['a',4],['b',4],['c5',2],['r',1],
['c3',4],['d3',4],['e3',4],['f3',4],['g3',4],['a3',4],['b3',4],['c4',2],['r',1],
['c1*', 1], ['c2*', 1], ['c3*', 1], ['c4*', 1], ['c5*', 1], ['c6*', 1], ['c7*', 1], ['c8*', 1],
]
pysynth.make_wav(song1, fn = "pysynth_scale.wav")
隨機輕音樂
import pypsynth
import random
def randsong():
D='cdefgab'
T=range(1, 7)
R = lambda a,b:random.randint(a,b)
M = lambda :f'{D[R(0, len(D))]}{R(1,6)}*'
N = lambda :T[R(0, len(T))]
song = tuple((M(), N()) for i in range(32))
print(song)
pysynth.make_wav(song,fn =r"song.wav")
randsong()