本文整理汇总了Python中solfege.mpd.track.Track.set_patch方法的典型用法代码示例。如果您正苦于以下问题:Python Track.set_patch方法的具体用法?Python Track.set_patch怎么用?Python Track.set_patch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类solfege.mpd.track.Track
的用法示例。
在下文中一共展示了Track.set_patch方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_bug1
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_bug1(self):
"""
For each moment in time, all note-off events have to be
done before the note-on events. This to avoid problems
with the same note being played two times after each other
in different tracks.
"""
t1 = Track()
t1.set_patch(3)
t1.note(4, 93, 127)
t1.note(4, 95, 127)
t2 = Track()
t2.set_patch(4)
t2.note(4, 95, 127)
t2.note(4, 97, 127)
self.assertEquals(list(MidiEventStream(t1, t2)),
[('program-change', 0, 3),
('volume', 0, 100),
('note-on', 0, 93, 127),
('program-change', 1, 4),
('volume', 1, 100),
('note-on', 1, 95, 127),
('notelen-time', Rat(1, 4)),
('note-off', 0, 93, 127),
('note-off', 1, 95, 127),
('note-on', 0, 95, 127),
('note-on', 1, 97, 127),
('notelen-time', Rat(1, 4)),
('note-off', 0, 95, 127),
('note-off', 1, 97, 127)])
self.assertEquals(MidiEventStream(t1, t2).str_repr(details=1),
"p0:3 v0:100 n0:93 p1:4 v1:100 n1:95 d1/4 o93 o95 n0:95 n1:97 d1/4 o95 o97")
示例2: test_set_patch
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_set_patch(self):
"""
If multiple set_patch is done, the last will be used.
"""
t = Track()
t.set_patch(2)
t.set_patch(3)
t.note(4, 55)
self.assertEquals(MidiEventStream(t).str_repr(),
"p0:3 v0:100 n55 d1/4 o55")
示例3: test_set_patch2
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_set_patch2(self):
"""
Assert that there is not sendt a new volume event when we change patch.
"""
t = Track()
t.set_patch(2)
t.note(4, 55)
t.set_patch(3)
t.note(4, 57)
self.assertEquals(MidiEventStream(t).str_repr(),
"p0:2 v0:100 n55 d1/4 o55 p0:3 n57 d1/4 o57")
示例4: test_patch_volume_order
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_patch_volume_order(self):
"""
Assert that the order of set_patch and set_volume does not matter.
"""
t1 = Track()
t1.set_patch(1)
t1.set_volume(101)
t1.note(4, 64)
self.assertEquals(MidiEventStream(t1).str_repr(details=1), "p0:1 v0:101 n0:64 d1/4 o64")
# Then with patch and volume in reverse order
t1 = Track()
t1.set_volume(101)
t1.set_patch(1)
t1.note(4, 64)
self.assertEquals(MidiEventStream(t1).str_repr(details=1), "p0:1 v0:101 n0:64 d1/4 o64")
示例5: test_1voice_setpatch
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_1voice_setpatch(self):
t = Track()
t.note(4, 90, 127)
t.set_patch(3)
t.note(4, 91, 127)
self.assertEquals(list(MidiEventStream(t)),
[('program-change', 0, 0),
('volume', 0, 100),
('note-on', 0, 90, 127),
('notelen-time', Rat(1, 4)),
('note-off', 0, 90, 127),
('program-change', 0, 3),
('note-on', 0, 91, 127),
('notelen-time', Rat(1, 4)),
('note-off', 0, 91, 127),
])
示例6: test_x1
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_x1(self):
t1 = Track()
t1.set_patch(1)
t1.note(4, 60)
t1.set_patch(2)
t1.note(4, 60)
t1.set_patch(3)
t1.note(4, 60)
t1.set_patch(4)
t1.note(4, 60)
m = MidiEventStream(t1)
self.assertEqual("p0:1 p1:2 p2:3 p3:4 v0:100 n0:60 d1/4 o60 v1:100 n1:60 d1/4 o60 v2:100 n2:60 d1/4 o60 v3:100 n3:60 d1/4 o60", m.str_repr(1))
示例7: test_melodic_interval_2_tracks
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_melodic_interval_2_tracks(self):
"""
In this test, only MIDI channel 0 will be allocated, even though
two different patches and volumes are used. This because the tones
from the two tracks does not sound at the same time.
"""
t1 = Track()
t1.set_patch(1)
t1.set_volume(101)
t1.note(4, 64)
t2 = Track()
t2.set_patch(2)
t2.set_volume(102)
t2.notelen_time(4)
t2.note(4, 66)
self.assertEquals(t1.str_repr(), "p1 v101 n64 d1/4 o64")
self.assertEquals(t2.str_repr(), "p2 v102 d1/4 n66 d1/4 o66")
m = MidiEventStream(t1, t2)
self.assertEquals(m.str_repr(1),
"p0:1 v0:101 n0:64 d1/4 o64 p0:2 v0:102 n0:66 d1/4 o66")
示例8: test_str_repr
# 需要导入模块: from solfege.mpd.track import Track [as 别名]
# 或者: from solfege.mpd.track.Track import set_patch [as 别名]
def test_str_repr(self):
t1 = Track()
t1.set_volume(88)
t1.set_patch(3)
t1.note(4, 93, 127)
t2 = Track()
t2.set_patch(4)
t2.note(4, 94, 127)
t3 = Track()
t3.set_patch(5)
t3.note(4, 95, 127)
self.assertEquals(list(MidiEventStream(t1, t2, t3)),
[
('program-change', 0, 3),
('volume', 0, 88),
('note-on', 0, 93, 127),
('program-change', 1, 4),
('volume', 1, 100),
('note-on', 1, 94, 127),
('program-change', 2, 5),
('volume', 2, 100),
('note-on', 2, 95, 127),
('notelen-time', Rat(1, 4)),
('note-off', 0, 93, 127),
('note-off', 1, 94, 127),
('note-off', 2, 95, 127)])
self.assertEquals(MidiEventStream(t1, t2, t3).str_repr(details=1),
"p0:3 v0:88 n0:93 p1:4 v1:100 n1:94 p2:5 v2:100 n2:95 d1/4 o93 o94 o95")