Changes In Branch develop Through [8293931a34] Excluding Merge-Ins
This is equivalent to a diff from 689adc054e to 8293931a34
|
2011-11-07
| ||
| 01:39 | Altered the sample-based instruments to ine Csound string formatting instead of a billion if clauses to choose what file to play check-in: 4f872339ff user: brian tags: develop | |
|
2011-11-03
| ||
| 19:23 | Added a very, very bad set of violin samples check-in: 8293931a34 user: brian tags: develop | |
| 18:50 | Merged in diskin2 mode for cfg.orc check-in: 0021a3fe22 user: brian tags: develop | |
|
2011-06-12
| ||
| 20:32 | Made some changes to the parser. Don't remember what. Leaf check-in: 87435601e4 user: brian tags: master | |
| 20:31 | Create new branch named "develop" check-in: 9f4c4666c5 user: brian tags: develop | |
|
2011-02-10
| ||
| 23:50 | Program generates a render order for the instruments based on their sync order check-in: 689adc054e user: brian@linux-85dd.site tags: master | |
| 22:34 | Added lexical support for parens instead of quotes for chords, cleaned up the yacc parser, added lex tokens for syncopation check-in: 702d933446 user: brian@linux-85dd.site tags: master | |
Modified cfg.orc
from [9f49be1cae]
to [a0811d420c].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sr=44100
ksmps=20
nchnls=1
instr 1
asound pluck p4, cpspch(p5), cpspch(p6), p7, p8 p9 p10
out asound
endin
instr 2
kenv linen p4, .1, p3, .2; envelope
asound oscili kenv, cpspch(p5), p6; oscillator
out asound
endin
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
sr=44100
ksmps=20
nchnls=1
instr 3
if p5=1.05 then
asig diskin2 "samples/bass/1.05.wav", 1
elseif p5=1.06 then
asig diskin2 "samples/bass/1.06.wav", 1
elseif p5=1.07 then
asig diskin2 "samples/bass/1.07.wav", 1
elseif p5=1.08 then
asig diskin2 "samples/bass/1.08.wav", 1
elseif p5=1.08 then
asig diskin2 "samples/bass/1.09.wav", 1
elseif p5=1.10 then
asig diskin2 "samples/bass/1.10.wav", 1
elseif p5=1.11 then
asig diskin2 "samples/bass/1.11.wav", 1
elseif p5=2.00 then
asig diskin2 "samples/bass/2.00.wav", 1
elseif p5=2.01 then
asig diskin2 "samples/bass/2.01.wav", 1
elseif p5=2.02 then
asig diskin2 "samples/bass/2.02.wav", 1
elseif p5=2.03 then
asig diskin2 "samples/bass/2.03.wav", 1
elseif p5=2.04 then
asig diskin2 "samples/bass/2.04.wav", 1
elseif p5=2.05 then
asig diskin2 "samples/bass/2.05.wav", 1
elseif p5=2.06 then
asig diskin2 "samples/bass/2.06.wav", 1
elseif p5=2.07 then
asig diskin2 "samples/bass/2.07.wav", 1
elseif p5=2.08 then
asig diskin2 "samples/bass/2.08.wav", 1
elseif p5=2.09 then
asig diskin2 "samples/bass/2.09.wav", 1
elseif p5=2.10 then
asig diskin2 "samples/bass/2.10.wav", 1
elseif p5=2.11 then
asig diskin2 "samples/bass/2.11.wav", 1
elseif p5=3.00 then
asig diskin2 "samples/bass/3.00.wav", 1
elseif p5=3.01 then
asig diskin2 "samples/bass/3.01.wav", 1
elseif p5=3.02 then
asig diskin2 "samples/bass/3.02.wav", 1
elseif p5=3.03 then
asig diskin2 "samples/bass/3.03.wav", 1
elseif p5=3.04 then
asig diskin2 "samples/bass/3.04.wav", 1
elseif p5=3.05 then
asig diskin2 "samples/bass/3.05.wav", 1
elseif p5=3.06 then
asig diskin2 "samples/bass/3.06.wav", 1
elseif p5=3.07 then
asig diskin2 "samples/bass/3.07.wav", 1
elseif p5=3.08 then
asig diskin2 "samples/bass/3.08.wav", 1
elseif p5=3.09 then
asig diskin2 "samples/bass/3.09.wav", 1
elseif p5=3.10 then
asig diskin2 "samples/bass/3.10.wav", 1
elseif p5=3.11 then
asig diskin2 "samples/bass/3.11.wav", 1
endif
outs asig
endin
instr 1
asound pluck p4, cpspch(p5), cpspch(p6), p7, p8 p9 p10
out asound
endin
instr 2
kenv linen p4, .1, p3, .2; envelope
asound oscili kenv, cpspch(p5), p6; oscillator
out asound
endin
instr 4
aFMinst foscili p4, cpspch(p5), p6, p7, p8, p9
endin
instr 5
if p5=3.07 then
asig diskin2 "samples/violin/3.07.wav", 1
elseif p5=3.08 then
asig diskin2 "samples/violin/3.08.wav", 1
elseif p5=3.08 then
asig diskin2 "samples/violin/3.09.wav", 1
elseif p5=3.10 then
asig diskin2 "samples/violin/3.10.wav", 1
elseif p5=3.11 then
asig diskin2 "samples/violin/3.11.wav", 1
elseif p5=4.00 then
asig diskin2 "samples/violin/4.00.wav", 1
elseif p5=4.01 then
asig diskin2 "samples/violin/4.01.wav", 1
elseif p5=4.02 then
asig diskin2 "samples/violin/4.02.wav", 1
elseif p5=4.03 then
asig diskin2 "samples/violin/4.03.wav", 1
elseif p5=4.04 then
asig diskin2 "samples/violin/4.04.wav", 1
elseif p5=4.05 then
asig diskin2 "samples/violin/4.05.wav", 1
elseif p5=4.06 then
asig diskin2 "samples/violin/4.06.wav", 1
elseif p5=4.07 then
asig diskin2 "samples/violin/4.07.wav", 1
elseif p5=4.08 then
asig diskin2 "samples/violin/4.08.wav", 1
elseif p5=4.09 then
asig diskin2 "samples/violin/4.09.wav", 1
elseif p5=4.10 then
asig diskin2 "samples/violin/4.10.wav", 1
elseif p5=4.11 then
asig diskin2 "samples/violin/4.11.wav", 1
elseif p5=5.00 then
asig diskin2 "samples/violin/5.00.wav", 1
elseif p5=5.01 then
asig diskin2 "samples/violin/5.01.wav", 1
elseif p5=5.02 then
asig diskin2 "samples/violin/5.02.wav", 1
elseif p5=5.03 then
asig diskin2 "samples/violin/5.03.wav", 1
elseif p5=5.04 then
asig diskin2 "samples/violin/5.04.wav", 1
elseif p5=5.05 then
asig diskin2 "samples/violin/5.05.wav", 1
elseif p5=5.06 then
asig diskin2 "samples/violin/5.06.wav", 1
elseif p5=5.07 then
asig diskin2 "samples/violin/5.07.wav", 1
elseif p5=5.08 then
asig diskin2 "samples/violin/5.08.wav", 1
elseif p5=5.09 then
asig diskin2 "samples/violin/5.09.wav", 1
elseif p5=5.10 then
asig diskin2 "samples/violin/5.10.wav", 1
elseif p5=5.11 then
asig diskin2 "samples/violin/5.11.wav", 1
endif
outs asig
endin
|
Deleted cfg.py version [e9b556b4f3].
Modified parse.py
from [3ec57c3fbe]
to [a8d0994825].
1 2 3 4 | #!/usr/bin/env python from ply import lex, yacc class Note(): | > > | < | | > | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#!/usr/bin/env python
import tree
from ply import lex, yacc
class Note():
def __init__(self, value, duration=1, octave=8):
self.value = value
self.duration = duration
self.octave = octave
def __repr__(self):
return "Note %s %s %s" % (self.value, self.duration, self.octave)
class Chord():
def __init__(self, value, duration=1, chord_type="major", octave=5):
self.value = value
self.duration = duration
self.chord_type = chord_type
self.octave = octave
def __repr__(self):
return "Chord %s %s %s" % (self.value, self.duration, self.chord_type, self.octave)
class Rest():
def __init__(self, duration=1):
self.duration = duration
def __repr__(self):
return "Rest node %s" % self.duration
def parse(score, default_octave=8):
# Tokenize (lex)
tokens = (
"NOTE_LENGTH",
"BASENOTE",
"ACCIDENTAL",
"REST",
"OCTAVE",
"CHORD_TYPE",
"PAREN",
"SYNCOPATE",
"NODE",
)
t_ignore = " |"
t_BASENOTE = r"[A-Ga-g]"
# t_BASENOTE = r"I+V?|VI*|i+v?|vi*"
t_ACCIDENTAL = r"\^{1}|_{1}|="
t_REST = r"z"
t_OCTAVE = r"'+|,+"
t_CHORD_TYPE = r"m|7|m7|0|o|\+|mb5|sus|sus4|maj7|mmaj7|7sus4|dim|dim7|7b5|m7b5|6|b6|m6|mb6|46|maj9|9|add9|7b9|m9"
t_PAREN = "\(|\)"
t_SYNCOPATE = "\+|-"
t_NODE = r"\([a-zA-Z0-9_-]+\)"
def t_NOTE_LENGTH(t):
r"/?\d+"
multiplier = float(t.value.strip("/"))
if t.value.startswith("/"):
multiplier = 1/multiplier
t.value = multiplier
|
| ︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# Parse (yacc)
def p_note_list(p):
'''score : score note
| score chord
| score rest
'''
p[0] = p[1] + [p[2]]
def p_score(p):
'''score : note
| chord
| rest
'''
p[0] = [p[1]]
def p_chord_length(p):
''' chord : chord NOTE_LENGTH
'''
| > > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# Parse (yacc)
def p_note_list(p):
'''score : score note
| score chord
| score rest
| score node
'''
p[0] = p[1] + [p[2]]
def p_score(p):
'''score : note
| chord
| rest
| node
'''
p[0] = [p[1]]
def p_chord_length(p):
''' chord : chord NOTE_LENGTH
'''
|
| ︙ | ︙ | |||
114 115 116 117 118 119 120 |
'''
note.syncopate = p[2]
def p_accidental(p):
'''note : ACCIDENTAL note
'''
| | > > > | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
'''
note.syncopate = p[2]
def p_accidental(p):
'''note : ACCIDENTAL note
'''
if p[1] == "^":
p[2].value += "#"
else:
p[2].value += "b"
p[0] = p[2]
def p_octave(p):
'''note : note OCTAVE
'''
count = len(p[2])
increment_or_decrement = 1 if p[2].startswith("'") else -1
|
| ︙ | ︙ | |||
137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
def p_rest(p):
''' rest : REST
| REST NOTE_LENGTH
'''
p[0] = Rest()
if len(p) > 2:
p[0].duration = p[2]
def p_error(p):
raise Exception("Syntax error at '%s' of element type %s" % (p.value, p.type))
yacc.yacc()
return yacc.parse(score)
| > > > > > > > > > | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
def p_rest(p):
''' rest : REST
| REST NOTE_LENGTH
'''
p[0] = Rest()
if len(p) > 2:
p[0].duration = p[2]
def p_node(p):
'''node : NODE
'''
p[0] = tree.Tree(p[1].strip("(").strip(")"))
def p_error(p):
# import ipdb
# ipdb.set_trace()
print p
raise Exception("Syntax error at '%s' of element type %s" % (p.value, p.type))
yacc.yacc()
return yacc.parse(score)
|
Added samples/bass/1.05.wav version [e6f01c2d0c].
Added samples/bass/1.06.wav version [589b4c9c16].
Added samples/bass/1.07.wav version [b5bd0e0b28].
Added samples/bass/1.08.wav version [4e22c8e289].
Added samples/bass/1.09.wav version [8eafba8350].
Added samples/bass/1.10.wav version [6c9d557273].
Added samples/bass/1.11.wav version [d210644e57].
Added samples/bass/2.00.wav version [df0ad67bd3].
Added samples/bass/2.01.wav version [5e4bdb6301].
Added samples/bass/2.02.wav version [2787d975d6].
Added samples/bass/2.03.wav version [6ce7982e46].
Added samples/bass/2.04.wav version [3c3feb5b24].
Added samples/bass/2.05.wav version [569b7181fc].
Added samples/bass/2.06.wav version [297d4f860f].
Added samples/bass/2.07.wav version [1ac14e3cd2].
Added samples/bass/2.08.wav version [b92037909c].
Added samples/bass/2.09.wav version [760599b161].
Added samples/bass/2.10.wav version [3b900ab89f].
Added samples/bass/2.11.wav version [bcaf91186d].
Added samples/bass/3.00.wav version [5d028b32a1].
Added samples/bass/3.01.wav version [9d6dded4d3].
Added samples/bass/3.02.wav version [78dab72fb7].
Added samples/bass/3.03.wav version [9476ff14fb].
Added samples/bass/3.04.wav version [0822a77edf].
Added samples/bass/3.05.wav version [dc233966b5].
Added samples/bass/3.06.wav version [c254ae3482].
Added samples/bass/3.07-old1.wav version [7e77a9e339].
Added samples/bass/3.07.wav version [23ec2fdb73].
Added samples/bass/3.08.wav version [c799d64faf].
Added samples/bass/3.09.wav version [cedce4e5ea].
Added samples/bass/3.10.wav version [bbc1ef4a09].
Added samples/bass/3.11.wav version [f679f5a61b].
Added samples/bass/Bass.arco.mf.sulE.C2B2.aiff version [b705aee00e].
Added samples/bass/Bass.arco.mf.sulE.C3D3.aiff version [17eacace3a].
Added samples/bass/Bass.arco.mf.sulG.C3B3.aiff version [8b429011eb].
Added samples/bass/Bass.arco.mf.sulG.G2B2.aiff version [8c3a1d88c6].
Added samples/bass/test.orc version [2795c8cc70].
Added samples/bass/test.sco version [f5f91e8863].
Added samples/bass/test.wav version [550291acb7].
Added samples/violin/3.07.wav version [91dadc3e2c].
Added samples/violin/3.08.wav version [be7c18dc74].
Added samples/violin/3.09.wav version [a329787b04].
Added samples/violin/3.10.wav version [9ec0cf45e5].
Added samples/violin/3.11.wav version [febad8547c].
Added samples/violin/4.00.wav version [99a0049e7f].
Added samples/violin/4.01.wav version [c6f6725f8f].
Added samples/violin/4.02.wav version [8facf1aa8c].
Added samples/violin/4.03.wav version [4a79f04135].
Added samples/violin/4.04.wav version [3784e3b4fd].
Added samples/violin/4.05.wav version [426e685d09].
Added samples/violin/4.06.wav version [4508912bc2].
Added samples/violin/4.07.wav version [a1545e9d26].
Added samples/violin/4.08.wav version [a9461ed31b].
Added samples/violin/4.09.wav version [82320d5d1a].
Added samples/violin/4.10.wav version [13c837dfa4].
Added samples/violin/4.11.wav version [cf5017f10d].
Added samples/violin/5.00.wav version [77cf68a157].
Added samples/violin/5.01.wav version [e062aa503b].
Added samples/violin/5.02.wav version [a2c349d8e6].
Added samples/violin/5.03.wav version [00a8ef8b10].
Added samples/violin/5.04.wav version [77dc78528a].
Added samples/violin/5.05.wav version [f392909f77].
Added samples/violin/5.06.wav version [bc6dc8f0c4].
Added samples/violin/5.07.wav version [9a3c68e5f3].
Added samples/violin/5.08.wav version [61c81ce45f].
Added samples/violin/5.09.wav version [9014c1e21a].
Added samples/violin/5.10.wav version [f1fa1241d2].
Added samples/violin/5.11.wav version [d4ed637350].
Added score.yaml version [29fd4ba47c].
Added spiffyscore.py version [c67f427fd6].
Deleted test.sco version [c92bf3908c].
Deleted todo.org version [510751b73f].
Added tree.py version [29c78902c8].