「VexFlow タブ譜 カッティング」の版間の差分
(ページの作成:「<yjavascript></script> <script src="https://wiki.yo-net.jp/vexflow/build/cjs/vexflow@4.2.2.0001.js"></script> <!--<script src="https://cdn.jsdelivr.net/npm/vexflow@4.2.3/build/cjs/vexflow.js"></script>--> <!--<script src="https://cdn.jsdelivr.net/npm/vexflow@4.0.2/build/cjs/vexflow.js></script>--> </yjavascript> VexFlow 使い方に戻る。 == '''概要''' == カッティングには一弦カッティングと複数弦カッティングがあります。奏…」) |
編集の要約なし |
||
1,108行目: | 1,108行目: | ||
Guitar2_St1.addKeySignature('D').setContext(ctx); | Guitar2_St1.addKeySignature('D').setContext(ctx); | ||
Guitar2_St1.draw(); | Guitar2_St1.draw(); | ||
const Guitar2_notes1_1 = [ | |||
new VF.StaveNote({ keys: ["a/3", "e/4", "a/4", "c/5"], duration: "2" }), | |||
new VF.StaveNote({ keys: ["e/5"], duration: "8", stem_direction: -1 }), | |||
dotted(new VF.StaveNote({ keys: ["c/6"], duration: "4d", stem_direction: -1 })), | |||
]; | |||
const Guitar2_notes1_2 = [ | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
]; | |||
var Guitar2_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar2_St1_1Voice.setStrict(true); | |||
Guitar2_St1_1Voice.addTickables(Guitar2_notes1_1); | |||
var Guitar2_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar2_St1_2Voice.setStrict(true); | |||
Guitar2_St1_2Voice.addTickables(Guitar2_notes1_2); | |||
var formatterGuitar2_St1_1 = new Vex.Flow.Formatter().joinVoices([Guitar2_St1_2Voice, Guitar2_St1_1Voice]); | |||
formatterGuitar2_St1_1.format([Guitar2_St1_2Voice, Guitar2_St1_1Voice], nStaveWidth - 20 - 10); | |||
Guitar2_St1_1Voice.draw(ctx, Guitar2_St1); | |||
Guitar2_St1_2Voice.draw(ctx, Guitar2_St1); | |||
const Guitar2_St2 = new Stave(Guitar2_St1.width + Guitar2_St1.x, Guitar2_St1.y, nStaveWidth).setContext(ctx); | const Guitar2_St2 = new Stave(Guitar2_St1.width + Guitar2_St1.x, Guitar2_St1.y, nStaveWidth).setContext(ctx); |
2024年4月9日 (火) 00:23時点における版
VexFlow 使い方に戻る。
概要
カッティングには一弦カッティングと複数弦カッティングがあります。奏法としては、弦の上に指を触れた状態で弦をピッキングするものです。カチャカチャとした音ですが、エフェクターを使うとさらに表現の幅が広がる音でもあります。タブ譜では、複数弦カッティングのときには大きなバツ印と符棒と符旗でリズムを指定します。一弦カッティングのときはカッティングするべき弦にバツ印をつけ、リズムは符棒と符旗で指定します。指の触れるポジションで多少、音の響きが違うのですが、ポジションの指定は通常ありません。前後のコードフォームを維持する場合もあれば、ギューンというような感じのカッティングでは、スライドしながらであったり、一瞬ポジションを低くしたり高くするカッティングもあります。音の指定はありませんので、実際に作曲者が演奏しているものをまねるのが正しいということになります。
タブ譜 カッティング
コードは以下のとおりです。
<div id="yonet202403Mid_Output01"></div>
<script>
</script>
VexFlow 使い方に戻る。