Playback of playback technique

Hi,

I recently purchased Dorico 3.5 and would like to know if it is possible ( with/out lua’s script/macro) to play custom articulations like this:

https://ibb.co/jwxxF9j

Any help would be greatly appreciated.

CS

Dorico doesn’t have a concept of a grace note that follows a rhythmic note; rather, the grace note always precedes the next rhythmic note. So although you will be able to produce that notated appearance reasonably easily (add the grace note before the following note, adjust its position in Engrave mode using the note spacing tool if necessary, then create a slur between the preceding rhythmic note and the grace note), there is no specific playback support for that kind of notation.

Dorico does support the playback of harmonic playing techniques, provided the sound library you are targeting has an appropriate sound, and provided you have set up appropriate expression maps.

Thanks Daniel for the prompt response.

I am working on traditional Persian music ( composing and research) and this notation and several other notations make up 70% of the notes! and I desperately need this.

As an example, let’s consider the example in the image all cases are covered with the following pythonic pseudo-code that spits out the three notes.

def openCircledNote(fn = first_note_object, sn = second_note_object):
    “ we assume an open circle is placed above first note”
    gn =  grace_note_constructor()
    gn.velocity = .05*fn.volocity
    if 0 <fn.pitch_class - sn.pitch_class <= 1:
       grace note pitch = pitch_class(fn) +1
   elif  fn.pitch_class =sn.pitch_class :
	gn.pitch = fn.pitch_class +2
   return Phrase(first_note (shortend by 1/4 beat), gn ( with duration 1/4 beat), sn)

It would be great if you could give me an insight on how to do this. Is there a plan to enhance this so the Dorico users can define any playing technique along with its playback algorithm and have the Dorico’s playing engine to follow that whenever sees the symbols in the score?If not, are you aware of any other notation software with programmable playback engine for MIDI?

Again, thank you for you time and help.

So the circle above a note is also a kind of grace note or ornamentation in Persian music? In the future we plan to make it possible to define your own ornaments and their effect on playback, but that’s not a feature that Dorico has at the moment.

I’m not sure whether there are any notation applications that have built-in features that would allow you to do this directly. Using Sibelius’s ManuScript plug-in language you could write a plug-in to add MIDI message text that could play different notes than those that are written. It’s possible that Finale’s JW Lua plug-in, which aims to provide a similarly high-level API to Finale (since the Finale plug-in development kit for writing lower-level C/C++ plug-ins is no longer available), might also allow this, but I’m not sure.

Well, the circle, as shown in the OP, is the retrograde of an acciacatura with the following properties:

  1. with the short note ( the second note) is played very softly I’d say about 1/2 to 1/4 softer ( say loudness)
  2. there exists always another note after the short note.


In the future, we plan to make it possible to define your own ornaments and their effect on playback, but that’s not a feature that Dorico has at the moment.

This would be a great feature.

I’m not sure whether there are any notation applications that have built-in features that would allow you to do this directly. Using Sibelius’s ManuScript plug-in language you could write a plug-in to add MIDI message text that could play different notes than those that are written. It’s possible that Finale’s JW Lua plug-in, which aims to provide a similarly high-level API to Finale (since the Finale plug-in development kit for writing lower-level C/C++ plug-ins is no longer available), might also allow this, but I’m not sure.

Thanks so much. I will look into that. All I need would be identifying the ornament in the score and then manipulate issue “note on/off” midi messages.

Let’s forget about the dotted note ( custom articulation) and try to note the grace note as in the image!

I sort of managed to do this via second voice But it has a minor issue that I hope you can get help with that. With that, I suppose I can create a Lua script and use it whenever I need it.

Goal: Two eighth note with grace between that plays back like this:

image

  1. Place a C5, eighth note.
  2. Shift-V to prepare note entry in the second voice.
  3. Set the grid to 1/32 note and move two steps to the right,
  4. Enter a grace note D of eight note, press F to flip it up
  5. hold shift and press the left arrow key. Press S to create a slur.
  6. Move back to voice 1, by pressing v
  7. Move the cursor to the right and place an eight-note C.

image
The issue with this approach is that It places rests before and after and it seems like the properties panel ( rest before and after) doesn’t hide the rests!

image

Are there any works around?

Thank you very much in advance.

Edit > Remove Rests will get rid of all the pink rests apart from the one that the gracenote precedes.

If you were to set the custom scale to 1% (and the opacity to 0, if you’re being really picky), you’ll effectively have hidden the one remaining rest.

Thank you very much, Leo. For some reason, the properties panel doesn’t show up anymore. Do you know why?

I try to see if I could remove that. However, is that possible to hide it in Print ( I suppose essentially in Engrave mode) mode?

The properties panel is context-sensitive. If you have no items selected (as appears to be the case in your screenshot) no properties will show. If you have one type of item selected, its properties will show. If you have multiple types of item selected then only properties that apply to all of those types of item will show.

1 Like

I got it. I tried to record it as a Lua script but it seems very tricky! The issue that if I run this over and over I will end up with so many voices that cannot be destroyed/deleted/removed.

   local app=DoApp.DoApp()
app:doCommand([[NoteInput.NoteValue?LogDuration=kQuaver]])
app:doCommand([[NoteInput.MIDINoteInput?MIDIPitches=72]])
app:doCommand([[Edit.ChangeVoice?VoiceDirection=kPreferStemsUp&VoiceIndex=0]])
app:doCommand([[NoteInput.CreateGraceNote]])
app:doCommand([[NoteInput.MIDINoteInput?MIDIPitches=74]])
app:doCommand([[Edit.ChangeVoice?VoiceDirection=kPreferStemsDown&VoiceIndex=1]])
app:doCommand([[NoteInput.CreateGraceNote]])
app:doCommand([[NoteInput.MIDINoteInput?MIDIPitches=72]])

I guess I should create voice 2, go back to the previous one at the top of the script to fix it.
It seems the code above doesn’t change voice if you start with a single voice. This looks good but the playback is not accurate as the first note should be a dotted sixteenth note and grace right after than in the time axis.

Actually, if I apply your method on grace notes (and rests), I guess solves the problem in OP. I will place a harmonic and hide the grace note along with the rest and let it playback.

To have it played back accurately, I need to set the VST to monophonic which is not a big deal. However, the bigger issue is that the grace note should be play pp and sometimes pppp and this is very difficult to achieve specifically as a script!