moinejf/abc2svg

Playback of ornaments / arpegio's and other italian terms in the score?

Opened this issue · 1 comments

Hi,
I see that abc2svg does not honor playback of ornaments like acciacatura / appogiatura etc. or even arpeggio's.
I tried a score with
image
and abc2svg played it like a chord.

Similarly I see that a acciacatura
image
was skipped during play back or at least the cursor ignored it.

Apart from the above I have not checked for other markings / symbols etc. eg. Will abc2svg honor something like "tr" marked over a note (for a trill).
Or even markings like crescendo / decrescendo in the score sheet.

To work on these what files would be need to be looked at, I guess we would need to have a look at the audio generation functions in snd-1.js, correct?

abc2svg is mainly used to create music sheets. I added a simple playback just for people to hear and learn the melodies. As a music player (pipe organ), I don't see the interest to have a machine playing the music: I enjoy playing it myself. So, playback is not a priority for me.
About the various ornaments in the music, first, there are many signs. Some composers created them without too much explanation, and, also, the music may be played in many other ways the tunes are written (see the classic french organ work or the jazz variations on some themes).
The ABC notation contains only a few information about playing, These ones were defined by Phil Taylor in BarFly (macro m:) and James Allwright in abcMIDI (%%MIDI).

About the playing part of abc2svg, the acciacatura and appogiatura are implemented, getting the time either before or after the beat. Indeed, as these ornaments must be played quickly, I did not want to highlight them. About the other topics:

  • I will not implement the arpeggio.
  • the trills / mordent / ... may be implemented by macros (m:). I don't think that someone created a library of them, but this could be done, for example, thanks, to J.S.Bach' definitions.
  • I had requests for crescendo / decrescendo, but they are in my lowest priorities.
  • the rehearsal marks (P:) as well as the repeat marks done by decorations (!D.C.! ...) are not yet treated. I will do that when I will have some time.

If you want to enhance playing in abc2svg, the main code is in the minified file snd-1.js, which is built from util/sndgen.js, util/sndaud.js and util/sndmid.js.