summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarian Sigler <m@qjym.de>2013-06-08 22:50:04 +0200
committerMarian Sigler <m@qjym.de>2013-06-08 22:50:04 +0200
commit0c84e8206325bf14340060edf2a3410dde79861a (patch)
tree28e0aa05a8f506e66f9bfb7483c95d216186f3b0
parent49ac384d6527fb2aaf80c8e681485b7a988896fc (diff)
downloadtesla-0c84e8206325bf14340060edf2a3410dde79861a.tar.gz
tesla-0c84e8206325bf14340060edf2a3410dde79861a.tar.bz2
tesla-0c84e8206325bf14340060edf2a3410dde79861a.zip
fix octave handling
-rw-r--r--rtttl.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/rtttl.py b/rtttl.py
index c741974..6d1dfe5 100644
--- a/rtttl.py
+++ b/rtttl.py
@@ -16,19 +16,19 @@ _rtttl_re = re.compile('^\s*([0-9]+)?([a-hp]#?)(\.?)([0-9]?)\s*$')
_rtttl_prefix_re = re.compile('d=([0-9]+),\s?o=([1-5]),\s?b=([0-9]+)')
freqs = {
+ 'c': 261.626,
+ 'c#': 277.183,
+ 'd': 293.665,
+ 'd#': 311.127,
+ 'e': 329.628,
+ 'f': 349.228,
+ 'f#': 369.994,
+ 'g': 391.995,
+ 'g#': 415.305,
'a': 440.000,
'a#': 466.164,
'b': 493.883,
'h': 493.883,
- 'c': 523.251,
- 'c#': 554.365,
- 'd': 587.330,
- 'd#': 622.254,
- 'e': 659.255,
- 'f': 698.456,
- 'f#': 739.989,
- 'g': 783.991,
- 'g#': 830.609,
'p': 0,
}
@@ -38,7 +38,7 @@ def parse(s):
d, o, b = pm.groups()
defaultlength = int(d)
- octave = int(o)
+ defaultoctave = int(o)
timefactor = int(b)/60
# for m in _rtttl_re.finditer(music):
@@ -62,6 +62,8 @@ def parse(s):
tone = freqs[t.lower()]
if o:
octave = o
+ else:
+ octave = defaultoctave
tone = tone * 2**(int(octave) - 4)