私はpython3で一種の音楽シンセサイザーを作るプロジェクトを持っています。ストック データの数値を使用して、プレーヤー ファイルと、再生機能を使用してノートを .rra ファイルに出力する音楽クラスを含むファイルを作成する必要があります。
m.play(D,3,2) 第 3 オクターブの D を 2 ビート演奏します。
私の再生機能がどのように機能するのか、私はまだ本当に混乱しています。オクターブで特定の音を演奏するには、音を演奏することになっている限り、ストックデータ番号を追加すると思います。これをコードに入力する方法がわかりません。
どんな助けやヒントもいただければ幸いです。
これが私の音楽クラス ファイルとプレーヤー ファイルのスケルトンです。
「python3 player.py stock.dat | aplay」というコマンドで再生します。
music.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
player.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()