我有一个项目用 python3 制作一种音乐合成器。我必须使用股票数据中的数字,并使用我的音乐类创建一个播放器文件和一个文件,该文件将使用我的播放功能将音符输出到 .rra 文件。
m.play(D,3,2) 在第三个八度音阶中播放 D 2 拍。
我仍然很困惑我的播放功能将如何工作。为了以八度音阶演奏某个音符,我假设只要该音符应该演奏,我就会附加库存数据编号。我很困惑如何将其输入代码。
任何帮助或提示将不胜感激。
这是我的音乐类文件和播放器文件的骨架:
我会用命令播放它:“python3 player.py stock.dat | aplay”
音乐.py
课堂音乐:
def __init__(self, infile):
self.infile = infile
self.beats = 4
self.list = []
fp = open(infile, 'r')
for line in fp:
self.list.append(eval(line))
pass
def set_beat(self, x):
self.beats = x
def header(self):
print("RRA\n%%\n")
def play(self, note, octave, beats):
pass
def __str__(self):
s = "infile" + self.infile + ", Beats:" + self.beats
播放器.py
import sys
from music import Music
def main():
m = Music(sys.argv[1])
m.set_beat(0.25) # one beat is 0.25 seconds
m.header() #output the audio header
m.play("C",3,1) # play C in octave 3 for one beat
m.play("D",3,2) # play D in octave 3 for two beats
main()