Exclude single notes from ChordNames?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Exclude single notes from ChordNames?

sg2002
Hello.

I've decided to learn a couple of songs on bayan, which is a Russian
chromatic accordion.

Basic bayan bass parts often have a single bass notes followed by a
chord, e. g.:

\new ChordNames {
    d \chordmode { d:m/a } f, q d q f, q  e, \chordmode { e:7^5/gis } 
gis, q e, q gis, q
  }

Since chords are often inverted and I'm not a proficient player by any
means, having chord is nice. On the other hand I have no problems sight
reading single notes. So ideally I want to exclude them from showing.
For the example above that would mean only showing Dm and E7 chords.

Even better, I wish there was a way to get \set chordChanges = ##t
working here, so that not only I would only see the names of real
chords, but also only see them during changes.

Any tips? I had the idea of hacking a function that replaces single
notes with rests, but maybe there's a simpler way?


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

Simon Albrecht-2
On 17.09.2018 19:13, sg2002 wrote:

> \new ChordNames {
>    d \chordmode { d:m/a } f, q d q f, q  e, \chordmode { e:7^5/gis } 
> gis, q e, q gis, q
>  }
>
> Since chords are often inverted and I'm not a proficient player by any
> means, having chord is nice. On the other hand I have no problems
> sight reading single notes. So ideally I want to exclude them from
> showing. For the example above that would mean only showing Dm and E7
> chords.

This example seems to mix up some concepts and it’s not clear to me what
you really want; could you give an example of what the output should
look like (even if faked with another program or just drawn on a piece
of paper)?

Best, Simon

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

sg2002
Currently running ChordNames on the example I presented produces this:
D Dm/A F Dm/A D Dm/A F Dm/A E E7/G# G# E7/G# E E7/G# G# E7/G#
That's too much clutter for me so I would prefer only seeing the chords:
Dm/A Dm/A Dm/A Dm/A E7/G# E7/G# E7/G# E7/G#
Even better if the output could only have the chords shown during the
changes:
Dm/A E7/G#

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

Simon Albrecht-2
On 18.09.2018 00:21, sg2002 wrote:
> Currently running ChordNames on the example I presented produces this:
> D Dm/A F Dm/A D Dm/A F Dm/A E E7/G# G# E7/G# E E7/G# G# E7/G#
> That's too much clutter for me so I would prefer only seeing the chords:
> Dm/A Dm/A Dm/A Dm/A E7/G# E7/G# E7/G# E7/G#
> Even better if the output could only have the chords shown during the
> changes:
> Dm/A E7/G#

Then why don’t you type exactly that? And how would you have the bass
represented? I could just guess:

%%%%%%%%%%%
\version "2.18.2"

<<
   \new ChordNames \chordmode {
     d1:m/a
     e:7^5/gis
   }
   \new Staff {
     \clef bass
     d4 f d f
     e gis e gis
   }
 >>
%%%%%%%%%%

but I have my doubts if that helps.

Best, Simon

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

Aaron Hill
In reply to this post by sg2002
On 2018-09-17 3:21 pm, sg2002 wrote:
> Currently running ChordNames on the example I presented produces this:
> D Dm/A F Dm/A D Dm/A F Dm/A E E7/G# G# E7/G# E E7/G# G# E7/G#
> That's too much clutter for me so I would prefer only seeing the
> chords:
> Dm/A Dm/A Dm/A Dm/A E7/G# E7/G# E7/G# E7/G#
> Even better if the output could only have the chords shown during the
> changes:
> Dm/A E7/G#

I think what you want is something like this:

%%%%
\version "2.19.82"
<< \new ChordNames \chordmode { d1*2:m/a | e1*2:7/gis }
    \new Staff { \clef bass
      d4 \chordmode { d:m/a } f, q | d4 q f, q |
      e,4 \chordmode { e:7^5/gis } gis, q | e,4 q gis, q } >>
%%%%

ChordNames does not do magic with the notes provided.  You cannot just
duplicate notes intended for a staff and get useful results.  Instead,
use that context specifically when you want a chord to appear.  In
addition to specifying durations for the chord changes, use \skip (or s)
as needed when there is no associated chord.

-- Aaron Hill

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

sg2002
I understand that I can have separate music entity for chord names. I
was asking for ways to avoid doing that. The most obvious option is
writing a filter function that would replace everything in the input
except the proper chords with rests, I mentioned that previously. Just
decided to ask, maybe there's some other way, like some clever use of
some ChordName settings.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Exclude single notes from ChordNames?

sg2002

So I've implemented the function I wanted. See here. Sure, I'd probably get no points for elegance, but it works well enough. I used the fact that the "q" repeat chords have an empty "elements" list, to avoid tracking repeats.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user