lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: AW: Custom Format


From: torsten.haemmerle
Subject: AW: AW: Custom Format
Date: Wed, 31 Mar 2021 22:00:14 +0200

Hi Callum,

 

The proper use of accidentals greatly enhances readability.

As in “your” numeric system, MIDI doesn’t care about accidentals, either, but MIDI has been designed for producing sound, not sheet music.

 

As a simple example, just take two triads: B major and C diminished.

Triads are supposed to be constructed by stacking thirds, and that’s what the reader expects.

 

 

All these chords (I hope the PNG file will survive) have been built from the numbers below, but only the first one will be readable resp. noticeable.

 

Note numbers 3 and 6, in these examples, will have to be a D# and F# in a B major chord, but an Eb and Gb in a C° chord.

 

That’s just one reason why accidentals matter in printed music.

 

All the best,

Torsten

 

Von: Callum Cassidy-Nolan ccn@cuppajoeman.com
Gesendet: Mittwoch, 31. März 2021 21:21
An: torsten.haemmerle@web.de; lilypond-user@gnu.org
Betreff: Re: AW: Custom Format

 

Hi Torsten,

 

You are correct, there is no distinction between these two notes, because in terms of pitch they are the same. I realize that my approach to music is non-standard, and when I made it I was not thinking about how that would play into formatting documents with it.  I follow the same idea for intervals too.

 

I suppose you are asking me these questions because lilypad does differentiate between these different ways of saying the same note or interval? Could you give me some use cases where my notation would cause problems - I'd like to know for the future.

 

Personally I don't mind which it chooses, say D# or Eb, based on Aarons original function:

 

#(define (: n)

   (apply

    ly:make-pitch

    (cons (1- (floor (/ n 12)))

          (list-ref `((0 0) (0 ,SHARP) (1 0) (1 ,SHARP)

                      (2 0) (3 0) (3 ,SHARP) (4 0)

                      (4 ,SHARP) (5 0) (5 ,SHARP) (6 0))

                    (modulo n 12)))))

 

But having a way to over-ride it's value to be one or the other would be nice. As I am new to Scheme I don't know exactly how to do it, but my idea would be to have the following behavior.

 

Always choose the sharp version unless an optional argument is provided to the function which tells it to choose the flattened version. If someone could outline how I could implement that with Scheme, it would be awesome.

 

Best,

Callum

 

 

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Wednesday, March 31, 2021 2:05 PM, <torsten.haemmerle@web.de> wrote:

 

Hi Callum,

 

In the first place, I don’t understand how your numeric code could ever handle accidentals correctly.

Looking into your PDF document, I can’t see any distinction between D# and Eb, for instance.

 

And your table states: 9 “Minor sixth”. But how would you code an augmented fifth, then?

Etc.

 

All the best

Torsten

 

 

Von: lilypond-user <lilypond-user-bounces+torsten.haemmerle=web.de@gnu.org> Im Auftrag von Callum Cassidy-Nolan

Gesendet: Mittwoch, 31. März 2021 02:31

Betreff: Custom Format

 

 

Hi there,

 

I have just become aware of lilypond.

 

I would love to use it, but I have a particular way I interact with music.

 

Particularly I don't use letter names, but instead I use numbers, to understand what I mean, please take a look at my document: https://gitlab.com/cuppajoeman/music/-/blob/master/diagrams/standard_to_semitones.pdf

 

I just saw a basic example in the documentation, something like this:

 

 

\version "2.22.0"
{
  c' e' g' e'
}

In my system I would write something like this:

 

\version "2.22.0"
{
  0' 4' 7' 4'
}

I am assuming some sort of parsing could be done to my files to convert it into the correct format, and then could be parsed by lilypond. Could anyone let me know how I could do something like this?

Thanks in advance, 

 

 

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]