この季節に相応しいJosefさんの書込みデータを眺めつつ、 Αφροδιτηさんの「ドイツ語フレームワーク」をイメージしていたら、 1つのことに気づきました。
日本語というのは、子音+母音という極めてシンプルな五十音発声フレームワークを持っていますが、 他の国々の発声は、母音+母音とか、子音+子音、母音+子音など、もっと複雑になっています。 Josefさんのデータは、それを音長の微妙な調整で上手く表現していると感じました。 だったら、その調整自体を更に上位のマクロで実現できないかと考えました。
例えば、
${e}g32${u}g4~32
という部分。
これは、「エウ」と母音+母音で構成されていますが、「エ」の発声後すぐに「ウ」に移行しています。 そして、ここに和音記述による先行入力を使えば、発声指定と音符指定を分離できる事に気づきました。
つまり
[${e}_32${u}]0 g32g4~32
更に、省略音長も駆使して、
[${e}_32${u}]0 g32g4~
この和音記述部分をマクロ化しておけば、
$eu{ [${e}_32${u}]0 }
このマクロを適用すると、
${eu}g32g4~
と書けます。
元の記述と比較するとこんな感じ。
(使用前) ${e}g32${u}g4~32 (使用後) ${eu}g32g4~
大した違いはないかもしれませんが、これが積み重なるとだいぶ見通しがよくなるかもと思いました。
更に、発声五十音の切替が反映するのは、切替後に出現する音符からなので、 このマクロの中の音長(今回は32分音符)を短めにしておけば、汎用力が高まることに気づきました。
例えば、
$eu{ [${e}_i30${u}]0 }
としておけば、
${eu}g64g4~ でも、 ${eu}g32g4~ でも、 ${eu}g16g4~ でも、
使用できます。 で、試しに行ったのが以下のデータです。
;--------------------------------------------------------------------------------------------- *FING "x2" *DRUM "Z2" *ROOM" R4(,,120,80,,120) " @~ X129=+27 ;試行:ピッチの変更。+27でほぼA=442、+40でほぼA=443となる。
@A P086 S+5 ;PockeyF-ML @L P054 S+15 ;PockeyM-ML @JK P001 S-10 @AL W=72.72.0 Q=127.127 @~JK Q80 @~ R100
%%116 #A8 _1
%\ALJK++ #A0 v90 o4 _1`8${001} #L0 v90 o3 $001{@ ${huro}fi45f8^32~ ${yu}f8~32 ${dou}f32f4~/~32 ${siu}g16g4~ ${nuu}a16a4~/~64 ${giu}a64.a4~/~32. ${tou}g32g4~ ${huuwu}f32f4~16~f16/64 ${kuuwu}e32e4~16~64~e16^64/~32 ${tohu}d4~32.d32./~i64 ${tou}d32.d4~/~i64 ${a}e8^i30 ${o}e8~i30~64. ${su}e64./~64 ${e}f4/~i30 ${riyu}f64..f4.~ ${zuyi}e32e8~ ${u}e2~8~32 ${mu}e8^32/~16. ${buwi}f64f4~16~64~ ${ru}f16^64/~64. ${bee}f64f4~32~ ${to}f32 ${ruye}g16g4~ ${teu}a32a4~16~64~ ${wu}a16^64/~32 ${huwo}a64a8^32~ ${yu}a8~32 ${eu}g32g4~ ${torou}f64ff4~16. ${wu}f16/~64 ${kuu}e32e4~16~64~ ${wu}e16^64/~32 ${hi}d4~64. ${mu}d64. ${ri}d4~32. ${su}d32. ${siu}e32e4~/~32 ${da}f16.^64. ${i}f8^32~64.~16~i30 ${wu}f16^i30/~64 ${ha}e4.~32~i45 ${yu}e32^i45 ${ri}d8~32. ${hi}d32. ${to}d32. ${u}d2~32.~8~32 ${mu}d8^32/~16.} #J0 {v50 o4 [da<d]4_8d>a4_8ah4_8h<c4_8c{d4_8d}3c4g8c{}>a4_8ah4_8hh4_8<cd4fedc4.d8[d!(_8d)!]4!e8f!_}2 #J1 {v50 o4 _1_4a2[ga]4[fa],[ga]aa4.g8[ga]4_[da]deffe[da][ga][fa]_8,[ga]4_8a[ga]4_8f[fa]4_}2 #K0 {v50 o3 {f4fgaagfeddef}f4.e8e2{}e4.d8[d!(<_8fed>)!]2}2 #K1 {v50 o2 f4{f8//._g_a_a_g_f_e_d_d_e_f_}f___e___f_{}e___d___}2 #L9 v0 @AL V80 #K9 v0 @JK V80!vで記述!
%#A8 _1 *STOP""
ドイツ語フレームワーク $eu{[${e}_i30${u}]0} $bee{[${be}_i30${e}]0} $dou{[${do}_i30${u}]0} $teu{[${te}_i30${u}]0} $nuu{[${nu}_i30${u}]0} $kuu{[${ku}_i30${u}]0} $giu{[${gi}_i30${u}]0} $huwo{[${hu}_i30${wo}]0} $huro{[${hu}_i30${ro}]0} $buwi{[${bu}_i30${wi}]0} $zuyi{[${zu}_i30${yi}]0} $ruye{[${ru}_i30${ye}]0} $riyu{[${ri}_i30${yu}]0} $siu{[${si}_i30${u}]0} $tou{[${to}_i30${u}]0}
$tohu{[${to}_4~32.${hu}]0} $huuwu{[${hu}_32${u}_4~16${wu}]0} $kuuwu{[${ku}_32${u}_4~16~64${wu}]0} $torou{[${to}_64${ro}_32${u}]0}
あ $a{P/ 50} い $i{P/ 51} う $u{P/ 52} え $e{P/ 53} お $o{P/ 54} か $ka{P/ 55} き $ki{P/ 56} く $ku{P/ 57} け $ke{P/ 58} こ $ko{P/ 59} さ $sa{P/ 60} し $si{P/ 61} す $su{P/ 62} せ $se{P/ 63} そ $so{P/ 64} た $ta{P/ 65} ち $ti{P/ 66} つ $tu{P/ 67} て $te{P/ 68} と $to{P/ 69} な $na{P/ 70} に $ni{P/ 71} ぬ $nu{P/ 72} ね $ne{P/ 73} の $no{P/ 74} は $ha{P/ 75} ひ $hi{P/ 76} ふ $hu{P/ 77} へ $he{P/ 78} ほ $ho{P/ 79} ま $ma{P/ 80} み $mi{P/ 81} む $mu{P/ 82} め $me{P/ 83} も $mo{P/ 84} や $ya{P/ 85} ヰ $yi{P/ 86} ゆ $yu{P/ 87} ヱ $ye{P/ 88} よ $yo{P/ 89} ら $ra{P/ 90} り $ri{P/ 91} る $ru{P/ 92} れ $re{P/ 93} ろ $ro{P/ 94} わ $wa{P/ 95} ゐ $wi{P/ 96} ん $wu{P/ 97} ゑ $we{P/ 98} を $wo{P/ 99} が $ga{P/100} ぎ $gi{P/101} ぐ $gu{P/102} げ $ge{P/103} ご $go{P/104} ざ $za{P/105} じ $zi{P/106} ず $zu{P/107} ぜ $ze{P/108} ぞ $zo{P/109} だ $da{P/110} ぢ $di{P/111} づ $du{P/112} で $de{P/113} ど $do{P/114} ば $ba{P/115} び $bi{P/116} ぶ $bu{P/117} べ $be{P/118} ぼ $bo{P/119} ぱ $pa{P/120} ぴ $pi{P/121} ぷ $pu{P/122} ぺ $pe{P/123} ぽ $po{P/124} ;---------------------------------------------------------------------------------------------
マクロに変数が使えるともっと汎用的になる気配がします。 マクロ変数の文法仕様を組み立てるための有益な指針がここにありそうです。
|