Menu

#5773 Quarter Tones for all Languages incl. MusicXML import

Fixed
2020-02-25
2020-02-18
No

https://codereview.appspot.com/577520043

Missing note name definitions

Quarter tone pitches had not yet been defined for some input languages.
Missing quarter tone definitions added.
And language names containing special characters now have been switched to their proper spelling (as it has already been the case for español and français). Now, there's català and protuguês, too.
The original spellings have been kept as an alternative resp. for reasons of compatibility.

File scm/define-note-names.scm

  • nederlands: was OK
  • català: proper spelling, quarter tones added, (catalan kept for compatibility)
    qb, tqb: "quart de to", "tres quarts de to" bemoll
    qd, tqb: "quart de to", "tres quarts de to" diesi
    qs, tqs: "quart de to", "tres quarts de to" sostingut
  • deutsch: was OK
  • english: was OK
  • español: main definition renamed, espanol still as an alternative
  • français: was OK
  • italiano: was OK
  • norsk: quarter tones added
    Dutch/German nomenclature (-ih/-eh)
  • português: proper spelling (portugues kept for compatibility)
  • suomi: quarter tones added
    Dutch/German nomenclature (-ih/-eh)
  • svenska: quarter tones added
    Dutch/German nomenclature (-ih/-eh)
  • vlaams: quarter tones added
    solfège with language specific suffixes: hb, hk: "halve bemol", "halve kruis" etc.
  • arabic: a case of its own, unchanged

Documentation (Notation Reference)

Files Documentation/*/notation/pitches.itely

  • "Note names in other languages": tables updated and unified in all languages
  • Complete set of quarter tones in all languages
  • remarks about quarter tones missing from some languages removed
  • All existing pitches.itely files updated (en, ca, de, es, fr, it, ja)

MusicXML import

File scripts/musicxml2ly.py

Map command line language option w/o special characters to proper names.
As a desired side effect, invoking musixml2ly with the old language names, the LilyPond file will be created using the language specific proper names:
* catalan/catala -> català
* espanol -> español
* francais -> français
* portugues -> português

File python/musicexp.py

  • language definitions incidentally sorted in common lilypond order
  • pitch_general: there are no short forms for quarter tones in Dutch! Quarter tone import for LilyPond's mother tonguedid not work! eeh/aeh resp. eeseh/aeseh must remain untouched!
  • pitch_nederlands: uses pitch_general
  • pitch_catalan: italian note names did not work, proper definition added
  • pitch_deutsch: use common special forms eh, ah, asas, asah, etc.
  • pitch_english: was OK
  • pitch_espanol: was OK
  • pitch_francais: was OK
  • pitch_italiano: was OK
  • pitch_norsk: current deutsch did not fit anymore, special norsk definition added
  • pitch_portugues: was OK
  • pitch_suomi: was completely missing
  • pitch_svenska: quarter tone import added and wrong bess (->hessess) corrected
  • pitch_vlaams: quarter-tone import added

Tests performed

MusicXML file (created by Musescore 3..4.2) containing a full set of notes ranging from ceses to bisis in quarter-tone steps has been imported for all languages (except Arabic).
That way, it is easy to check that all the pitch definitions are there (and correct), at the same time ensuring that musicxml2ly does not contain any erroneous or missing pitch conversions.

Attachment: Just oneMusicXML import examle (vlaams in this case) showing all the pitches. The empty bars are reseverd for extended triple-flat/sharp range.

1 Attachments

Discussion

  • Torsten Hämmerle

    Issue 5773: Quarter Tones for all Languages incl. MusicXML import

    modified: scm/define-note-names.scm
    - Missing quarter-tone definitions added, now all languages are complete.
    - Slightly changed sort order of norsk so that the commonly used forms
    (the ones with doulbe-s) are in front of the less common forms.
    - Proper language names consistently introduced (català and português added)

    modified: python/musicexp.py
    - Complete set of language-specific pitch conversions.
    - Order of lanuages corresponding to the "standard" LilyPond order.

    modified: scripts/musicxml2ly.py
    - Map input parameter -l (language) values to UTF-8 language names.

    modified: Documentation/changes.tely
    - Announce new language names
    - Announce complete set of quarter-tone definitions

    modified: Documentation/ca/notation/pitches.itely
    modified: Documentation/de/notation/pitches.itely
    modified: Documentation/es/notation/pitches.itely
    modified: Documentation/fr/notation/pitches.itely
    modified: Documentation/it/notation/pitches.itely
    modified: Documentation/ja/notation/pitches.itely
    modified: Documentation/notation/pitches.itely

    Notation
    1.1.1 Writing pitches
    Note names in other languages
    - Tables unified and completed in all languages
    - Remarks about missing quarter-tone definitions removed

    https://codereview.appspot.com/577520043

     
  • Torsten Hämmerle

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,3 +1,4 @@
    +https://codereview.appspot.com/577520043
     # Missing note name definitions
     Quarter tone pitches had not yet been defined for some input languages.
     Missing quarter tone definitions added.
    
    • Needs: -->
    • Type: -->
     
  • Anonymous

    Anonymous - 2020-02-20

    Passes make. make check and a full make doc.

     
  • Anonymous

    Anonymous - 2020-02-20
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2020-02-22
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2020-02-22

    Patch on countdown for Feb 24th (please note there are some comments on Ritveld by Werner)

     
    • Torsten Hämmerle

      Hello James,

      I noticed Werner's comment but wanted to wait for other hints.

      Question: It is a merely cosmedic change in scm/define-note-names.scm (inserting spaces between the elements of a list):

        '((català catalan) (español espanol) (português portugues)))
      

      instead of

        '((català catalan)(español espanol)(português portugues)))
      

      Do I need to upload a new patch to Rietveld, probably causing an unnecessary make, make check and make full doc run, or is it possible just to implement it in my patch for pushing (formatted against current master) later on?

      I'll do whatever you consider appropriate and then add a corresponding reply to Rietveld.

      Thanks,
      Torsten

       
      • David Kastrup

        David Kastrup - 2020-02-22

        There is no formal protocol for this. My own approach for that kind of thing is to mark stuff as "Done" after having it committed to my repository and mention that I am not uploading a separate review for it. Note that does not save against the odd typo like overwriting a paren, or untabifying a Makefile line, but as long as the change is in an era definitely covered by the staging tests of Patchy, the risk one is taking is comparatively low since the cost is confined.

         
        • Torsten Hämmerle

          OK. Done.
          Ta

           
  • Anonymous

    Anonymous - 2020-02-24
    • Patch: countdown --> push
     
  • Anonymous

    Anonymous - 2020-02-24

    Patch counted down - please push.

     
    • Torsten Hämmerle

      patch against current master attached.
      Spaces inserted (scm/define-note-names.scm) as proposed by Werner. Test performed.

      Could you pleas push it for me? (don't have push permission)

      Cheers,
      Torsten

       
  • Anonymous

    Anonymous - 2020-02-25
    • labels: --> Fixed_2_21_0
    • status: Started --> Fixed
    • Patch: push -->
     
  • Anonymous

    Anonymous - 2020-02-25
    Issue 5773: Quarter Tones for all Languages incl. MusicXML import staging
    author  Torsten Hämmerle <torsten.haemmerle@web.de> 
        Tue, 18 Feb 2020 23:37:14 +0000 (00:37 +0100)
    committer   James Lowe <pkx166h@runbox.com> 
        Tue, 25 Feb 2020 22:08:09 +0000 (22:08 +0000)
    commit  7b52921bb762657e1f2317c9ad2f834529f0ff99
    

    Thank you Torsten.