def setUp(self): self.i = Instrument() self.p = Piano() self.g = Guitar() self.notes = NoteContainer(["A", "B", "C", "D", "E"]) self.noteslow = NoteContainer(["C-0", "D-0", "E-0"]) self.noteshigh = NoteContainer(["A-12", "B-12", "C-12", "D-12", "E-12"])
def setUp(self): self.i = Instrument() self.p = Piano() self.g = Guitar() self.notes = NoteContainer(['A', 'B', 'C', 'D', 'E']) self.noteslow = NoteContainer(['C-0', 'D-0', 'E-0']) self.noteshigh = NoteContainer( ['A-12', 'B-12', 'C-12', 'D-12', 'E-12'])
def export(melody_track, chords, key, time_sig, bpm, file): i = Instrument() i.instrument_nr = 1 t2 = Track() for i in range(0, len(chords)): b = Bar(key, time_sig) if len(chords[i][0]) > 5: b.place_notes(None, 1) else: b.place_notes(NoteContainer(chords[i]), 1) t2 + b c = Composition() c.add_track(melody_track) c.add_track(t2) out_dir = 'out' if not os.path.exists(out_dir): os.makedirs(out_dir) mid = file.split('/')[-1] if os.path.exists(out_dir + '/' + mid): os.remove(out_dir + '/' + mid) MidiFileOut.write_Composition(out_dir + '/' + mid, c, bpm) file = out_dir + '/' + mid sys.argv.append('') sys.argv.append('') sys.argv[1] = "--midi-file=" + file sys.argv[2] = "--out-dir=" + out_dir midi.main() if os.path.exists(file): os.remove(file)
c.augment() #升半音 c.diminish() #降半音 c.remove_redundant_accidentals() #清理多余升降号(只能成对清理,烂) #谱容器 from mingus.containers import NoteContainer #创建谱容器对象(继承列表,完全可以按列表操作,不用看下面的) n = NoteContainer(['A-3', 'C-5', 'B-4']) n.add_note('F-1') # 0位加音 n.remove_note('B', 4) #删音 n.empty() #清空 #乐器音色 from mingus.containers.instrument import Instrument, Piano, Guitar #创建乐器对象 i = Instrument() i.range #乐器音域 i.set_range((Note('C-2'), Note('E-4'))) #设定音域 i.note_in_range('F-4') #判断音是否在乐器音域内 #音轨 from mingus.containers import Track t = Track(i) #乐器放入音轨容器 #MIDI音乐播放(安装困难) #from mingus.midi import fluidsynth #fluidsynth.init("soundfont.SF2") #fluidsynth.play_Note( Note('C-5') ) from mingus.midi import MidiFileOut MidiFileOut.write_NoteContainer('test.mid', n)
def setUp(self): self.i = Track(Instrument()) self.p = Track(Piano()) self.g = Track(Guitar()) self.tr = Track()