Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
GitterHubber opened this issue Dec 7, 2019 · 1 comment

Comments

@GitterHubber
Copy link

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?

@moinejf
Copy link
Owner

moinejf commented Dec 7, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants