Making Tsugaru notation with LilyPond


#1

I’ve been working on implementing the features needed to make LilyPond support Tsugaru shamisen notation, and I think it’s now complete enough that I can share it.

This example shows most of the output features:

Example output

Here’s what’s included:

  • Predefined tunings
    • honchoushiTuning (C F C’)
    • niagariTuning (C G C’)
    • sansagariTuning (C F B♭’)
  • Annotations
    • \hajiki left-hand pluck ハ
    • \sukui upstroke ス
    • \uchi hammer-on ウ
    • \oshi oshibachi ⅃
    • \keshi mute ケ
  • Underlines for note lengths
  • Dot rests (with underlines as appropriate)
  • Compressed spacing for 4300 phrases and similar

There are instructions and more details on the project page.

Please try it out and let me know how you get on!


#2

Wow I really really love this! Can’t even imagine how hard it was to code that XDDD

Just one thing: I tried to use variables but they don’t show up in the .pdf;
is it because they are declared outside of the \score thing so the stuff I declare as the variable can’t be read as shamisen notation? (I have no clue what I’m talking about and it’s highly likely that I’m just stupid and don’t know how LilyPond works, if that’s true…nevermind anything I said XDD)

\header{
title = “Sou”
composer = “Masahiro Nitta”

parta = {dis’16 dis’ \sukui dis’8 c’
(c’) g ais c’
(c’) g ais c’
dis’16 dis’ \sukui dis’8 c’ ais4 } <-VARIABLE
}

\score {
\new TabStaff {
\set TabStaff.stringTunings = #niagariTuning <-SHAMI STUFF
\shamisenNotation
\time 2/4
when I try to declare the variable here the program gives me an error message
c8 \parta
dis8 \parta

}
}

variable is not in the shami stuff section = variable IS not shami stuff???


#3

I’m glad you like it!

It’s nothing to do with the shamisen notation: it’s just the way that LilyPond works.

The only problem is that you’ve assigned the variable within the \header section. It needs to be at the top level, i.e. outside any {} block. If you do this instead, it will work:

\version "2.18.2"
\include "shamisen.ly"

\header {
  title = "Sou"
  composer = "Masahiro Nitta"
}

parta = {
  dis'16 dis' \sukui dis'8 c'
  (c') g ais c'
  (c') g ais c'
  dis'16 dis' \sukui dis'8 c' ais4
}

\score {
  \new TabStaff {
    \set TabStaff.stringTunings = #niagariTuning
    \shamisenNotation
    \time 2/4
    c8 \parta
    dis8 \parta
  }
}

If you’d like to see a really extensive example, I used a lot of variables in the source of Akita Ondo on shamisen.space.


#4

Wow!! Thank you so much! :smiley: