Overview
Comment: | Note duration is now counted as fraction of a whole note, as measured based on BPM |
---|---|
Timelines: | family | ancestors | descendants | both | tld |
Files: | files | file ages | folders |
SHA1: |
5a35ffdd27abbc2f09059de494e44edd |
User & Date: | spiffytech@gmail.com on 2010-11-17 06:57:32 |
Other Links: | branch diff | manifest | tags |
Context
2010-11-17
| ||
07:30 | Added support for rest notes Closed-Leaf check-in: aa88358397 user: spiffytech@gmail.com tags: tld | |
06:57 | Note duration is now counted as fraction of a whole note, as measured based on BPM check-in: 5a35ffdd27 user: spiffytech@gmail.com tags: tld | |
06:27 | TLD now accepts ordering of movements. Also, fixed bug that caused all movements and instruments to play simultaneously. check-in: db1df2f460 user: spiffytech@gmail.com tags: tld | |
Changes
Modified cfg.py from [f043e9a785] to [f7b2188978].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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 | + + + + - - - + + | #!/usr/bin/env python from __future__ import division import os import random import sys import time random.seed(time.time()) import parse def main(): key = "A" bps = 80/60 print bps tempo = 1/bps composition = { "a": { # Movement block 'a' for reuse throughout the piece "melody": { # Instrument 'melody' "csound_parameters": { "instrument": 1, }, "grammars": { # Notes for this instrument to use in this piece "u": ["I V V V I I IV u u", "I IV u u", "I VII IV u u" , "e"], |
︙ | |||
68 69 70 71 72 73 74 75 76 | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | + + + + - - | generated_score = generate_score(instr["score"], instr["grammars"]) # Fill in the scores by generating them based on the grammars score = parse.parse(generated_score) # Return Node/Chord objects # Generate timestamps for the notes t = instr_start_time for note in range(len(score)): score[note].time = t # print "Original duration:", score[note].duration score[note].duration *= tempo # print "New duration:", score[note].duration t += score[note].duration # print "t:", t max_t = t if t > max_t else max_t |
︙ |
Modified test.sco from [8d380ffb70] to [a5eee77281].
|
Modified todo.org from [11f927dcbf] to [1f5e1e7f07].
1 2 3 4 5 6 7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | - + - + | * Features [1/5] - [X] Top-down composition - [ ] Transition the melody between chords appropriately - [ ] Set maximum song length - [ ] Need to support all chord types - [ ] Doesn't handle rest notes |