lenmus / lomse

A C++ library for rendering, editing and playing back music scores.
MIT License
117 stars 28 forks source link

How to render tab scores with rhythm information? #357

Closed AndreasKoettl95 closed 1 year ago

AndreasKoettl95 commented 2 years ago

Hi,

I'm trying to implement some kind of MusicXML player with this library. First I want to focus on using tab music scores.

Right now I have an render output like this: Screenshot 2022-06-06 115647

As you can see, for the tab notes, there is no rhythm information shown, or rhythm bars, I don't know the correct term. So the user can never know, if it's a eighteenth or sixteenth note.

I was wondering, if there is a way to get an output like the web-player of songsterr.com: Screenshot 2022-06-06 115612

Here you can see the rhythm information being rendered underneath.

Can you think of a way, on how to achieve something similar? It doesn't have to look exactly like that, I just want the user to know, what the rhythm looks like.

Thanks in advance.

cecilios commented 2 years ago

Hi Andreas,

Rendering music is a very complex task and Lomse never gave priority to tablature notation. Currently, for tablature notation, Lomse only supports displaying the strings and the tab numbers. And rendering stem and flags for tablature will require additional development. But if you are planning to develop an application focused on tablature notation, probably you will need support to render additional symbols and notations and, thus, that will require more development.

I am willing to help you and develop everything that is necessary but I also need help. Lomse is not a project developed by a company but a project developed by myself as a hobby. I work alone on this, and people using Lomse occationaly send PRs. But there is no team of people regularly collaborating, sending PRs and helping to discuss needs and specifications.

Therefore, first of all, someone will have to take care of determining the additional symbols and notation required for fully supporting tablature for guitar. I'm not a professional musician and my music studies were centered on piano, chamber music and choral music. Thus, I have no knowledge of tablature notation and, thus, it is very difficult for me to determine what is needed and the rules of tablature notation. For instance, you are suggesting to display flags and stems under the string lines, as in this image:

image

But in the Wikipedia entry for guitar tablature you can see this image:

image

In the image, stems and flags are rendered also above the string lines. Thus it is necessary to have someone who knows the notation and can define the rules before proceeding with the programming.

Second, my time is limited and I cannot assume any commitment to develop a feature within a certain period. I'm currently working on MusicXML export and I will not be able to start the development of stems and flags for tablature probably until mid July, assuming that by them we will have clear specifications of the tablature rules for stems an flags. I do not expect this feature to be very complex to develop and so probably it will be ready by beginning of September. Anyway these are just estimates, not commitments.

And this is basically the situation.

cecilios commented 1 year ago

I am closing this issue as there is no further feedback.