]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/midi.scm
patch::: 1.3.37.jcn1
[lilypond.git] / scm / midi.scm
index 0e42d834a2eaf09d119d87f19bf5d944b7039fc7..94ceeb50e243360443f6daf9c7dc9f05fb6e1cc2 100644 (file)
@@ -5,19 +5,21 @@
 ;;; (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
 
 
+;; define factor of total volume per dynamic marking
 (define absolute-volume-alist '())
 (set! absolute-volume-alist
       (append 
       '(
-       ("sf" . 115)
-       ("fff" . 102)
-       ("ff" . 90)
-       ("f" . 77)
-       ("mf" . 64)
-       ("mp" . 51)
-       ("p" . 38)
-       ("pp" . 26)
-       ("ppp" . 13)
+       ("sf" . 1.00)
+       ("ffff" . 0.91)
+       ("fff" . 0.81)
+       ("ff" . 0.71)
+       ("f" . 0.61)
+       ("mf" . 0.50)
+       ("mp" . 0.40)
+       ("p" . 0.30)
+       ("pp" . 0.20)
+       ("ppp" . 0.10)
        )
       absolute-volume-alist))
 
     (if entry
        (cdr entry))))
 
-;; 90 is supposed to be the default value
+;; define factors of total volume of minimum and maximum volume
+(define instrument-equaliser-alist '())
+(set! instrument-equaliser-alist
+      (append 
+       '(
+        ("flute" . (0 . 0.6))
+        ("oboe" . (0 . 0.7))
+        ("clarinet" . (0 . 0.7))
+        ("bassoon" . (0 . 0.6))
+        ("french horn" . (0.1 . 0.7))
+        ("trumpet" . (0.1 . 0.8))
+        ("timpani" . (0.2 . 0.9))
+        ("violin" . (0.2 . 1.0))
+        ("viola" . (0.1 . 0.7))
+        ("cello" . (0.2 . 0.8))
+        ("contrabass" . (0.2 . 0.8))
+        )
+       instrument-equaliser-alist))
+
+(define (instrument-equaliser s)
+  (let ((entry (assoc s instrument-equaliser-alist)))
+    (if entry
+       (cdr entry))))
+
+;; 90 == 90/127 == 0.71 is supposed to be the default value
 ;; urg: we should set this at start of track
-(define dynamic-default-volume 90)
+(define dynamic-default-volume 0.71)