示例#1
0
 def test_dynamics_linear_crecendo(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     s1 = s1 * 5
     velocitied = s1 | dynamics("ppp", "fff")
     self.assertEqual([p["velocity"] for p in velocitied],
                      [24, 34, 44, 54, 64, 74, 84, 94, 104, 114])
示例#2
0
 def test_all_dynamic_markers(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     velocities = ["pppppp", "ppppp", "pppp", "ppp", "pp", "p", "mp", "mf", "f", "ff", "fff", "ffff"]
     for velocity in velocities:
         dynamiced = s1 | dynamics(velocity)
         self.assertTrue("velocity" in dynamiced[0])
示例#3
0
 def test_all_dynamic_markers(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     velocities = [
         "pppppp", "ppppp", "pppp", "ppp", "pp", "p", "mp", "mf", "f", "ff",
         "fff", "ffff"
     ]
     for velocity in velocities:
         dynamiced = s1 | dynamics(velocity)
         self.assertTrue("velocity" in dynamiced[0])
示例#4
0
 def test_dynamics(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     dynamiced = s1 | dynamics("ff")
     self.assertEqual([p.tuple("velocity") for p in dynamiced], [(94, ),
                                                                 (94, )])
示例#5
0
from sebastian.lilypond import write_lilypond

# construct sequences using lilypond syntax
melody = parse("e4 e f g g f e d c c d e")
A = parse("e4. d8 d2")
Aprime = parse("d4. c8 c2")

two_bars = melody + A + melody + Aprime
two_bars = two_bars | midi_to_pitch()
two_bars = two_bars | add({"octave": 5})

velocities = [
    "pppppp", "ppppp", "pppp", "ppp", "pp", "p", "mp", "mf", "f", "ff", "fff",
    "ffff"
]

for d in velocities:
    two_bars_with_dynamics = two_bars | dynamics(d)
    write_midi.write("ode_%s.mid" % (d, ), [two_bars_with_dynamics])

two_bars_ff_lily = two_bars | dynamics("ff") | lilypond()
write_lilypond.write("ode_ff.ly", two_bars_ff_lily)

crescendo = two_bars | dynamics("ppp", "ff")
write_midi.write("ode_crescendo.mid", [crescendo])
write_lilypond.write("ode_crescendo.ly", crescendo | lilypond())

diminuendo = two_bars | dynamics("mf", "pppp")
write_midi.write("ode_diminuendo.mid", [diminuendo])
write_lilypond.write("ode_diminuendo.ly", diminuendo | lilypond())
示例#6
0
from sebastian.lilypond.interp import parse
from sebastian.core.transforms import dynamics, lilypond, midi_to_pitch, add
from sebastian.midi import write_midi
from sebastian.lilypond import write_lilypond

# construct sequences using lilypond syntax
melody = parse("e4 e f g g f e d c c d e")
A = parse("e4. d8 d2")
Aprime = parse("d4. c8 c2")

two_bars = melody + A + melody + Aprime
two_bars = two_bars | midi_to_pitch()
two_bars = two_bars | add({"octave": 5})

velocities = ["pppppp", "ppppp", "pppp", "ppp", "pp", "p", "mp", "mf", "f", "ff", "fff", "ffff"]

for d in velocities:
    two_bars_with_dynamics = two_bars | dynamics(d)
    write_midi.write("ode_%s.mid" % (d,), [two_bars_with_dynamics])

two_bars_ff_lily = two_bars | dynamics("ff") | lilypond()
write_lilypond.write("ode_ff.ly", two_bars_ff_lily)

crescendo = two_bars | dynamics("ppp", "ff")
write_midi.write("ode_crescendo.mid", [crescendo])
write_lilypond.write("ode_crescendo.ly", crescendo | lilypond())

diminuendo = two_bars | dynamics("mf", "pppp")
write_midi.write("ode_diminuendo.mid", [diminuendo])
write_lilypond.write("ode_diminuendo.ly", diminuendo | lilypond())
示例#7
0
 def test_dynamics(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     dynamiced = s1 | dynamics("ff")
     self.assertEqual([p.tuple("velocity") for p in dynamiced], [(94,), (94,)])
示例#8
0
 def test_dynamics_linear_crecendo(self):
     from sebastian.core.transforms import dynamics
     s1 = self.make_sequence()
     s1 = s1 * 5
     velocitied = s1 | dynamics("ppp", "fff")
     self.assertEqual([p["velocity"] for p in velocitied], [24, 34, 44, 54, 64, 74, 84, 94, 104, 114])