Komenda alt-o przełącza widok pomiędzy kluczami współczesnymi i oryginalnymi.

Naciśnięcie skrótu alt-o przełącza widok pomiędzy oryginalnymi kluczami, w jakich został zapisany utwór i kluczami współczesnymi w transkrypcji. Poniższy przykład ilustruje działanie funkcji:

wyświetlanie starych/nowych kluczy
Efekt zastosowania skrótu alt-o przełącza widok pomiędzy starymi i współczesnymi kluczami.

Ta funkcja programu jest przydatna w sytuacji, gdy oryginalne klucze, w jakich zapisano utwór różnią się od tych, które zastosowano w transkrypcji. Można ją też zastosować w celu ćwiczenia umiejętności czytania w różnych kluczach.

Oryginalne klucze zapisywane są w kodzie Humdrum poprzez dodanie “o” do określenia “clef”:

*oclefF4	*oclefC4	*oclefC3	*oclefC1
*clefF4	*clefGv2	*clefG2	*clefG2

Jeśeli w transkrypcji (kodzie Humdrum) brak linii zawierającej zapisaną za pomocą oclef informację na temat kluczy, wciśnięcie alt-o nie przyniesie żadnego efektu.

Spróbuj zastosować alt-o do chorałów Bacha, jak na powyższym przykładzie.

Uwagi dotyczące wdrażania funkcji

Kiedy dane są konwertowane z formatu Humdrum do MEI, oryginalne klucze są zapisywane w kodzie MEI jako opcjonalne:

<app>
   <lem/>
   <rdg label="original-clef">
      <scoreDef>
         <staffGrp>
            <staffDef clef.shape="C" clef.line="1" n="1" />
            <staffDef clef.shape="C" clef.line="3" n="2" />
            <staffDef clef.shape="C" clef.line="4" n="3" />
            <staffDef clef.shape="F" clef.line="4" n="4" />
         </staffGrp>
      </scoreDef>
   </rdg>
</app>

Element <app> służy do zapewnienia alternatywnej zawartości w pliku MEI. W tym przypadku są dwie opcje: z <lem> oznaczającym domyślny wybór (nie dodawaj oryginalnych kluczy) oraz <rdg>, który jest oznaczony jako original-clef. Domyślnie w tym przypadku program nic nie robi, co oznacza, że przypisane na początku pliku klucze nie są zmieniane:

<scoreDef>
   <staffGrp symbol="bracket">
      <staffDef clef.shape="G" clef.line="2" key.sig="1f" meter.count="4" meter.unit="4" meter.sym="common" n="1" label="Soprano" lines="5" />
      <staffDef clef.shape="G" clef.line="2" key.sig="1f" meter.count="4" meter.unit="4" meter.sym="common" n="2" label="Alto" lines="5" />
      <staffDef clef.shape="G" clef.line="2" clef.dis="8" clef.dis.place="below" key.sig="1f" meter.count="4" meter.unit="4" meter.sym="common" n="3" label="Tenor" lines="5" />
      <staffDef clef.shape="F" clef.line="4" key.sig="1f" meter.count="4" meter.unit="4" meter.sym="common" n="4" label="Bass" lines="5" />
   </staffGrp>
</scoreDef>

W pakiecie narzędzi verovio JavaScript opcja “appXPathQuery” może zostać przekazana do zestawu narzędzi, aby uruchomić polecenie XPath na danych <app> w pliku wejściowym MEI. Aby wybrać oryginalne klucze, opcje są ustawione na:

var options = {
      format: "humdrum",
      pageWidth: 2000,
      pageHeight: 2500,
      appXPathQuery: "./rdg[contains(@label, 'original-clef')]"
   };

W tym przypadku zapytanie [XPath] (https://en.wikipedia.org/wiki/XPath) wyszukuje fragment zawierający etykietę atrybutu, która ma wartość original-clef.

[Wiersz polecenia] (/myvhv/command_line) równoważny powyższym opcjom będzie wyglądał następująco:

humcat h://chorales/chor074.krn | verovio - -o chor074.svg -f humdrum -w 2000 -h 2500 --app-xpath-query="./rdg[contains(@label, 'original-clef')]"

Jest to podobne do zastosowania narzędzi strophe lub thru do danych Humdrum, chociaż system *oclef jest szczególnym przypadkiem, który nie wymaga używania strophe lub thru.

Oto równoważne działanie przy użyciu thru:

**kern
*I"Soprano
*>[modern,rest]
*>original-clefs[original,rest]
*>modern
*clefG2
*>original
*clefC1
*>rest
*k[b-]
*M4/4
*met(c)
4a
=1
...

Następnie, aby użyć współczesnych kluczy:

thru chor074-thru.krn | verovio - -o chor074-modern.svg

oraz oryginalnych kluczy:

thru -v original-clefs chor074-thru.krn | verovio - -o chor074-original.svg

Poniżej podobna funkcjonalność z użyciem strophe:

**kern
*I"Soprano
*strophe
*^
*S/modern	*S/original
*clefG2	*clefC1
*S/fin	*S/fin
*v	*v
*k[b-]
*M4/4
*met(c)
4a
=1
...

Aby wyodrębnić współczesne klucze za pomocą strophe:

strophe -x modern chor074-thru.krn | verovio - -o chor074-modern.svg

Aby wyodrębnić oryginalne klucze za pomocą strophe:

strophe -x original chor074-thru.krn | verovio - -o chor074-original.svg