Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(579)

Side by Side Diff: Documentation/notation/input.itely

Issue 302930043: Doc: Add a section about handling MIDI dynamics with multiple voices
Patch Set: condense the additions, improve accuracy about named voices Created 7 years, 8 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Documentation/notation/simultaneous.itely » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 @c -*- coding: utf-8; mode: texinfo; -*- 1 @c -*- coding: utf-8; mode: texinfo; -*-
2 2
3 @ignore 3 @ignore
4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH 4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 5
6 When revising a translation, copy the HEAD committish of the 6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors' 7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes.. 8 Guide, node Updating translation committishes..
9 @end ignore 9 @end ignore
10 10
(...skipping 2962 matching lines...) Expand 10 before | Expand all | Expand 10 after
2973 of dynamic markings and the relative volume of different instruments. 2973 of dynamic markings and the relative volume of different instruments.
2974 2974
2975 Dynamic marks translate automatically into volume levels in the 2975 Dynamic marks translate automatically into volume levels in the
2976 available MIDI volume range whereas crescendi and decrescendi vary the 2976 available MIDI volume range whereas crescendi and decrescendi vary the
2977 volume linearly between their two extremes. It is possible to control 2977 volume linearly between their two extremes. It is possible to control
2978 the relative volume of dynamic markings, and the overall volume levels 2978 the relative volume of dynamic markings, and the overall volume levels
2979 of different instruments. 2979 of different instruments.
2980 2980
2981 @menu 2981 @menu
2982 * Dynamic marks in MIDI:: 2982 * Dynamic marks in MIDI::
2983 * MIDI dynamics and voices::
2983 * Setting MIDI volume:: 2984 * Setting MIDI volume::
2984 * Setting MIDI block properties:: 2985 * Setting MIDI block properties::
2985 @end menu 2986 @end menu
2986 2987
2987 @cindex MIDI volume 2988 @cindex MIDI volume
2988 @cindex MIDI equalization 2989 @cindex MIDI equalization
2989 @cindex MIDI dynamics 2990 @cindex MIDI dynamics
2990 @cindex Dynamics in MIDI 2991 @cindex Dynamics in MIDI
2992 @cindex MIDI dynamics and voices
2991 2993
2992 2994
2993 @node Dynamic marks in MIDI 2995 @node Dynamic marks in MIDI
2994 @unnumberedsubsubsec Dynamic marks in MIDI 2996 @unnumberedsubsubsec Dynamic marks in MIDI
2995 2997
2996 Only the dynamic markings from @code{ppppp} to @code{fffff}, including 2998 Only the dynamic markings from @code{ppppp} to @code{fffff}, including
2997 @code{mp}, @code{mf} and @code{sf} have values assigned to them. This 2999 @code{mp}, @code{mf} and @code{sf} have values assigned to them. This
2998 value is then applied to the value of the overall MIDI volume range to 3000 value is then applied to the value of the overall MIDI volume range to
2999 obtain the final volume included in the MIDI output for that particular 3001 obtain the final volume included in the MIDI output for that particular
3000 dynamic marking. The default fractions range from 0.25 for 3002 dynamic marking. The default fractions range from 0.25 for
3001 @notation{ppppp} to 0.95 for @notation{fffff}. The complete set of 3003 @notation{ppppp} to 0.95 for @notation{fffff}. The complete set of
3002 dynamic marks and their associated fractions can be found in 3004 dynamic marks and their associated fractions can be found in
3003 @file{scm/midi.scm}. 3005 @file{scm/midi.scm}.
3004 3006
3005 3007
3006 @snippets 3008 @snippets
3007 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] 3009 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3008 {creating-custom-dynamics-in-midi-output.ly} 3010 {creating-custom-dynamics-in-midi-output.ly}
3009 3011
3010 Installed Files: 3012 Installed Files:
3011 @file{ly/script-init.ly} 3013 @file{ly/script-init.ly}
3012 @file{scm/midi.scm}. 3014 @file{scm/midi.scm}.
3013 3015
3014 Snippets: 3016 Snippets:
3015 @rlsr{MIDI}. 3017 @rlsr{MIDI}.
3016 3018
3017 Internals Reference: 3019 Internals Reference:
3018 @rinternals{Dynamic_performer}. 3020 @rinternals{Dynamic_performer}.
3019 3021
3022 @node MIDI dynamics and voices
3023 @unnumberedsubsubsec MIDI dynamics and voices
3024
3025 In each newly instantiated @code{Voice}, all notes before the
3026 first note with an explicit dynamic mark attached will be
3027 assigned a default MIDI dynamic level, which corresponds to the
3028 value 0.71 in the available MIDI volume range between 0 and 1.
Dan Eble 2016/07/11 13:34:45 Is it necessary to be this specific? If so, is th
Carl 2016/07/11 16:39:01 I think that it's useful to know what the default
Dan Eble 2016/07/11 23:41:18 But I've seen the default hard-coded in C++. And
3029 Dynamic changes in a @code{Voice} are shared only between
3030 identically named voices in the same @code{Staff}.
Carl 2016/07/11 16:39:01 I hadn't realized this feature of MIDI. I believe
Dan Eble 2016/07/11 23:41:18 I believe I have a patch for this already, but it
3031
3032 For example, notes marked with 1), 2), 3) and 4) below will be
3033 assigned the dynamic levels @code{pppp}, the default level,
3034 @code{mf} and @code{pp} (respectively) in the MIDI output:
3035
3036 @lilypond[quote,verbatim]
3037 \new Staff {
3038 \new Voice = "A" \relative {
3039 % 1)
3040 c'2\pppp
3041 <<
3042 \new Voice = "A" \relative {
3043 % 2) 2) 3) 3)
3044 \voiceOne c''8 c8 c8^\mf c8
3045 }
3046 \new Voice = "B" \relative {
3047 % 2) 4)
3048 \voiceTwo c'8_\> c4 c8_\pp
3049 }
3050 >>
3051 % 3)
3052 \oneVoice c1
3053 }
3054 <<
3055 \new Voice = "A" \relative {
3056 % 2)
3057 \voiceOne c''1
3058 }
3059 \new Voice = "B" \relative {
3060 % 2) 2)
3061 \voiceTwo c'2 c2
3062 }
3063 >>
3064 }
3065 @end lilypond
3066
3067 @noindent
3068 To avoid unintended changes in MIDI dynamics at @code{Voice}
3069 boundaries, the dynamic level can be set at these points
3070 using explicit dynamic marks if necessary. Removing these marks
3071 from the typeset output can be done by removing their stencil
3072 (see @ref{Visibility of objects}) or by using tags to enable
3073 processing the dynamic marks only when generating MIDI output
3074 (see @ref{Using tags}).
3075
3076 @seealso
3077 Notation Reference:
3078 @ref{Single-staff polyphony}.
3079
3080 Internals Reference:
3081 @rinternals{Dynamic_performer}.
3082
3020 3083
3021 @node Setting MIDI volume 3084 @node Setting MIDI volume
3022 @unnumberedsubsubsec Setting MIDI volume 3085 @unnumberedsubsubsec Setting MIDI volume
3023 3086
3024 The minimum and maximum overall volume of MIDI dynamic markings is 3087 The minimum and maximum overall volume of MIDI dynamic markings is
3025 controlled by setting the properties @code{midiMinimumVolume} and 3088 controlled by setting the properties @code{midiMinimumVolume} and
3026 @code{midiMaximumVolume} at the @code{Score} level. These properties 3089 @code{midiMaximumVolume} at the @code{Score} level. These properties
3027 have an effect only at the start of a voice and on dynamic marks. The 3090 have an effect only at the start of a voice and on dynamic marks. The
3028 fraction corresponding to each dynamic mark is modified with this 3091 fraction corresponding to each dynamic mark is modified with this
3029 formula 3092 formula
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
3675 3738
3676 3739
3677 @knownissues 3740 @knownissues
3678 3741
3679 Not all lilypond music events are supported by 3742 Not all lilypond music events are supported by
3680 @file{event-listener.ly}. It is intended to be a well-crafted 3743 @file{event-listener.ly}. It is intended to be a well-crafted
3681 @qq{proof of concept}. If some events that you want to see are 3744 @qq{proof of concept}. If some events that you want to see are
3682 not included, copy @file{event-listener.ly} into your lilypond 3745 not included, copy @file{event-listener.ly} into your lilypond
3683 directory and modify the file so that it outputs the information 3746 directory and modify the file so that it outputs the information
3684 you want. 3747 you want.
OLDNEW
« no previous file with comments | « no previous file | Documentation/notation/simultaneous.itely » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b