This will draw a glissando line between two notes, with optional text above the line. If either of the notes is a chord, the bottom notehead of that chord will be the starting or ending point of the line. Effective with NWC version 2.75a, the object can optionally be configured for playback.
Paste the following snippet into NWC 2.75a, then go to Tools > Manage Objects to install the object.
!NoteWorthyComposerClip(2.75,Single)
|Note|Dur:Whole|Pos:-6
|User|Glissando.ms|Pos:0
|Note|Dur:Whole|Pos:8
|Note|Dur:Whole|Pos:8
|User|Glissando.ms|Pos:0|Pen:wavy
|Note|Dur:Whole|Pos:-6
!NoteWorthyComposerClip-End
For details on the object's parameters, refer to the context-sensitive help on object's properties page.
Thanks buddy :)
The Glissando.ms object has been updated, with the following changes:
- Addition of "wavy" option for Pen parameter
In my score the glissando is not visible in edit mode nor in print preview mode but only in viewer mode.
I extracted this small piece and the glissando is never visible.
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:Common
|Dynamic|Style:f|Pos:-8|Visibility:Never
|User|TremoloSingle.ms|Pos:0|Beams:2|Play:N
|Chord|Dur:Half|Pos:-3,#-2,0,2|Opts:Stem=Down,StemLength=8,Muted
|User|TremoloSingle.ms|Pos:0|Beams:2|Play:N
|Chord|Dur:Half|Pos:3,5,7,10|Opts:Stem=Up,StemLength=8,Muted
|User|Glissando.ms|Pos:10|Scale:65
|Bar
|Rest|Dur:Whole|Visibility:Never
|Bar
!NoteWorthyComposerClip-End
The Glissando object should be between two notes/chords. Not between a note/chord and a rest.
If you need it at the end like that to indicate a sweep down, then use a muted grace whole note with a blank head
Right!
Since my score has no target note for glissato I overlooked this detail.
thank you.
The Glissando.ms object has been updated, with the following changes:
- The Line Weight parameter now affects all line types (straight and wavy)
Please refer to the parent post for additional information.
The glissando ignores the key change:
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Tempo|Tempo:168|Pos:10|Visibility:Never
|Chord|Dur:4th|Pos:-3,-1,2,3
|Chord|Dur:4th|Pos:-8,-3,-1,#1,3
|Chord|Dur:8th|Pos:n-6,-3,-1,#1,3|Opts:Stem=Up,Beam=First
|Chord|Dur:8th|Pos:#-6,-3,-1,1,3|Opts:Stem=Up,Beam=End
|Rest|Dur:8th
|Chord|Dur:8th|Pos:-5^,-3^,-1^,1^,3^
|Bar
|Chord|Dur:Half|Pos:-5,-3,-1,1,3|Opts:Stem=Up,Muted
|User|Glissando.ms|Pos:1|Playback:WhiteKeys|EndOffsetY:-10|Pen:wavy
|Clef|Type:Bass|Visibility:Never
|Note|Dur:8th,Grace|Pos:-2|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Clef|Type:Treble|Visibility:Never
|Bar
!NoteWorthyComposerClip-End
Of course I can olways write this way, cluttering up a bit the score in edit mode:
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Tempo|Tempo:168|Pos:10|Visibility:Never
|Chord|Dur:4th|Pos:-3,-1,2,3
|Chord|Dur:4th|Pos:-8,-3,-1,#1,3
|Chord|Dur:8th|Pos:n-6,-3,-1,#1,3|Opts:Stem=Up,Beam=First
|Chord|Dur:8th|Pos:#-6,-3,-1,1,3|Opts:Stem=Up,Beam=End
|Rest|Dur:8th
|Chord|Dur:8th|Pos:-5^,-3^,-1^,1^,3^
|Bar
|Chord|Dur:Half|Pos:-5,-3,-1,1,3|Opts:Stem=Up,Muted
|User|Glissando.ms|Pos:1|Playback:WhiteKeys|Pen:wavy|EndOffsetY:8
|Note|Dur:8th,Grace|Pos:-21|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
I think it's worth to know
There is also a problem with the timing.
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:-13
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2017 <Name>"|Copyright2:"All Rights Reserved"
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Trumpet"|Patch:56|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposer-End
If I don't mute the note before the glissato then it plays for all the glissando duration.
If I mute the note before the glissato then it plays for... ever.
And then, how the object knows when to start the glissato?
This sounds good but looks not so well:
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
The problem is the tie going into the glissando starting note. When there are two tied notes in NWC, the tie basically tells the first note to play only its "note on" and the second note to play only its "note off", so they sound as a single note of the combined duration. Muting the second note will suppress its "note off", causing a hanging note. Removing the tie makes it sound better, since there is no longer a hanging note, and the glissando is able to play during the muted half note.
Following is my attempt at a "fix" of the score:
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Grace|Pos:1|Visibility:Never
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
It sounds correct to me, and looks correct in view/print mode.
Good idea!
Thanks, Mike.
The Glissando.ms object has been updated with version 2.75a, with the following changes:
- Addition of interactive editing of the object's parameters, using the numeric keypad.
- Ability to span systems
- Playback has been added, both discrete and continuous modes (thanks to @NoteWorthy Online)
There is something wrong in the "pitch bend" glissato:
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:0
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2017 <Name>"|Copyright2:"All Rights Reserved"
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Brass Section"|Patch:61|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|Tempo|Tempo:168|Pos:10|Visibility:Never
|TimeSig|Signature:4/4
|Rest|Dur:8th
|Chord|Dur:4th,Accent|Pos:-1,6
|Chord|Dur:4th,Accent|Pos:1,8
|Chord|Dur:4th,Accent|Pos:#1,#8
|Chord|Dur:8th,Accent|Pos:2^,9^
|Bar
|Chord|Dur:4th|Pos:2,9|Opts:Muted
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:0|Opts:Stem=Up,StemLength=4.7,Muted|Visibility:Never
|Rest|Dur:Half,Dotted
!NoteWorthyComposer-End
If you unmute the starting note (the tied-in quarter note), it seems to play back as intended. (And yes, I know that the instructions say that both notes should be muted, but this might be an exception to that rule)
Yes, much better, but not perfect.
I hear the pitch bend returning rapidly to the neutral position slightly before the playing ends.
It should be slightly after. ;)
You shouldn't. This is the MIDI produced by Measure 2:
768 Pb ch=1 v=8192
770 Pb ch=1 v=8181
772 Pb ch=1 v=8170
774 Pb ch=1 v=8159
776 Pb ch=1 v=8148
778 Pb ch=1 v=8137
780 Pb ch=1 v=8126
782 Pb ch=1 v=8115
784 Pb ch=1 v=8104
786 Pb ch=1 v=8093
788 Pb ch=1 v=8083
790 Pb ch=1 v=8072
792 Pb ch=1 v=8061
794 Pb ch=1 v=8050
796 Pb ch=1 v=8039
798 Pb ch=1 v=8028
800 Pb ch=1 v=8017
802 Pb ch=1 v=8006
804 Pb ch=1 v=7995
806 Pb ch=1 v=7985
808 Pb ch=1 v=7974
810 Pb ch=1 v=7963
812 Pb ch=1 v=7952
814 Pb ch=1 v=7941
816 Pb ch=1 v=7930
818 Pb ch=1 v=7919
820 Pb ch=1 v=7908
822 Pb ch=1 v=7897
824 Pb ch=1 v=7887
826 Pb ch=1 v=7876
828 Pb ch=1 v=7865
830 Pb ch=1 v=7854
832 Pb ch=1 v=7843
834 Pb ch=1 v=7832
836 Pb ch=1 v=7821
838 Pb ch=1 v=7810
840 Pb ch=1 v=7799
842 Pb ch=1 v=7788
844 Pb ch=1 v=7778
846 Pb ch=1 v=7767
848 Pb ch=1 v=7756
850 Pb ch=1 v=7745
852 Pb ch=1 v=7734
854 Pb ch=1 v=7723
856 Pb ch=1 v=7712
858 Pb ch=1 v=7701
860 Pb ch=1 v=7690
862 Pb ch=1 v=7680
864 Pb ch=1 v=7669
866 Pb ch=1 v=7658
868 Pb ch=1 v=7647
870 Pb ch=1 v=7636
872 Pb ch=1 v=7625
874 Pb ch=1 v=7614
876 Pb ch=1 v=7603
878 Pb ch=1 v=7592
880 Pb ch=1 v=7582
882 Pb ch=1 v=7571
884 Pb ch=1 v=7560
886 Pb ch=1 v=7549
888 Pb ch=1 v=7538
890 Pb ch=1 v=7527
892 Pb ch=1 v=7516
894 Pb ch=1 v=7505
896 Pb ch=1 v=7494
898 Pb ch=1 v=7484
900 Pb ch=1 v=7473
902 Pb ch=1 v=7462
904 Pb ch=1 v=7451
906 Pb ch=1 v=7440
908 Pb ch=1 v=7429
910 Pb ch=1 v=7418
912 Pb ch=1 v=7407
914 Pb ch=1 v=7396
916 Pb ch=1 v=7385
918 Pb ch=1 v=7375
920 Pb ch=1 v=7364
922 Pb ch=1 v=7353
924 Pb ch=1 v=7342
926 Pb ch=1 v=7331
928 On ch=1 n=74 v=0
928 On ch=1 n=86 v=0
928 Pb ch=1 v=7320
930 Pb ch=1 v=7309
932 Pb ch=1 v=7298
934 Pb ch=1 v=7287
936 Pb ch=1 v=7277
938 Pb ch=1 v=7266
940 Pb ch=1 v=7255
942 Pb ch=1 v=7244
944 Pb ch=1 v=7233
946 Pb ch=1 v=7222
948 Pb ch=1 v=7211
950 Pb ch=1 v=7200
952 Pb ch=1 v=7189
954 Pb ch=1 v=7179
956 Pb ch=1 v=7168
960 Pb ch=1 v=8192
As you can see, the notes are turned off long before the Pb is reset.
Yes, the MIDI is correct.
It's playing inside NWC that sounds wrong.
Indeed the problem is my synth.
If I use an external keyboard or the (in)famous Microsoft GS wavetable there is no problem.
Sorry.
Sorry for the thread necromancy.
I love this Glissando effect. I'm using it to do some Flute glissandos and some String glissandos.
However, I'm trying to also use a Crescendo effect, effectively changing note-on velocity for the notes.
The Glissando notes, however, aren't following the Crescendo. They are ignoring it and using the velocity (dynamic marking) that is before the < marking.
Can you make the Glissando notes adhere to Crescendos and Decrescendo/Graphic Crescendo and Decrescendo rules?
(I'm using the White Notes/Black Notes/Chromatic glissando, not the pitchbend one).
You need to use volume, not note velocity.
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Dynamic|Style:f|Opts:Velocity=127,Volume=92|Pos:-8
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Grace|Pos:1|Opts:Diminuendo|Visibility:Never
|Note|Dur:Half|Pos:1|Opts:Diminuendo,Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Dynamic|Style:p|Opts:Velocity=127,Volume=45|Pos:-8
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
Ha. This sounds familiar to me. I may have read this some decades ago :)
Thanks Mike for creating that glissando, and Eric for enabling the object feature :D
I've been notating glissandi that start part way through the duration of the initial note. This can be achieved by starting with a rest chord and inserting an invisible note at the desired position, but the playback isn't correct.
Would it be possible to add a parameter to delay the start of the glissando, both notationally and for playback?
According to Behind Bars, this would be achieved notationally by shortening the line. You can do this by using the Start Offset X and Start Offset Y parameters.
Originally when I created the Glissando object, I had no idea that it would ever be able to achieve playback. The playback code currently handles a number of playback options, and has gotten fairly complex; I don't think it will ever be able to achieve every possible playback contingency. For the time being, you may be better off using the standard NWC "tricks" for glissando playback, for your particular situation. If you do come up with a sample score that does what you want, please share it here and I can attempt to model that behavior within the plugin code.
Thanks,
Mike
I was able to do that, but I don't remember where and how.
I'll try to find out. It wasn't so long ago.
Ok, got it!
https://forum.noteworthycomposer.com/?topic=9877.0 (https://forum.noteworthycomposer.com/?topic=9877.0)
And the result is:
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:37|SelectIndex:1|CaretPos:-2
|SongInfo|Title:""|Author:""|Lyricist:""|Copyright1:""|Copyright2:""
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Violin"|Patch:40|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:Bb,Eb,Ab|Tonic:E
|Dynamic|Style:ff|Pos:-8
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:8th,Slur|Pos:12^|Opts:Stem=Down,Diminuendo|Visibility:Never
|Note|Dur:8th,Slur|Pos:12|Opts:Stem=Down,Diminuendo,StemLength=0
|User|Markup.rg|Pos:12.5|Markup:/f1/x0/y-2.4/c124/y-4.4/c124/y-6.4/c124/y-8.4/c124/y-10.4/c124/y-12.4/c124
|Spacer|Width:450
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:4|Opts:Diminuendo,Muted|Visibility:Never
|Bar|Style:Double
|Dynamic|Style:mf|Pos:-10.5
|Note|Dur:8th,Slur|Pos:n0|Opts:Stem=Down,Beam=First
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Down,Beam
|PerformanceStyle|Style:Espressivo|Pos:-9.5
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:4|Opts:Stem=Down,Beam=First
|Note|Dur:8th,Slur|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:16th,Slur|Pos:b0|Opts:Stem=Down,Beam
|Note|Dur:16th,Slur|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th,Slur|Pos:0|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:b-1|Opts:Stem=Down,Beam=End
|Bar|Style:Double
!NoteWorthyComposer-End
"With a little help from my friends"... (Rick)
How can I remove the attack of the note at the end of glissando?
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:0
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2019 <Name>"|Copyright2:"All Rights Reserved"
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Recorder"|Patch:74|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Tempo|Base:Quarter Dotted|Tempo:88|Pos:12
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:6/8
|Note|Dur:Half|Pos:2^
|Marker|Pos:6|Target:Articulation|Visibility:Never
|Note|Dur:4th,Tenuto|Pos:2
|User|Glissando.ms|Pos:0|Class:Span|Playback:PitchBend
|Bar
|Note|Dur:Half,Dotted|Pos:3^
|Bar
|Note|Dur:Half,Dotted|Pos:3
!NoteWorthyComposer-End
!NoteWorthyComposer(2.751)
|AddStaff|Name:"Staff"
|StaffInstrument|Name:"Recorder"|Patch:74|BendRange:24
|Clef|Type:Treble
|Tempo|Base:Quarter Dotted|Tempo:88|Pos:12
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:6/8
|Note|Dur:Half|Pos:2^
|Note|Dur:4th|Pos:2|Opts:Muted
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Bar
|MPC|Controller:pitch|Style:Absolute|TimeRes:Eighth|SweepRes:32|Pt1:0,8875|Pt2:12,8192|Pos:8
|Note|Dur:Half,Dotted|Pos:3^|Opts:Muted
|Bar
|RestChord|Dur:Half|Opts:Stem=Up,Muted,HideRest|Dur2:Half,Dotted|Pos2:3
|Rest|Dur:8th,Dotted|Visibility:Never
|Note|Dur:4th,Grace|Pos:2^|Opts:Muted|Visibility:Never
|Note|Dur:4th,Grace|Pos:2|Visibility:Never
|Rest|Dur:16th|Visibility:Never
!NoteWorthyComposer-End
Rick the wizard, of course. Who else? ;)
Thank you, Rick!
Hey Mike,
I was wondering if the pitchbend implementation could be modified so as to (maybe optionally) not start the bending the pitch until about half the duration of the starting note has passed? This seems to be normal practice, at least for trombone players... Perhaps the starting point could be set as a percentage of the starting note duration.
I was also wondering if this object could be either extended OR used as a basis for a new object that could provide the following jazz articulations:
plop (bend)
plop (smooth)
scoop
lift
doit (bend)
doit (smooth)
fall (bend)
fall (smooth)
All would be implementations of pitchbends with appropriate markings. See here for examples:
https://steinberg.help/dorico/v2/en/dorico/topics/notation_reference/notation_reference_jazz_articulations_c.html
I met this problem many times.
Good idea!
Pops up several times in Souvenir by F.Drdla , first time around 0:21 . www.youtube.com (https://www.youtube.com/watch?v=1VCWqDjO-zc)
This should be possible to do, but there is a small complication: I didn't write the pitch bend playback code in the plugin. That was graciously added by
@NoteWorthy Online. I was looking at that code just now, and it will take some studying and experimentation to figure out how it works, before I know for sure how to make the enhancement you're suggesting. It also doesn't help that it's been over 3 years since I last updated that plugin (how time flies!) That said, if any of the other plugin whiz kids here is looking at the code and can suggest a way to add this, I'm all ears.
I recall looking at those ornaments/articulations before, as possible plugin candidates. Several of them (smooth plop, doit and fall, and lift) are already possible using a "hanging" straight line gliss, using a hidden muted grace note, but the bend versions would work better as a designed object.
I notice that Dorico implements these only as ornaments, and does not play them back. That would seem to be a reasonable starting point for a NWC implementation.
Hey Mike, that's cool. It would be nice though :)
I can already achieve the visual from my *Dings fonts. It's the playback with the visual I was hoping for. Not easy to please everyone with this kind of thing though as they are all subject to interpretation by the players.
If I was any kind of programmer I'd have a go, but my IT skills were never in that area - I was a network engineer.
@Flurmy has graciously made changes to Glissando.ms that add a new parameter, to delay the start of pitch bend playback. As noted previously, the pitchbend playback code was previously added by
@NoteWorthy Online , and I don't completely understand all of the code involved, so I will trust that he's done it right. If there are issues uncovered by other users, we'll have to tackle them the best we can :)
Many thanks to him for this addition!
This plugin ignores the clef changes and the octave shifts! :(
And my Lua is quite rusty. :'(
Mine is getting rusty too. It would help if you could provide an example that doesn't do what you expect.
A bit of a disclaimer: the playback code in Glissando.ms was an afterthought that was added to a very old object - I think that this was the first one I ever made. Also, as I've stated before, I did not write the code that does the pitchbend playback, if that's what is not behaving correctly.
My Lua is rusty too, but this page (https://lua.noteworthycomposer.com/plugin/nwc.ntnidx.md#find) may be a help?
No, it's not restricted to pitchbend.
Here follows a simple example.
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Bass
|Key|Signature:C|Tonic:C
|Note|Dur:Half|Pos:-4|Opts:Muted
|User|Glissando.ms|Pos:5|Class:Span|Playback:Chromatic
|Clef|Type:Treble
|Note|Dur:4th|Pos:5
|Note|Dur:4th|Pos:5
!NoteWorthyComposerClip-End
Thanks, Opagust. Of course I was already aware of that page.
I think I see what is going wrong, but I'm not sure how to fix it. I will describe what I am observing and perhaps someone out there with better NWC user object skills than me can figure out a solution.
For my description, I will refer to the source code line numbers in the current object version, which is Version 2.2 Flurmy 1/2022.
First, a few observations. If I play Flurmy's score sample, it of course plays incorrectly; there are too few notes, starting from the expected note and then making a sudden jump to the highest note. If I move the user object immediately after the clef change, it plays differently - now there is a normal-sounding glissando, but it begins as though the first note is an E (treble clef) and again there are too few notes.
In the _play(t) function, which begins at line 214, the following two statements attempt to determine the MIDI pitch of the starting and ending notes:
local v1 = nwcplay.getNoteNumber(priorNoteidx:notePitchPos(1))
local v2 = nwcplay.getNoteNumber(nextNoteidx:notePitchPos(1))
Before these statements are executed, the pointers priorNoteidx and nextNoteidx are positioned at the starting and ending notes of the glissando. The nwcplay.getNoteNumber() function attempts to determine the MIDI note number of the specified note. The API instructions for the nwcplay methods say that the values returned will take into account the various staff properties in effect, including clef, transposition, etc. However, what appears to be happening is that the playback properties being returned are those for the SPP position of the user object, not the notes in question. I have searched high and low through the API instructions, and I can't figure out a way for the nwcplay methods to return values based on a different SPP position (i.e. that of the starting or ending note.) I know there is a way to determine the SPP offset of a particular note: nextNoteidx:sppOffset() (see line 248). However, there doesn't seem to be a way to give that position to nwcplay.getNoteNumber() because there is only a single parameter, the staff position of the note.
Please let me know if any of the above does not make sense, and I will try to explain further if that is the case
Hello all,
After thinking about the problem a bit more, I have come up with a potential solution which I am attaching to this post in advance of an official release. The fix is the addition of a new parameter called End Note Shift, which specifies an optional pitch shift for the final note of the glissando. It defaults to 0 for backward compatibility with previous object versions. For
@Flurmy's example, a shift of 20 will produce the expected playback. If it is being used across a 8va or 8va bassa, a shift of ±12 would be appropriate.
@Flurmy, if you can test this new version with a few different glissando types, that would help me greatly. I will post the changed object to the forum once I know it works correctly for the various conditions.
I am having a problem with how it sounds the 2nd time. Both notes are supposed to sound by themselves with a slide between them. The violin will be playing both holding down the same finger and shifting.
Thanks for your work on this!
Playback for the Glissando.ms object occurs during the duration of the starting note of the glissando. Because both of your starting notes are very short duration, this will result in a rapid sweep. The Gliss Delay parameter will delay the start of the glissando, but will speed up the sweep because there is less time remaining for the moving portion. Also, pitch bend glissandos work best with both the starting and ending notes muted.
I also noticed that your score's staff instrument has a pitch bend range of 7 semitones. The documentation for Glissando.ms recommends a pitch bend range of 24 semitones.
I just came back from a travel abroad.
I'll take a look.
Alas, there are many cases in which we must reinvent the wheel.
Many routines are for sure already implemented in the NWC "core" but they are not exposed in the API, so we have no choice than to redo them from scratch in the plugins/user tools. Very error prone!
This seems one of those cases.
There are a lot of possibilities to consider so the burden is excessive but, still keeping the workaround implemented by Mike, maybe we could try to manage automatically the most simple and common ones. I'm thinking about limiting to clef and octave change (instrument transpose).
My feeling, however, is that even this is too much work for too little.
Probably the Mike's workaround is the best we can do.
Thanks, Mike.
The Glissando.ms object has been updated to version 2.3, with the following changes:
- Reorganize properties screen to combine X & Y offsets on a single line, to save space
- Add EndNoteShift parameter, to handle glissandos which span a clef change or other staff transposition
Using glissando with a play mode different from pitch bend it is now necessary to mute the first (left) note.
But see what happens in this case:
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:Whole|Pos:4^|Opts:Muted
|Note|Dur:4th|Pos:4
|User|Glissando.ms|Pos:-4|Class:Span|Playback:Chromatic
|Note|Dur:4th|Pos:-4
!NoteWorthyComposerClip-End
Possible solution: adding a note off of the starting note before starting the glissato. (positive side effect: no need to mute any note, an annoying task)
More: what if the glissato needs to be the whole length of the tied first notes?
One more problem:
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Rest|Dur:4th,Triplet=First
|Note|Dur:8th,Triplet=End|Pos:1|Opts:Stem=Down
|User|Glissando.ms|Pos:3|Pen:wavy|Text:|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:-3|Opts:Muted|Visibility:Never
|Spacer|Width:100
|Rest|Dur:4th
!NoteWorthyComposerClip-End
Probably an incorrect computation of the times. (I didn't check the source)
Edit: Easily solved: simply muting the first note. But why we get that odd effect otherwise?
Exporting to MIDI has no problem.
Because in a case the bending starts from 0 and goes to target, then quickly return to 0 while the note is still somehow sounding. In the other case the bendings starts from target and ends to 0.
Better think more... sorry.
Similar problem:
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:8th|Pos:1|Opts:Stem=Down
|User|Glissando.ms|Pos:3|Pen:wavy|Text:|Playback:PitchBend
|Note|Dur:8th|Pos:-1^|Opts:Muted
|Note|Dur:Half|Pos:-1
!NoteWorthyComposerClip-End
If the target note is unmuted there is an unwanted attack instead of a smooth continuation.
The following is from the help text for the Playback parameter:
Most play back methods are best when the target (left side) note is muted.
PitchBend also supports muting the right side note, which will result in a seamless note event that bends from one pitch to the other.
I'm not certain why I didn't say "For playback, the left note must be muted." I think it was because you don't want to mute it for certain pitch bend (continuous) glissandos. But I didn't write that code and I rarely use continuous glissandos, so my memory requires jogging.
I feel like I should post a sort of "apology" here. If memory serves me correctly, the Glissando object was one of my earliest (or perhaps the very first) objects that I wrote, back in the time before playback was available. It drew a straight or wavy line between two notes, with a bit of slanted text, so the code was very simple. When I first added playback, I did piano-style glissandos which were either white notes, black notes or chromatic, and later
@NoteWorthy Online provided code for pitch bend playback, which significantly increased the amount of code in the object. Since then, our own
@Flurmy has added code for two additional playback parameters, for which I have thanked him already. Part of me feels like this isn't my object anymore; it is all grown up and has gained a life of its own out in the real world. :)
Well, Mike, if you don't mind, I could take the baton and try to update it.
The problem here is caused by the tie. You can't properly mute the tied-into note, because that will suppress its note-off, and you get a hanging note. (I am not certain why you muted the tied-from note; I would think you want that to sound.)
The easy solution for this would be to insert a hidden (but not muted) grace note of the same pitch between the whole and quarter notes, and mute the starting note of the glissando, but not the whole note:
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:Whole|Pos:4^
|Note|Dur:8th,Grace|Pos:4|Visibility:Never
|Note|Dur:4th|Pos:4|Opts:Muted
|User|Glissando.ms|Pos:-4|Playback:Chromatic
|Note|Dur:4th|Pos:-4
!NoteWorthyComposerClip-End
To me, this sounds correct.
As posted earlier, I think the correct solution is to always mute the left note on a pitch bend glissando, unless that is a tied-into note. In that circumstance, a hidden grace note should work.
Me too, but if that note is unmuted, that note (F5) stops sounding when the glissando is already at G4, overlapping part ot the glissando.
Note On: F5, Velocity: 110
Note On: E5, Velocity: 110
Note On: E5, Velocity: 0 = Off
Note On: Eb5, Velocity: 110
Note On: Eb5, Velocity: 0 = Off
Note On: D5, Velocity: 110
Note On: D5, Velocity: 0 = Off
Note On: Db5, Velocity: 110
Note On: Db5, Velocity: 0 = Off
Note On: C5, Velocity: 110
Note On: C5, Velocity: 0 = Off
Note On: B4, Velocity: 110
Note On: B4, Velocity: 0 = Off
Note On: Bb4, Velocity: 110
Note On: Bb4, Velocity: 0 = Off
Note On: A4, Velocity: 110
Note On: A4, Velocity: 0 = Off
Note On: Ab4, Velocity: 110
Note On: Ab4, Velocity: 0 = Off
Note On: G4, Velocity: 110
Note On: F5, Velocity: 0 = Off
Note On: G4, Velocity: 0 = Off
Note On: F#4, Velocity: 110
Note On: F#4, Velocity: 0 = Off
Note On: F4, Velocity: 110
Note On: F4, Velocity: 0 = Off
Note On: E4, Velocity: 110
Note On: E4, Velocity: 0 = Off
Was that MIDI stream created with the version that contains the grace note? The unmuted grace note should generate a Note Off for the F5.
The odd effect I have is voice related since the MIDI gets note-off and immediately "pitch bend = 0".
My synth sax seems to need about 50 ticks to stop the note.
It all depends on the release time of the voice!
There is some code in the object (supplied by
@NoteWorthy Online ) that says it is playing muted notes, which I don't quite understand. Perhaps it is supposed to make sure there are properly paired Note On and Note Off events that extend through the pitch bend.
Those sax players, always behind the beat! :)
Sorry for having mixed different problems.
The problem with the pitch bend arises because there is a big difference in the two cases:
in a case the bending starts from 0 and goes to target, then quickly returns to 0 while the note is still somehow sounding (release time). This is quite difficult to manage.
In the other case the bendings starts from target and ends to 0, so the playing can continue normally.
For the other problems I need to think more, and here is bed time. I already said too many stupid things for today. ;D
The Glissando.ms object has been updated to version 2.4, with the following changes:
- Many changes to playback code, graciously provided by @Flurmy . Effective with these changes, glissando playback now works best with both the leading and trailing notes muted. The object attempts to detect clef changes, ties across bar lines and other conditions which may have not been handled correctly in previous versions. The standard disclaimer remains that for certain score situations, it may be desirable to disable the object's playback and use a hidden staff.
The Glissando.ms object has been updated to version 2.5 by
@Flurmy, with the following changes:
- Playback for tied left notes was not handled properly and has been fixed.
- Handling of several special cases, including a glissando at the end of the score and terminating on (muted/unmuted) grace notes, is now implemented.
The Glissando.ms object has been updated to version 2.6 by
@Flurmy, with the following changes:
- A new glissando playback type of "Harp" has been added.
- Corrected playback for the last note in non-pitchbend modes when the note is muted and there is a clef change.
The Glissando.ms object has been updated to version 2.7 by
@Flurmy, with the following changes:
- Bug fix to the new Harp playback mode.
The Glissando.ms object has been updated to version 2.8 by
@Flurmy, with the following change:
- New parameter PitchBendPeriod to allow a user-specified delay between pitchbend glissando updates.
There is also another addition to the plugin: if the first note is a grace note, the sweep duration is assumed 1/32 and is stolen from the target note (as is customary in NWC). See the attached example.
This happens often in jazz and kletzmer music. :)