Last active
August 31, 2026 19:45
-
-
Save Benitoite/65f869291788bb1c68513101ef95326f to your computer and use it in GitHub Desktop.
Random long melismatic syllables
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env zsh | |
| # Generate a complete GABC score containing random long melismatic syllables | |
| # from a local GregoBase corpus. | |
| # | |
| # Usage: | |
| # ./random_melismas.zsh [-n count] [path-to-gregobase-corpus] > melismas.gabc | |
| # | |
| # The default corpus is "gregobasecorpus-v0" next to this script. By default, | |
| # ten melismas are selected, each from a distinct source file, and two are | |
| # placed on each output staff. Every selected syllable has at least ten sung | |
| # notes and is labeled with its GregoBase ID and exact note count. | |
| emulate -L zsh | |
| setopt err_return no_unset pipe_fail | |
| readonly MIN_NOTES=12 | |
| readonly MELISMAS_PER_LINE=2 | |
| readonly MAX_ATTEMPTS=5000 | |
| readonly PROGRAM_NAME=${0:t} | |
| typeset count_arg=1 | |
| usage() { | |
| print -u${1:-1} -r -- \ | |
| "usage: $PROGRAM_NAME [-n count] [path-to-gregobase-corpus]" | |
| } | |
| while (( $# > 0 )); do | |
| case $1 in | |
| (-n|--count) | |
| if (( $# < 2 )); then | |
| print -u2 -- "error: $1 requires a positive integer" | |
| usage 2 | |
| exit 2 | |
| fi | |
| count_arg=$2 | |
| shift 2 | |
| ;; | |
| (--count=*) | |
| count_arg=${1#*=} | |
| shift | |
| ;; | |
| (-h|--help) | |
| usage | |
| exit 0 | |
| ;; | |
| (--) | |
| shift | |
| break | |
| ;; | |
| (-*) | |
| print -u2 -- "error: unknown option: $1" | |
| usage 2 | |
| exit 2 | |
| ;; | |
| (*) | |
| break | |
| ;; | |
| esac | |
| done | |
| if (( $# > 1 )); then | |
| print -u2 -- "error: too many arguments" | |
| usage 2 | |
| exit 2 | |
| fi | |
| if [[ $count_arg != <-> ]] || (( count_arg < 1 )); then | |
| print -u2 -- "error: count must be a positive integer: $count_arg" | |
| exit 2 | |
| fi | |
| readonly MELISMA_COUNT=$count_arg | |
| readonly SCRIPT_DIR=${0:A:h} | |
| readonly CORPUS_DIR=${1:-${SCRIPT_DIR}/gregobasecorpus-v0} | |
| readonly GABC_DIR=${CORPUS_DIR:A}/gabc | |
| if [[ ! -d $GABC_DIR ]]; then | |
| print -u2 -- "error: GABC directory not found: $GABC_DIR" | |
| usage 2 | |
| exit 1 | |
| fi | |
| gabc_files=("$GABC_DIR"/*.gabc(N)) | |
| if (( ${#gabc_files} == 0 )); then | |
| print -u2 -- "error: no .gabc files found in: $GABC_DIR" | |
| exit 1 | |
| fi | |
| if (( MELISMA_COUNT > ${#gabc_files} )); then | |
| print -u2 -- \ | |
| "error: requested $MELISMA_COUNT distinct sources, but only ${#gabc_files} exist" | |
| exit 1 | |
| fi | |
| # Find every qualifying note-bearing syllable in one score, choose one at | |
| # random, and return its active clef, note count, and source GABC. A nonzero | |
| # status tells the caller that this file has no qualifying syllable. | |
| extract_melisma() { | |
| perl -0777 - "$1" "$MIN_NOTES" <<'PERL' | |
| use strict; | |
| use warnings; | |
| my ($path, $min_notes) = @ARGV; | |
| # Source line breaks describe the source score's page geometry. Remove them | |
| # from a selected syllable so only the new anthology's breaks control layout. | |
| sub without_source_linebreaks { | |
| my ($music) = @_; | |
| my $clean = ''; | |
| my $in_brackets = 0; | |
| my $in_braces = 0; | |
| for (my $i = 0; $i < length $music; $i++) { | |
| my $char = substr($music, $i, 1); | |
| # NABC after | has a separate alphabet, in which z is not a GABC break. | |
| if ($char eq '|' && !$in_brackets && !$in_braces) { | |
| $clean .= substr($music, $i); | |
| last; | |
| } | |
| $in_brackets++ if $char eq '['; | |
| $in_brackets-- if $char eq ']' && $in_brackets; | |
| $in_braces++ if $char eq '{'; | |
| $in_braces-- if $char eq '}' && $in_braces; | |
| # Preserve z0 (a custos without a break), but remove z/Z line breaks, | |
| # their optional +/- modifier, and a manual custos attached to them. | |
| if (!$in_brackets && !$in_braces | |
| && ($char eq 'z' || $char eq 'Z') | |
| && substr($music, $i + 1, 1) ne '0') { | |
| $clean =~ s/[a-mA-M]\+\z//; | |
| my $next = substr($music, $i + 1, 1); | |
| $i++ if $next eq '+' || $next eq '-'; | |
| next; | |
| } | |
| $clean .= $char; | |
| } | |
| return $clean; | |
| } | |
| open my $fh, '<:raw', $path or exit 1; | |
| local $/; | |
| my $document = <$fh>; | |
| close $fh; | |
| my (undef, $body) = split /^%%[\t ]*\r?\n/m, $document, 2; | |
| exit 1 unless defined $body; | |
| my @candidates; | |
| my $cursor = 0; | |
| my $active_clef = ''; | |
| while ($body =~ /\(([^()]*)\)/g) { | |
| my ($start, $end) = ($-[0], $+[0]); | |
| my $music = $1; | |
| my $scan = $music; | |
| # Count only sung notes in the primary GABC voice. NABC, directives, | |
| # polyphonic upper voices, and inline tags use letters for other purposes. | |
| $scan =~ s/\|.*\z//s; | |
| $scan =~ s/\[[^]]*\]//g; | |
| $scan =~ s/\{[^}]*\}//g; | |
| $scan =~ s/<[^>]*>//g; | |
| my $note_count = 0; | |
| my $first_note_clef = ''; | |
| for (my $i = 0; $i < length $scan; $i++) { | |
| my $remaining = substr($scan, $i); | |
| if ($remaining =~ /\A([cf]b?[1-4])/) { | |
| $active_clef = $1; | |
| $i += length($1) - 1; | |
| next; | |
| } | |
| my $pitch = substr($scan, $i, 1); | |
| next unless $pitch =~ /[a-mA-M]/; | |
| my $after = substr($scan, $i + 1); | |
| # Accidentals and manual custodes use a staff-position letter but do | |
| # not add a sung note. | |
| if ($after =~ /\A[xy#\+]/) { | |
| $i++; | |
| next; | |
| } | |
| next unless length $active_clef; | |
| $first_note_clef ||= $active_clef; | |
| # hvv is two virgae and hsss is three strophae: the carrier pitch is | |
| # not an additional note beyond the v/s repetition run. | |
| if ($after =~ /\A([sv]+)/) { | |
| my $repetitions = $1; | |
| $note_count += length $repetitions; | |
| $i += length $repetitions; | |
| } else { | |
| $note_count++; | |
| } | |
| } | |
| # Text since the preceding parenthesized group belongs to this group. A | |
| # note-bearing group with visible lyric text is one complete GABC syllable; | |
| # control-only groups such as bars and clefs are therefore excluded. | |
| my $prefix = substr($body, $cursor, $start - $cursor); | |
| my $visible_lyric = $prefix; | |
| $visible_lyric =~ s/<[^>]*>//g; | |
| $visible_lyric =~ s/\$[^\$]*\$//g; | |
| my $is_repeat_marker = | |
| $prefix =~ /<i>/i | |
| && $visible_lyric =~ /\A\s*i{1,3}j\.\s*\z/i; | |
| if ($note_count >= $min_notes | |
| && length $first_note_clef | |
| && !$is_repeat_marker | |
| && $visible_lyric =~ /[A-Za-z\x80-\xFF]/) { | |
| push @candidates, { | |
| start => $cursor, | |
| end => $end, | |
| count => $note_count, | |
| clef => $first_note_clef, | |
| }; | |
| } | |
| $cursor = $end; | |
| } | |
| exit 1 unless @candidates; | |
| my $chosen = $candidates[int rand @candidates]; | |
| my $melisma = substr( | |
| $body, | |
| $chosen->{start}, | |
| $chosen->{end} - $chosen->{start}, | |
| ); | |
| $melisma =~ s/\A\s+//; | |
| $melisma =~ s{\(([^()]*)\)}{ | |
| my $original = $1; | |
| my $clean = without_source_linebreaks($original); | |
| (length($clean) || $original !~ /[zZ]/) ? "($clean)" : ''; | |
| }ge; | |
| # Physical source newlines are ordinary GABC whitespace. Flatten them so each | |
| # result occupies one source line and only generated (z) commands break staves. | |
| $melisma =~ s/[\t ]*\r?\n[\t ]*/ /g; | |
| $melisma =~ s/\s+\z//; | |
| binmode STDOUT, ':raw'; | |
| print $chosen->{clef}, "\n", $chosen->{count}, "\n", $melisma; | |
| PERL | |
| } | |
| read_header() { | |
| awk -v key="$1" ' | |
| $0 == "%%" { exit } | |
| index($0, key ":") == 1 { | |
| value = substr($0, length(key) + 2) | |
| sub(/;$/, "", value) | |
| print value | |
| exit | |
| } | |
| ' "$2" | |
| } | |
| selected_files=() | |
| selected_clefs=() | |
| selected_counts=() | |
| selected_melismas=() | |
| selected_ids=() | |
| typeset -A used_files | |
| # Randomly sample distinct scores. A source is reserved only after it yields a | |
| # qualifying syllable, so unsuitable scores do not reduce the requested count. | |
| for (( attempt = 1; | |
| attempt <= MAX_ATTEMPTS && ${#selected_files} < MELISMA_COUNT; | |
| attempt++ )); do | |
| candidate=${gabc_files[$(( RANDOM % ${#gabc_files} + 1 ))]} | |
| [[ -n ${used_files[$candidate]-} ]] && continue | |
| if parsed=$(extract_melisma "$candidate"); then | |
| clef=${parsed%%$'\n'*} | |
| remainder=${parsed#*$'\n'} | |
| count=${remainder%%$'\n'*} | |
| melisma=${remainder#*$'\n'} | |
| used_files[$candidate]=1 | |
| selected_files+=("$candidate") | |
| selected_clefs+=("$clef") | |
| selected_counts+=("$count") | |
| selected_melismas+=("$melisma") | |
| selected_ids+=("$(read_header _gregobase_id "$candidate")") | |
| fi | |
| done | |
| if (( ${#selected_files} != MELISMA_COUNT )); then | |
| print -u2 -- \ | |
| "error: found only ${#selected_files} distinct melismas of at least ${MIN_NOTES} notes" | |
| exit 1 | |
| fi | |
| print -r -- "name:${MELISMA_COUNT} random GregoBase melismas;" | |
| print -r -- "initial-style:0;" | |
| print -r -- \ | |
| "commentary:Melismatic syllables labeled with GregoBase ID and sung-note count;" | |
| print -r -- "%%" | |
| for (( index = 1; index <= MELISMA_COUNT; index++ )); do | |
| chant_id=${selected_ids[$index]:-unknown} | |
| print -nr -- "(${selected_clefs[$index]}) " | |
| print -nr -- \ | |
| "<alt>$index · GB$chant_id · ${selected_counts[$index]}n</alt>" | |
| print -nr -- "${selected_melismas[$index]} (::)" | |
| if (( index % MELISMAS_PER_LINE == 0 || index == MELISMA_COUNT )); then | |
| print -r -- " (Z)" | |
| else | |
| fi | |
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #1 | |
| subtitle:_; | |
| name:random_melismas01 | |
| %% | |
| (f3) <alt>1 · GB3493 · 15n</alt>pó(ig/ijIG//egf/ivGF/hhg) (::) | |
| (c3) <alt>2 · GB1268 · 10n</alt>jus:(df/e!hhhf/fef.) (::) (z) | |
| (c4) <alt>3 · GB7295 · 13n</alt>cél(hjg!/efED;hg!/hihhv) (::) | |
| (c4) <alt>4 · GB1429 · 11n</alt>í(jvjjjvHGFgwhgh) (::) (z) | |
| (c3) <alt>5 · GB260 · 10n</alt>rum(jh/jki/hh/fgf.) (::) | |
| (f3) <alt>6 · GB1561 · 11n</alt>hi.(fefEC//fef/ggf) (::) (z) | |
| (c4) <alt>7 · GB3667 · 10n</alt>xí(g/hghd//gvFEDe) (::) | |
| (f3) <alt>8 · GB833 · 11n</alt>ná(hhgh/i_h/ihhfg) (::) (z) | |
| (c3) <alt>9 · GB3912 · 10n</alt>tres(feed//efe/f!hh) (::) | |
| (c4) <alt>10 · GB277 · 15n</alt>me:(ig/h!jjjh/klJ'IHjvIH) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #2 | |
| subtitle:_; | |
| name:random_melismas02 | |
| %% | |
| (c4) <alt>1 · GB6187 · 11n</alt>ta(ffvDC//dff//hghf) (::) | |
| (c4) <alt>2 · GB818 · 32n</alt>pau(g_d/f_ef./d!ef'!gh'/jvIH'//jv_G_F'fd,fge___//fgF'EfvED'ewfef) (::) (z) | |
| (c3) <alt>3 · GB840 · 10n</alt>am:(ihhvF'Effe/ff) (::) | |
| (c3) <alt>4 · GB1476 · 20n</alt>Dó(ihhhhf/hh//ihhhhe/gxfgEDhh) (::) (z) | |
| (c4) <alt>5 · GB4661 · 10n</alt>dá(h!iwj/kvJIjwkjk) (::) | |
| (c3) <alt>6 · GB6249 · 37n</alt>tu(jvIHG/hvFE;gef//hhv//ijij;hj/kvIH/hvFE//fgFEf;i!jkj//kvJIj) (::) (z) | |
| (c2) <alt>7 · GB6355 · 21n</alt>c<sp>'ae</sp>(iivHG/hf;3hj//ikJIH//ghf;4gh/igh) (::) | |
| (c3) <alt>8 · GB5721 · 20n</alt>cél(fd//fvED;4fd/ef//hhv//ig/hf//hi//kkh) (::) (z) | |
| (c4) <alt>9 · GB3383 · 25n</alt>ó(ixhf/gh/jjh//giHGF//,fff//fgf/ghg/hf/gf) (::) | |
| (f3) <alt>10 · GB8107 · 17n</alt>vé(j_hjvIG'F//hiG'FhvGEffvEC) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #3 | |
| subtitle:_; | |
| name:random_melismas03 | |
| %% | |
| (c4) <alt>1 · GB263 · 15n</alt>le(e_d/fh//ghg/e!fg/hf/gvFE) (::) | |
| (c4) <alt>2 · GB6614 · 10n</alt>pro(c!df//e!fhGE/fd) (::) (z) | |
| (c4) <alt>3 · GB1162 · 11n</alt>me(d!ewf!gvFED./fvEDC') (::) | |
| (c4) <alt>4 · GB222 · 25n</alt>ho(fd/ffd/ef/gh/jjj_i,hjIH.giH'GhvF'Ef) (::) (z) | |
| (c3) <alt>5 · GB1399 · 16n</alt>al(fe/hvvGE//gxfgFD//egFE/fe) (::) | |
| (c4) <alt>6 · GB3442 · 29n</alt>e(ixhiGEg//hiFD//fffdgvFE,df/hf/gefv//df!gvFEf) (::) (z) | |
| (c4) <alt>7 · GB3458 · 41n</alt>san(dh/jjggf/gh,hggf/gh/jjggf/gh,gh!iwj!kvJIHGh,hkkj/klJIH) (::) | |
| (c4) <alt>8 · GB3860 · 13n</alt>te.(jijHG//ixjjvHG/hiGF) (::) (z) | |
| (c4) <alt>9 · GB3684 · 35n</alt>ti(ixdh//gih/ivGF//ggf/gg//f!gh!jjg,ixhhg/hvGF//hiHG/hw!ivHG/hi) (::) | |
| (c4) <alt>10 · GB5146 · 10n</alt>vér(dv//fgFD//evCA//cd~) (::) (z) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #4 | |
| subtitle:_; | |
| name:random_melismas04 | |
| %% | |
| (c4) <alt>1 · GB381 · 10n</alt>lú(ghghFD'ewf/ge~) (::) | |
| (c4) <alt>2 · GB1470 · 10n</alt>nus(ghFEfvEDCdc) (::) (z) | |
| (c2) <alt>3 · GB6617 · 18n</alt>vo(ef//gvFE/fg//iivGF;3iiji//ivHG) (::) | |
| (c4) <alt>4 · GB1805 · 10n</alt>tes(g/h!iw!jvIH/ivHGh) (::) (z) | |
| (c4) <alt>5 · GB818 · 12n</alt>ne(iji//hjij/hiH'Gi.) (::) | |
| (c4) <alt>6 · GB194 · 10n</alt>so(ixgih'/ivGF'/gffe.) (::) (z) | |
| (c4) <alt>7 · GB3149 · 10n</alt>gnus(g.f!gwh_g_/hv_GE/f_e) (::) | |
| (c4) <alt>8 · GB1662 · 10n</alt>runt(ih/jkJHG/hhg) (::) (z) | |
| (c4) <alt>9 · GB533 · 12n</alt>tu(dgffvEC/d!ew!fvED'e) (::) | |
| (cb4) <alt>10 · GB8724 · 11n</alt>á(f!gh/jh'hvGFggf) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #5 | |
| subtitle:_; | |
| name:random_melismas05 | |
| %% | |
| (c4) <alt>1 · GB1611 · 13n</alt>quo(ikjjjhivHGhffe) (::) | |
| (f3) <alt>2 · GB22 · 11n</alt>hi.(fefEC//fef/ggf.) (::) (z) | |
| (c4) <alt>3 · GB1670 · 10n</alt>tu(hg/h!iw!jvIHijh) (::) | |
| (c4) <alt>4 · GB3777 · 11n</alt>cem(hjh/ghg/fgFDf) (::) (z) | |
| (c4) <alt>5 · GB3592 · 44n</alt>fru(h/jhhg/he/fg//dfED//,dh/jhhg/he/fg/ixeg!ivHGhvFDfvED,hhggf/hjhhg) (::) | |
| (c3) <alt>6 · GB5441 · 16n</alt>má(ivHGE//fhGE//fh;gi//jvHGF) (::) (z) | |
| (c4) <alt>7 · GB3098 · 12n</alt>é(hkj/kvJH/hv//ghf/gh) (::) | |
| (c3) <alt>8 · GB764 · 10n</alt>dat:(hg/i_h//jvIH'Ghf..) (::) (z) | |
| (c3) <alt>9 · GB518 · 13n</alt>os(h.f!gwh!iv.hi/jhh/iih.) (::) | |
| (c3) <alt>10 · GB348 · 15n</alt>te(e/hh//hh/ijhh'hvFE'gvFE.) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #6 | |
| subtitle:_; | |
| name:random_melismas06 | |
| %% | |
| (c2) <alt>1 · GB6651 · 48n</alt>re(gv//f!ghFD//gvFECd;ffd//exevDC//dvCBc;ffc//dfDC//dfDBc;ffg//eyiivGFE;4ghGFE/fg) (::) (z) | |
| (c4) <alt>2 · GB1097 · 24n</alt>gló(ccdde/fg./fh/ghf. , gf/ghffvECddvCA) (::) (z) | |
| (c3) <alt>3 · GB807 · 37n</alt>fí(gxfh/ih/i_h//ivFD'//fh.ivFD'fhfg.,fh/ih/i_h//ivFD'e_d.ddd/f_h/ijh) (::) (z) | |
| (c3) <alt>4 · GB311 · 37n</alt>tu(jvI'HG'hvF'E,ge/f!hh/ijij.,hj!kvIG'hvF'E//fgF'Ef.,i!jwk_jkvJI'j) (::) (z) | |
| (c4) <alt>5 · GB4967 · 28n</alt>tu(fhhgh//jjh//jjvIH//jggf;hjIHG//ffhGF//gf) (::) (z) | |
| (c3) <alt>6 · GB3715 · 26n</alt>pá(hv//fihhhhvFD,f!hh/fig/hvFEf egFE/fvED) (::) (z) | |
| (c3) <alt>7 · GB965 · 28n</alt>dí(hvvGF/hvGE/ff/gxde!fgF'E/fvEDe.,fh/ih/ih/ijh) (::) (z) | |
| (c4) <alt>8 · GB77 · 40n</alt>di(ixh./ijh/iggf/hjh. , ixf.g!hwigh./ijh/iggf/hjh. , ixjkj___/jh/ivGF'/gwhg/hi//) (::) (z) | |
| (c4) <alt>9 · GB3362 · 29n</alt>bo(ixhiGEg//hiFD//fffd/gvFE , df/hf/ge/fv//df!gvFEf) (::) (z) | |
| (c3) <alt>10 · GB6628 · 36n</alt>té(gyhf//hvGE//fhFD;gxgvFEf//hhv//ijHF;gygig//ivHG//he//fe;4ge//gvFEfd) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #7 | |
| subtitle:_; | |
| name:random_melismas07 | |
| %% | |
| (c4) <alt>1 · GB371 · 27n</alt>au(ixhf/gh!jjh/jjvH'GhiG'F,ghfff'dfED'//e!f'g~) (::) (z) | |
| (c4) <alt>2 · GB3230 · 24n</alt>má(hvGFg//jjj/kj/mvKJ/lj,hi!jkkvJIGhi) (::) (z) | |
| (c4) <alt>3 · GB7238 · 27n</alt>Vir(hjIH//kj//ijh//jg;3h!ijg;gghGF/gd;4gh/jhi) (::) (z) | |
| (c3) <alt>4 · GB6293 · 36n</alt>fí(fh//ihih//ivFD;4fh//ivFD;gxfhggv//fh//ihih//ivFD/ed;1ddv//fh//ijh) (::) (z) | |
| (f3) <alt>5 · GB1653 · 25n</alt>mil(hiHFfe//hiHFfe//hvGFihhvGFhf/gvFE) (::) (z) | |
| (f3) <alt>6 · GB1029 · 25n</alt>por(h'/ihhf/g'/hggf/h'/ihhg/i'/jiig/h'/ighf) (::) (z) | |
| (c4) <alt>7 · GB1360 · 52n</alt>tá(dh/jjggf/gh.,hggf/gh/jjggf/gh.,g.h!iwj!kvJ'IH'Gh.,hkkj/klJ'IH'Gh.,g.h!iwj/kjjvIH) (::) (z) | |
| (c3) <alt>8 · GB3565 · 31n</alt>án(hf/hhf/hhf/hhh , f!hhf/hhf/hhh//ihhf/hhf/hhh) (::) (z) | |
| (c4) <alt>9 · GB3813 · 25n</alt>de(hf/gffv//ce!gv//hggg//ggge//fe/fvED//fgfg) (::) (z) | |
| (c4) <alt>10 · GB1608 · 28n</alt>coe(ixhv//fh!ivHGhv//,//f!gh/jij//h!jjjvGFh//jjh//jjg/jj) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #8 | |
| subtitle:_; | |
| name:random_melismas08 | |
| %% | |
| (c4) <alt>1 · GB73 · 24n</alt>me(hv.f!g'h/jhjvGF'fd , ef!ghG'Efv.ef!gh_gh) (::) (z) | |
| (c4) <alt>2 · GB933 · 35n</alt>ti(ixdh//gih/ivGF//ggf/gg//f!gh!jjg,ixhhg/hvGF./hiHG'/hw!ivHG/hi) (::) (z) | |
| (c4) <alt>3 · GB3773 · 31n</alt>dé(gf//g/hjh/ig//hvGF/ghhhvGFg,hjh/ig//hvGF/ghhgh) (::) (z) | |
| (c4) <alt>4 · GB3481 · 24n</alt>ór(ixgh/igh//egFED , ixce!gh/igh//egFEDdc~) (::) (z) | |
| (c3) <alt>5 · GB3405 · 28n</alt>cá(hv//fh/iih/ii,fh/i!kkkh klkkvIHhhf/hhhi) (::) (z) | |
| (c3) <alt>6 · GB1759 · 37n</alt>ná(jvIHGhvFE,ge/f!hh/ijij//,//hj!kvIGhvFE//fgFEf , i!jwkj/kvJIj) (::) (z) | |
| (c3) <alt>7 · GB1359 · 30n</alt>vén(h_f/hhf/hhf./d!ef!hh/ijH'FhvGEf. , f!hh//hhh.f!gwh) (::) (z) | |
| (c4) <alt>8 · GB99 · 28n</alt>bún(ix/hiG'E/g./hiF'D/fffd/gvFE. , df/h_f/g_e/fv.df!gv/ef~//) (::) (z) | |
| (c4) <alt>9 · GB723 · 25n</alt>Dó(fgf__hv.ghFD.//cd/fef/g_e,h_g/efd//fvEDed) (::) (z) | |
| (c4) <alt>10 · GB5248 · 25n</alt>tó(efED;dh!ivHG/ge;4ghGFEC;egFED//ffd) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #9 | |
| subtitle:_; | |
| name:random_melismas09 | |
| %% | |
| (c4) <alt>1 · GB946 · 62n</alt>ce(ixg_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;ixce!g_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;gv.ef/g_e/f_dev.,gv.ef/g_e/f_dev.c!dwe'!fv) (::) (z) | |
| (c3) <alt>2 · GB1673 · 25n</alt>num.(hhhf/hhhf/hhf//,//de/f!hh/ijghf/gxegFD) (::) (z) | |
| (c4) <alt>3 · GB3627 · 26n</alt>o(ixhg/hvGF//gighhvGFED,cf!ghhvFEDC//efd) (::) (z) | |
| (c4) <alt>4 · GB443 · 24n</alt>jú(hf/gh/jhjvGE'fvDC',d!ff/ghF'Eghffe) (::) (z) | |
| (f3) <alt>5 · GB7233 · 27n</alt>strá(f//hffeg//hiig;ivHG//hvGF//gvFEf;hhf//gvFEf) (::) (z) | |
| (c3) <alt>6 · GB5207 · 24n</alt>le(hi/jik//kvJIH//igh;f!gh//gvFED//gvFE//fd) (::) (z) | |
| (c3) <alt>7 · GB1440 · 25n</alt>ae.(hhhf,h/ihhh//hhhf/ih/ghf//ihhhhefv) (::) (z) | |
| (c4) <alt>8 · GB3755 · 24n</alt>tér(hgge/gvFED;cfe/fgFED ce/gfffvED) (::) (z) | |
| (c4) <alt>9 · GB4872 · 25n</alt>cor(hv//f!gh//jh/jg//ffd;ef//ghg//ffv//ef/gh//hgh>) (::) (z) | |
| (c3) <alt>10 · GB5670 · 24n</alt>mí(jh//jvIH/hf;hvhfh//hhf;h!ijIHjvIH/if) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #10 | |
| subtitle:_; | |
| name:random_melismas10 | |
| %% | |
| (c4) <alt>1 · GB1599 · 25n</alt>le(ghg//f/ge/fd , df/hg//df/hg//f/ge/fd//hvGFg) (::) (z) | |
| (c4) <alt>2 · GB3484 · 25n</alt>tér(ixhf/gh!jjh//giHGF,fff//fgf/ghg/hf/gf) (::) (z) | |
| (c3) <alt>3 · GB3395 · 36n</alt>á(f!gw!hvGFEfd,efe//f!gw!hvGFEfvEDfh/ivHGEf,fh!ivHGEf!gwh) (::) (z) | |
| (c3) <alt>4 · GB1785 · 24n</alt>gá(hf/hhf//hhf//hhjvIHf!hh/jvIHihhhf) (::) (z) | |
| (c3) <alt>5 · GB1684 · 27n</alt>án(hi!jv//hjIH/hf//hhf/hv//hhhf , hi!jvIH/jvIH/if~) (::) (z) | |
| (c4) <alt>6 · GB1726 · 28n</alt>pér(ixhv//fh!ivHGhv,f!gh/jij//h!jjjvGFh//jjh//jjg/ji) (::) (z) | |
| (c4) <alt>7 · GB189 · 34n</alt>gen(jk/jkh'//jvIH'hg/ijh.//giggh.,hi!jkkvJ'IH'//jvIH'hg/ijh~) (::) (z) | |
| (c4) <alt>8 · GB6960 · 24n</alt>e(hf!gh//jh/jvGF//fvDC//dffv;ghFE//ghffe) (::) (z) | |
| (c4) <alt>9 · GB539 · 29n</alt>e(ixhiG'Eg.ixhiF'D//fffdgvFE.,df/h_f/g_efv.df!gvFE'f) (::) (z) | |
| (c4) <alt>10 · GB1793 · 34n</alt>a(ig//ivHGhhf/hh , g!jj//jj//jjjvHGFEixfh//ivGFghg/hgge) (::) (z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #11 | |
| subtitle:_; | |
| name:random_melismas11 | |
| %% | |
| (c4) <alt>1 · GB3602 · 34n</alt>gen(jk//jkh//jvIHhg/ijh giggh,hi!jkkvJIH//jvIHhg/ijh~) (::) (Z) | |
| (c3) <alt>2 · GB1612 · 49n</alt>lá(ilmvLK/lvKJ/kkki ; kv//mvLK/lvKJ/kkki//jvIHhhf/g!hi , jkIH/ivHF/fe , g!hwigiigi) (::) (Z) | |
| (c4) <alt>3 · GB7314 · 39n</alt>e,(kvjkh!/;3!/ixgiHGgf!/ghhv :: h!/jk!/jkh!/;3!/giHGgf!/ghhv :: hvGFgvFED!/;4!/fvDCd) (::) (Z) | |
| (c3) <alt>4 · GB1534 · 37n</alt>tén(jvIHGhvFE,ge/f!hh/ijij,hj!kvIGhvFE//fgFEf,i!jwkjkvJIj) (::) (Z) | |
| (c3) <alt>5 · GB1537 · 37n</alt>me(jvIHGhvFE,ge/f!hh/ijij,hj!kvIGhvFE//fgFEf,i!jwkjkvJIj) (::) (Z) | |
| (c3) <alt>6 · GB5602 · 39n</alt>Dó(ihhf//hiHG;3hiFD;fh/ihhf//hiHG;3hiFD;fd//fvED;3fd/ef//hhv//ik) (::) (Z) | |
| (c4) <alt>7 · GB3949 · 38n</alt>scén(ixdh//jjh//gih/ig//f!gh/jjg,fhgh//fh!jvGFfdf eg/hjh/jhhgh~) (::) (Z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #12 | |
| subtitle:_; | |
| name:random_melismas12 | |
| %% | |
| (c4) <alt>1 · GB16 · 42n</alt>á(ixhg/hiHG'ge/gh//egFE'evD'Cd.,hf/ghhddggvFD'Cde.,fhG'ED'efeed) (::) (Z) | |
| (c4) <alt>2 · GB3770 · 47n</alt>ló(ixh/jjh/iggfh//dfEDCd;ixd!fh/jjh/iggfh//dfEDCd,cfe/ffd/ecfffd/ecd) (::) (Z) | |
| (c3) <alt>3 · GB718 · 68n</alt>lá(fhh'hhf//hihhvF'ED,fhF'EfhE'Dfhhf//hjIH.,f!hhjvIH'ihh'hf,gxgvFEfvEDffe/ff//ef!hhf/hjIH'hf.,f/hhf/he) (::) (Z) | |
| (c4) <alt>4 · GB3685 · 38n</alt>túr(gg/h!iw!jvIHG/g/h!iw!jvIHG/ghGD/d/e!fgFED,e!fgFED/d//cd!fvfe) (::) (Z) | |
| (c3) <alt>5 · GB1108 · 37n</alt>mon(jvI'HG'/hvF'E , ge/f!hh/ijij. , hj!kvIG'/hvF'E/fgF'Ef. , i!jwk_j/kvJI'j) (::) (Z) | |
| (c3) <alt>6 · GB492 · 52n</alt>pó(ihhf/hiHG.hiFD.,f!hhi/hhf/hiHG./hiFD.,gxfg//e!g'h/ghg/hvFD.,fdfED//fd/ef/hh/i!jwk) (::) (Z) | |
| (f3) <alt>7 · GB3459 · 32n</alt><alt>Hic genuflectitur.</alt> Ve(kxhi/ji/jkIH//ji/jkIH,jjijvIH//jjijvIH//ji/jiif) (::) (Z) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #13 | |
| subtitle:_; | |
| name:random_melismas13 | |
| %% | |
| (c4) <alt>1 · GB3851 · 38n</alt>au(ixdh//jjh//gih/ig/f!gh!jjg , fhgh//fh!jvGFfdf eg/hjh/jhhgh) (::) (Z) | |
| (c2) <alt>2 · GB1023 · 66n</alt>tri.(fh/j_h//ivHGhvGFg.;fh/j_h//ivHGhvGFg.,hiHG'hvGF'ED'ed/ed/dc.;cd!ef!gv.hiHG'hvGF'EDfg..,ce/gffvED'C/d_ed/dc.) (::) (Z) | |
| (c4) <alt>3 · GB1433 · 37n</alt>le(cd//fge//gh/fff//fgff/ixg!ii//iijvIHFg , ixiiig//hiFD/fv////ff/gf) (::) (Z) | |
| (f3) <alt>4 · GB3435 · 51n</alt>ne(g!hi//hih/f!gwhgh/fgffe//fg!hvGFEf ; fg!hi//hih/f!gwhgh/fgffe//fg!hvGFEf , fg!hi) (::) (Z) | |
| (c3) <alt>5 · GB8216 · 38n</alt>est.(hghFEe'e/fe/ede.,hhh/ivH'GF'fe/fhG'FE'efd.,f!gwhvGF'gffe.) (::) (Z) | |
| (c4) <alt>6 · GB1094 · 35n</alt>ó(hgh//khjvIGh.,hgh//khjvIGhhh/ig,gh!jvIG'jv//ijhivHG'h) (::) (Z) | |
| (c4) <alt>7 · GB994 · 40n</alt>pá(efE'DgvvFD'ec.,fh//ghF'E//g_dfv.efDC.,e/ghE'DfvED'dc,e/ghE'Dfe) (::) (Z) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #14 | |
| subtitle:_; | |
| name:random_melismas14 | |
| %% | |
| (c3) <alt>1 · GB1547 · 66n</alt>pa(i/jg/hi//ji/jg/hi,kkh/jijvHF/gwh!iv//giHGE,fhgh//fh//ghFDe;ijIDfe//f!gwh!iv//h!kki,kj/lklvKI kjkvIHiwj) (::) (Z) | |
| (c4) <alt>2 · GB3682 · 62n</alt>ce(ixgh/ig/he,fvEDfe/ge//fvECed/fd;ixce!gh/ig/he,fvEDfe/ge//fvECed/fd;gv//ef/ge/fdev//,gv//ef/ge/fdev//c!dwe!fv) (::) (Z) | |
| (c3) <alt>3 · GB3500 · 63n</alt>De(ih/ghf//hiHG//hiFD , f!hh/ih/ghf//hiHG//hiFD , gxfge!fwg/hf//hg/hvFD , fdfED//fd/ef!hhhf//hi!kkkJIHi) (::) (Z) | |
| (c4) <alt>4 · GB946 · 62n</alt>ce(ixg_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;ixce!g_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;gv.ef/g_e/f_dev.,gv.ef/g_e/f_dev.c!dwe'!fv) (::) (Z) | |
| (c3) <alt>5 · GB553 · 66n</alt>pa(i/jg/h_i//ji/jg/h_i,kkh//jijvHF'gwh!iv.giH'GE,fhgh./fh//ghF'De.;i_jI'Ef_e//f!gwh!iv.h!kki,k_j/l_klvKI.//kjkvIH'iwj) (::) (Z) | |
| (c4) <alt>6 · GB3733 · 62n</alt>dó(ixgh/ig/he , fvED/fe/ge/fvEC/ed/fd ; ixce!gh/ig/he , fvED/fe/ge//fvEC/ed/fd ; gv//ef/ge/fd/ev , gv//ef/ge/fd/ev///c!dwe!fv) (::) (Z) | |
| (c4) <alt>7 · GB946 · 62n</alt>ce(ixg_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;ixce!g_h/ig/h_e,fvEDfe/g_e//fvECed/fd..;gv.ef/g_e/f_dev.,gv.ef/g_e/f_dev.c!dwe'!fv) (::) (Z) | |
| (c3) <alt>8 · GB1601 · 66n</alt>thro(i/jg/hi//ji/jg/hi , kkh/ji/jvHF/gwh!iv//giHGE , fhgh//fh//ghFD/ev ; ijIE/fe//f!gwh!iv//h/kki , kj/lk/lvKI kj/kvIH/iwj) (::) (Z) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| supertitle:_; | |
| title:Random Gregobase Melismas #15 | |
| subtitle:_; | |
| name:random_melismas15 | |
| %% | |
| (c3) <alt>1 · GB718 · 68n</alt>lá(fhh'hhf//hihhvF'ED,fhF'EfhE'Dfhhf//hjIH.,f!hhjvIH'ihh'hf,gxgvFEfvEDffe/ff//ef!hhf/hjIH'hf.,f/hhf/he) (::) (Z) | |
| (c3) <alt>6 · GB553 · 66n</alt>pa(i/jg/h_i//ji/jg/h_i,kkh//jijvHF'gwh!iv.giH'GE,fhgh./fh//ghF'De.;i_jI'Ef_e//f!gwh!iv.h!kki,k_j/l_klvKI.//kjkvIH'iwj) (::) (Z) | |
| (c2) <alt>7 · GB1023 · 66n</alt>tri.(fh/j_h//ivHGhvGFg.;fh/j_h//ivHGhvGFg.,hiHG'hvGF'ED'ed/ed/dc.;cd!ef!gv.hiHG'hvGF'EDfg..,ce/gffvED'C/d_ed/dc.) (::) (Z) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment