「VexFlow タブ譜 ミュート」の版間の差分

提供:yonewiki
(ページの作成:「<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 使い方に戻る。 == '''概要''' ==     == ''' タブ譜 ミュート''' == <div id="notation"></div> <div id="yonet202403Mid_Output0…」)
 
編集の要約なし
532行目: 532行目:
Guitar1St1.addKeySignature('D').setContext(ctx);
Guitar1St1.addKeySignature('D').setContext(ctx);
Guitar1St1.draw();
Guitar1St1.draw();
const Guitar1_St1_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "4" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
];
const Guitar1_St1_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar1_St1_notes_1, [0, 1, 2, 3, 4, 5, 6]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
const Guitar1_St1_beam_1 = new VF.Beam([Guitar1_St1_notes_1[1], Guitar1_St1_notes_1[2]]);
const Guitar1_St1_beam_2 = new VF.Beam([
  Guitar1_St1_notes_1[3], Guitar1_St1_notes_1[4], Guitar1_St1_notes_1[5], Guitar1_St1_notes_1[6]
  ]);
var Guitar1_St1_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St1_Voice_1.setStrict(true);
Guitar1_St1_Voice_1.addTickables(Guitar1_St1_notes_1);
var Guitar1_St1_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St1_Voice_2.setStrict(true);
Guitar1_St1_Voice_2.addTickables(Guitar1_St1_notes_2);
var formatterGuitar1_St1 = new VF.Formatter().joinVoices([Guitar1_St1_Voice_1, Guitar1_St1_Voice_2]);
formatterGuitar1_St1.format([Guitar1_St1_Voice_1, Guitar1_St1_Voice_2], nStaveWidth - 40 - 10);
Guitar1_St1_Voice_1.draw(ctx, Guitar1St1);
Guitar1_St1_Voice_2.draw(ctx, Guitar1St1);
Guitar1_St1_beam_1.setContext(ctx).draw();
Guitar1_St1_beam_2.setContext(ctx).draw();
shiftGuitar1_1st= addShift(
  Guitar1_St1_notes_1,
  [0, 1, 2, 3, 4, 5, 6],
  [3, 3, 3, 3, 3, 3, 3]
);


const Guitar1St2 = new Stave(Guitar1St1.width + Guitar1St1.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
const Guitar1St2 = new Stave(Guitar1St1.width + Guitar1St1.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
Guitar1St2.draw();
Guitar1St2.draw();
const Guitar1_St2_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "4" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
];
const Guitar1_St2_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar1_St2_notes_1, [0, 1, 2, 3, 4, 5, 6]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
const Guitar1_St2_beam_1 = new VF.Beam([Guitar1_St2_notes_1[1], Guitar1_St2_notes_1[2]]);
const Guitar1_St2_beam_2 = new VF.Beam([
  Guitar1_St2_notes_1[3], Guitar1_St2_notes_1[4], Guitar1_St2_notes_1[5], Guitar1_St2_notes_1[6]
  ]);
var Guitar1_St2_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St2_Voice_1.setStrict(true);
Guitar1_St2_Voice_1.addTickables(Guitar1_St2_notes_1);
var Guitar1_St2_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St2_Voice_2.setStrict(true);
Guitar1_St2_Voice_2.addTickables(Guitar1_St2_notes_2);
var formatterGuitar1_St2 = new VF.Formatter().joinVoices([Guitar1_St2_Voice_1, Guitar1_St2_Voice_2]);
formatterGuitar1_St2.format([Guitar1_St2_Voice_1, Guitar1_St2_Voice_2], nStaveWidth - 20 - 10);
Guitar1_St2_Voice_1.draw(ctx, Guitar1St2);
Guitar1_St2_Voice_2.draw(ctx, Guitar1St2);
Guitar1_St2_beam_1.setContext(ctx).draw();
Guitar1_St2_beam_2.setContext(ctx).draw();
shiftGuitar1_2st= addShift(
  Guitar1_St2_notes_1,
  [0, 1, 2, 3, 4, 5, 6],
  [3, 3, 3, 3, 3, 3, 3.8]
);


const Guitar1St3 = new Stave(Guitar1St2.width + Guitar1St2.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
const Guitar1St3 = new Stave(Guitar1St2.width + Guitar1St2.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
Guitar1St3.draw();
Guitar1St3.draw();
const Guitar1_St3_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "4" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
];
const Guitar1_St3_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar1_St3_notes_1, [0, 1, 2, 3, 4, 5, 6]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
const Guitar1_St3_beam_1 = new VF.Beam([Guitar1_St3_notes_1[1], Guitar1_St3_notes_1[2]]);
const Guitar1_St3_beam_2 = new VF.Beam([
  Guitar1_St3_notes_1[3], Guitar1_St3_notes_1[4], Guitar1_St3_notes_1[5], Guitar1_St3_notes_1[6]
  ]);
var Guitar1_St3_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St3_Voice_1.setStrict(true);
Guitar1_St3_Voice_1.addTickables(Guitar1_St3_notes_1);
var Guitar1_St3_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St3_Voice_2.setStrict(true);
Guitar1_St3_Voice_2.addTickables(Guitar1_St3_notes_2);
var formatterGuitar1_St3 = new VF.Formatter().joinVoices([Guitar1_St3_Voice_1, Guitar1_St3_Voice_2]);
formatterGuitar1_St3.format([Guitar1_St3_Voice_1, Guitar1_St3_Voice_2], nStaveWidth - 20 - 10);
Guitar1_St3_Voice_1.draw(ctx, Guitar1St3);
Guitar1_St3_Voice_2.draw(ctx, Guitar1St3);
Guitar1_St3_beam_1.setContext(ctx).draw();
Guitar1_St3_beam_2.setContext(ctx).draw();
shiftGuitar1_3st= addShift(
  Guitar1_St3_notes_1,
  [0, 1, 2, 3, 4, 5, 6],
  [3, 3, 3, 3, 3, 3, 3.8]
);


const Guitar1St4 = new Stave(Guitar1St3.width + Guitar1St3.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
const Guitar1St4 = new Stave(Guitar1St3.width + Guitar1St3.x, Guitar1St1.y, nStaveWidth).setContext(ctx);
Guitar1St4.draw();
Guitar1St4.draw();
const Guitar1_St4_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "8" }),
];
const Guitar1_St4_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar1_St4_notes_1, [0, 1, 2, 3, 4, 5, 6, 7]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
const Guitar1_St4_beam_1 = new VF.Beam([
  Guitar1_St4_notes_1[0], Guitar1_St4_notes_1[1], Guitar1_St4_notes_1[2], Guitar1_St4_notes_1[3]
  ]);
const Guitar1_St4_beam_2 = new VF.Beam([
  Guitar1_St4_notes_1[4], Guitar1_St4_notes_1[5], Guitar1_St4_notes_1[6], Guitar1_St4_notes_1[7]
  ]);
var Guitar1_St4_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St4_Voice_1.setStrict(true);
Guitar1_St4_Voice_1.addTickables(Guitar1_St4_notes_1);
var Guitar1_St4_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar1_St4_Voice_2.setStrict(true);
Guitar1_St4_Voice_2.addTickables(Guitar1_St4_notes_2);
var formatterGuitar1_St4 = new VF.Formatter().joinVoices([Guitar1_St4_Voice_1, Guitar1_St4_Voice_2]);
formatterGuitar1_St4.format([Guitar1_St4_Voice_1, Guitar1_St4_Voice_2], nStaveWidth - 20 - 10);
Guitar1_St4_Voice_1.draw(ctx, Guitar1St4);
Guitar1_St4_Voice_2.draw(ctx, Guitar1St4);
Guitar1_St4_beam_1.setContext(ctx).draw();
Guitar1_St4_beam_2.setContext(ctx).draw();
shiftGuitar1_4st= addShift(
  Guitar1_St4_notes_1,
  [0, 1, 2, 3, 4, 5, 6, 7],
  [3, 3, 3, 3, 3, 3, 3, 3.8]
);


const Guitar1_tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 110, nHeadMargin + nStaveWidth).setContext(ctx);
const Guitar1_tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 110, nHeadMargin + nStaveWidth).setContext(ctx);
879行目: 611行目:
Guitar1tab_4st.x = Guitar1_Tab4.x
Guitar1tab_4st.x = Guitar1_Tab4.x
Guitar1tab_4st.y = Guitar1_Tab4.y
Guitar1tab_4st.y = Guitar1_Tab4.y


const Guitar2_St1 = new Stave(Guitar1_Tab1.x, Guitar1_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);
const Guitar2_St1 = new Stave(Guitar1_Tab1.x, Guitar1_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);
886行目: 617行目:
Guitar2_St1.addKeySignature('D').setContext(ctx);
Guitar2_St1.addKeySignature('D').setContext(ctx);
Guitar2_St1.draw();
Guitar2_St1.draw();
const Guitar2_St1_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "1" }),
];
const Guitar2_St1_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar2_St1_notes_1, [0]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
var Guitar2_St1_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St1_Voice_1.setStrict(true);
Guitar2_St1_Voice_1.addTickables(Guitar2_St1_notes_1);
var Guitar2_St1_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St1_Voice_2.setStrict(true);
Guitar2_St1_Voice_2.addTickables(Guitar2_St1_notes_2);
var formatterGuitar2_St1 = new VF.Formatter().joinVoices([Guitar2_St1_Voice_1, Guitar2_St1_Voice_2]);
formatterGuitar2_St1.format([Guitar2_St1_Voice_1, Guitar2_St1_Voice_2], nStaveWidth - 20 - 10);
Guitar2_St1_Voice_1.draw(ctx, Guitar2_St1);
Guitar2_St1_Voice_2.draw(ctx, Guitar2_St1);
shiftGuitar2_1st= addShift(
  Guitar2_St1_notes_1,
  [0],
  [3]
);


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);
Guitar2_St2.draw();
Guitar2_St2.draw();
const Guitar2_St2_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "2" }),
  new VF.StaveNote({ keys: ["b/4"], duration: "2" }),
];
const Guitar2_St2_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar2_St2_notes_1, [0, 1]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
var Guitar2_St2_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St2_Voice_1.setStrict(true);
Guitar2_St2_Voice_1.addTickables(Guitar2_St2_notes_1);
var Guitar2_St2_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St2_Voice_2.setStrict(true);
Guitar2_St2_Voice_2.addTickables(Guitar2_St2_notes_2);
var formatterGuitar2_St2 = new VF.Formatter().joinVoices([Guitar2_St2_Voice_1, Guitar2_St2_Voice_2]);
formatterGuitar2_St2.format([Guitar2_St2_Voice_1, Guitar2_St2_Voice_2], nStaveWidth - 20 - 10);
Guitar2_St2_Voice_1.draw(ctx, Guitar2_St2);
Guitar2_St2_Voice_2.draw(ctx, Guitar2_St2);
shiftGuitar2_2st= addShift(
  Guitar2_St2_notes_1,
  [0, 1],
  [3, 3]
);


const Guitar2_St2_1 = new Stave(Guitar2_St1.width + Guitar2_St1.x + 45, Guitar2_St1.y, 0).setContext(ctx);
const Guitar2_St2_1 = new Stave(Guitar2_St1.width + Guitar2_St1.x + 45, Guitar2_St1.y, 0).setContext(ctx);
989行目: 625行目:
Guitar2_St2_1.setEndBarType(VF.Barline.type.NONE);
Guitar2_St2_1.setEndBarType(VF.Barline.type.NONE);
Guitar2_St2_1.draw();
Guitar2_St2_1.draw();


const Guitar2_St3 = new Stave(Guitar2_St2.width + Guitar2_St2.x, Guitar2_St2.y, nStaveWidth).setContext(ctx);
const Guitar2_St3 = new Stave(Guitar2_St2.width + Guitar2_St2.x, Guitar2_St2.y, nStaveWidth).setContext(ctx);
Guitar2_St3.draw();
Guitar2_St3.draw();
const Guitar2_St3_notes_1 = [
  new VF.StaveNote({ keys: ["b/4"], duration: "2", stem_direction: -1 }),
  new VF.StaveNote({ keys: ["b/4"], duration: "4", stem_direction: -1 }),
  new VF.StaveNote({ keys: ["b/4"], duration: "4", stem_direction: -1 }),
];
const Guitar2_St3_notes_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"}),
];
UniqueIds = getUniqueNoteheadIds(Guitar2_St3_notes_1, [0, 1, 2]);
allUniqueIds = updateAllUniqueIds(UniqueIds);
var Guitar2_St3_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St3_Voice_1.setStrict(true);
Guitar2_St3_Voice_1.addTickables(Guitar2_St3_notes_1);
var Guitar2_St3_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 });
Guitar2_St3_Voice_2.setStrict(true);
Guitar2_St3_Voice_2.addTickables(Guitar2_St3_notes_2);
var formatterGuitar2_St3 = new VF.Formatter().joinVoices([Guitar2_St3_Voice_1, Guitar2_St3_Voice_2]);
formatterGuitar2_St3.format([Guitar2_St3_Voice_1, Guitar2_St3_Voice_2], nStaveWidth - 20 - 10);
Guitar2_St3_Voice_1.draw(ctx, Guitar2_St3);
Guitar2_St3_Voice_2.draw(ctx, Guitar2_St3);
shiftGuitar2_3st= addShift(
  Guitar2_St3_notes_1,
  [0, 1, 2],
  [1, 1, 1]
);


const Guitar2_St4 = new Stave(Guitar2_St3.width + Guitar2_St3.x, Guitar2_St3.y, nStaveWidth).setContext(ctx);
const Guitar2_St4 = new Stave(Guitar2_St3.width + Guitar2_St3.x, Guitar2_St3.y, nStaveWidth).setContext(ctx);
1,304行目: 890行目:
};
};
insertTextToSVG(EGuitarTab_options);
insertTextToSVG(EGuitarTab_options);
//shiftGuitar1_1st
var Guitar1_st1_option = {
    textContent: [";", ";", ";", ";", ";", ";", ";"], // 必須文字列
    strID: "Guitar1_st1", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar1_1st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1_st1_option);
var Guitar1_st2_option = {
    textContent: [";", ";", ";", ";", ";", ";", "\uFF64"], // 必須文字列
    strID: "Guitar1_st2", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar1_2st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1_st2_option);
insertTiePathToSVG({x:shiftGuitar1_2st[2].x , y:shiftGuitar1_2st[2].y + 10}, {x:shiftGuitar1_2st[2].x + 35, y:shiftGuitar1_2st[2].y + 10});
var Guitar1_st3_option = {
    textContent: [";", ";", ";", ";", ";", ";", "\uFF64"], // 必須文字列
    strID: "Guitar1_st3", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar1_3st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1_st3_option);
insertTiePathToSVG({x:shiftGuitar1_3st[2].x , y:shiftGuitar1_3st[2].y + 10}, {x:shiftGuitar1_3st[2].x + 35, y:shiftGuitar1_3st[2].y + 10});
var Guitar1_st4_option = {
    textContent: [";", ";", ";", ";", ";", ";", ";", "\uFF64"], // 必須文字列
    strID: "Guitar1_st4", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar1_4st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1_st4_option);
insertTiePathToSVG({x:shiftGuitar1_4st[0].x , y:shiftGuitar1_4st[0].y + 10}, {x:shiftGuitar1_4st[0].x + 35, y:shiftGuitar1_4st[0].y + 10});
insertTiePathToSVG({x:shiftGuitar1_4st[3].x , y:shiftGuitar1_4st[3].y + 10}, {x:shiftGuitar1_4st[3].x + 35, y:shiftGuitar1_4st[3].y + 10});
insertArrowPathToSVG({x:shiftGuitar1_4st[1].x + 10 , y:shiftGuitar1_4st[1].y + 20}, {x:shiftGuitar1_4st[1].x + 45, y:shiftGuitar1_4st[1].y + 70});
//u254F左利き用4線フレット
insertTiePathToSVG({x:shiftGuitar1_1st[2].x , y:shiftGuitar1_1st[2].y + 10}, {x:shiftGuitar1_1st[2].x + 35, y:shiftGuitar1_1st[2].y + 10});
var Guitar1tab_st1_option = {
    textContent: ["\u254F", "3", "2", "1", ":", ":", "/", "/", "/", "/"], // 必須文字列
    strID: "Guitar1tab_st1", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar1tab_1st.x + 10, y:Guitar1tab_1st.y + 80},
{x:Guitar1tab_1st.x + 15, y:Guitar1tab_1st.y + 90},
{x:Guitar1tab_1st.x + 30, y:Guitar1tab_1st.y + 90},
{x:Guitar1tab_1st.x + 45, y:Guitar1tab_1st.y + 90},
{x:Guitar1tab_1st.x + 27, y:Guitar1tab_1st.y + 70},//4弦中ポジ
{x:Guitar1tab_1st.x + 27, y:Guitar1tab_1st.y + 60},//5弦中ポジ
{x:Guitar1tab_1st.x + 60, y:Guitar1tab_1st.y + 30},//1弦ネックマーク
{x:Guitar1tab_1st.x + 60, y:Guitar1tab_1st.y + 40},//2弦ネックマーク
{x:Guitar1tab_1st.x + 60, y:Guitar1tab_1st.y + 50},//3弦ネックマーク
{x:Guitar1tab_1st.x + 60, y:Guitar1tab_1st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1tab_st1_option);
var Guitar1tab_st2_option = {
    textContent: ["\uFF03", "5", "4", "3", ":", ":", ":", "["], // 必須文字列
    strID: "Guitar1tab_st2", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar1tab_2st.x + 10, y:Guitar1tab_2st.y + 80},
{x:Guitar1tab_2st.x + 15, y:Guitar1tab_2st.y + 90},
{x:Guitar1tab_2st.x + 30, y:Guitar1tab_2st.y + 90},
{x:Guitar1tab_2st.x + 45, y:Guitar1tab_2st.y + 90},
{x:Guitar1tab_2st.x + 27, y:Guitar1tab_2st.y + 50},//3弦中ポジ
{x:Guitar1tab_2st.x + 10, y:Guitar1tab_2st.y + 60},//4弦内ポジ
{x:Guitar1tab_2st.x + 10, y:Guitar1tab_2st.y + 70},//5弦内ポジ
{x:Guitar1tab_2st.x + 42, y:Guitar1tab_2st.y + 80},//外全セーハ
//{x:Guitar1tab_2st.x + 60, y:Guitar1tab_2st.y + 40},//2弦ネックマーク
//{x:Guitar1tab_2st.x + 60, y:Guitar1tab_2st.y + 50},//3弦ネックマーク
//{x:Guitar1tab_2st.x + 60, y:Guitar1tab_2st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1tab_st2_option);
var Guitar1tab_st3_option = {
    textContent: ["\uFF03", "5", "4", "3", ":", "_", "?", "?"], // 必須文字列
    strID: "Guitar1tab_st3", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar1tab_3st.x + 10, y:Guitar1tab_3st.y + 80},
{x:Guitar1tab_3st.x + 15, y:Guitar1tab_3st.y + 90},
{x:Guitar1tab_3st.x + 30, y:Guitar1tab_3st.y + 90},
{x:Guitar1tab_3st.x + 45, y:Guitar1tab_3st.y + 90},
//{x:Guitar1tab_3st.x + 27, y:Guitar1tab_3st.y + 50},//3弦中ポジ
//{x:Guitar1tab_3st.x + 10, y:Guitar1tab_3st.y + 60},//4弦内ポジ
{x:Guitar1tab_3st.x + 42, y:Guitar1tab_3st.y + 70},//5弦外ポジ
{x:Guitar1tab_3st.x + 10, y:Guitar1tab_3st.y + 60},//内全セーハ
//{x:Guitar1tab_3st.x + 42, y:Guitar1tab_3st.y + 60},//外全セーハ
{x:Guitar1tab_3st.x + 80, y:Guitar1tab_3st.y + 30},//1弦ネックマーク
//{x:Guitar1tab_3st.x + 60, y:Guitar1tab_3st.y + 40},//2弦ネックマーク
//{x:Guitar1tab_3st.x + 60, y:Guitar1tab_3st.y + 50},//3弦ネックマーク
//{x:Guitar1tab_3st.x + 60, y:Guitar1tab_3st.y + 60},//4弦ネックマーク
//{x:Guitar1tab_3st.x + 60, y:Guitar1tab_3st.y + 70},//5弦ネックマーク
{x:Guitar1tab_3st.x + 80, y:Guitar1tab_3st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1tab_st3_option);
var Guitar1tab_st4_option = {
    textContent: ["\uFF03", "6", "5", "4", ":", "_", "?", "?", "\uFF03", "7", "6", "5", ":", "_", "?", "?"], // 必須文字列
    strID: "Guitar1tab_st4", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar1tab_4st.x + 10, y:Guitar1tab_4st.y + 80},
{x:Guitar1tab_4st.x + 15, y:Guitar1tab_4st.y + 90},
{x:Guitar1tab_4st.x + 30, y:Guitar1tab_4st.y + 90},
{x:Guitar1tab_4st.x + 45, y:Guitar1tab_4st.y + 90},
//{x:Guitar1tab_4st.x + 27, y:Guitar1tab_4st.y + 50},//3弦中ポジ
//{x:Guitar1tab_4st.x + 10, y:Guitar1tab_4st.y + 60},//4弦内ポジ
{x:Guitar1tab_4st.x + 42, y:Guitar1tab_4st.y + 70},//5弦外ポジ
{x:Guitar1tab_4st.x + 10, y:Guitar1tab_4st.y + 60},//内全セーハ
//{x:Guitar1tab_4st.x + 42, y:Guitar1tab_4st.y + 60},//外全セーハ
{x:Guitar1tab_4st.x + 80, y:Guitar1tab_4st.y + 30},//1弦ネックマーク
//{x:Guitar1tab_4st.x + 60, y:Guitar1tab_4st.y + 40},//2弦ネックマーク
//{x:Guitar1tab_4st.x + 60, y:Guitar1tab_4st.y + 50},//3弦ネックマーク
//{x:Guitar1tab_4st.x + 60, y:Guitar1tab_4st.y + 60},//4弦ネックマーク
//{x:Guitar1tab_4st.x + 60, y:Guitar1tab_4st.y + 70},//5弦ネックマーク
{x:Guitar1tab_4st.x + 80, y:Guitar1tab_4st.y + 80},//6弦ネックマーク
{x:Guitar1tab_4st.x + 100 + 10, y:Guitar1tab_4st.y + 80},
{x:Guitar1tab_4st.x + 100 + 15, y:Guitar1tab_4st.y + 90},
{x:Guitar1tab_4st.x + 100 + 30, y:Guitar1tab_4st.y + 90},
{x:Guitar1tab_4st.x + 100 + 45, y:Guitar1tab_4st.y + 90},
{x:Guitar1tab_4st.x + 100 + 42, y:Guitar1tab_4st.y + 70},//5弦外ポジ
{x:Guitar1tab_4st.x + 100 + 10, y:Guitar1tab_4st.y + 60},//内全セーハ
{x:Guitar1tab_4st.x + 100 + 80, y:Guitar1tab_4st.y + 30},//1弦ネックマーク
{x:Guitar1tab_4st.x + 100 + 80, y:Guitar1tab_4st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar1tab_st4_option);
var Guitar2_st1_option = {
    textContent: [","], // 必須文字列
    strID: "Guitar2_st1", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar2_1st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2_st1_option);
var Guitar2_st2_option = {
    textContent: ["*"], // 必須文字列
    strID: "Guitar2_st2", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar2_2st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2_st2_option);
var Guitar2_st3_option = {
    textContent: ["\uFF88", "\uFF87", "\uFF87"], // 必須文字列
    strID: "Guitar2_st3", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: shiftGuitar2_3st,
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2_st3_option);
var Guitar2tab_st1_option = {
    textContent: ["\u254F", "3", "2", "1", ":", ":", "/", "/", "/", "/"], // 必須文字列
    strID: "Guitar2tab_st1", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar2tab_1st.x + 10, y:Guitar2tab_1st.y + 80},
{x:Guitar2tab_1st.x + 15, y:Guitar2tab_1st.y + 90},
{x:Guitar2tab_1st.x + 30, y:Guitar2tab_1st.y + 90},
{x:Guitar2tab_1st.x + 45, y:Guitar2tab_1st.y + 90},
{x:Guitar2tab_1st.x + 27, y:Guitar2tab_1st.y + 70},//4弦中ポジ
{x:Guitar2tab_1st.x + 27, y:Guitar2tab_1st.y + 60},//5弦中ポジ
{x:Guitar2tab_1st.x + 60, y:Guitar2tab_1st.y + 30},//1弦ネックマーク
{x:Guitar2tab_1st.x + 60, y:Guitar2tab_1st.y + 40},//2弦ネックマーク
{x:Guitar2tab_1st.x + 60, y:Guitar2tab_1st.y + 50},//3弦ネックマーク
{x:Guitar2tab_1st.x + 60, y:Guitar2tab_1st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2tab_st1_option);
var Guitar2tab_st2_option = {
    textContent: ["\uFF03", "5", "4", "3", ":", ":", ":", "["], // 必須文字列
    strID: "Guitar2tab_st2", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar2tab_2st.x + 10, y:Guitar2tab_2st.y + 80},
{x:Guitar2tab_2st.x + 15, y:Guitar2tab_2st.y + 90},
{x:Guitar2tab_2st.x + 30, y:Guitar2tab_2st.y + 90},
{x:Guitar2tab_2st.x + 45, y:Guitar2tab_2st.y + 90},
{x:Guitar2tab_2st.x + 27, y:Guitar2tab_2st.y + 50},//3弦中ポジ
{x:Guitar2tab_2st.x + 10, y:Guitar2tab_2st.y + 60},//4弦内ポジ
{x:Guitar2tab_2st.x + 10, y:Guitar2tab_2st.y + 70},//5弦内ポジ
{x:Guitar2tab_2st.x + 42, y:Guitar2tab_2st.y + 80},//外全セーハ
//{x:Guitar2tab_2st.x + 60, y:Guitar2tab_2st.y + 40},//2弦ネックマーク
//{x:Guitar2tab_2st.x + 60, y:Guitar2tab_2st.y + 50},//3弦ネックマーク
//{x:Guitar2tab_2st.x + 60, y:Guitar2tab_2st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2tab_st2_option);
var Guitar2tab_st3_option = {
    textContent: ["\uFF03", "5", "4", "3", ":", "_", "?", "?"], // 必須文字列
    strID: "Guitar2tab_st3", // 必須
    Stave_x_Offset: 0,
    Stave_y_Offset: 0,
    fontSize: 40,
    fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial"
    shift_x: [
{x:Guitar2tab_3st.x + 10, y:Guitar2tab_3st.y + 80},
{x:Guitar2tab_3st.x + 15, y:Guitar2tab_3st.y + 90},
{x:Guitar2tab_3st.x + 30, y:Guitar2tab_3st.y + 90},
{x:Guitar2tab_3st.x + 45, y:Guitar2tab_3st.y + 90},
//{x:Guitar2tab_3st.x + 27, y:Guitar2tab_3st.y + 50},//3弦中ポジ
//{x:Guitar2tab_3st.x + 10, y:Guitar2tab_3st.y + 60},//4弦内ポジ
{x:Guitar2tab_3st.x + 42, y:Guitar2tab_3st.y + 70},//5弦外ポジ
{x:Guitar2tab_3st.x + 10, y:Guitar2tab_3st.y + 60},//内全セーハ
//{x:Guitar2tab_3st.x + 42, y:Guitar2tab_3st.y + 60},//外全セーハ
{x:Guitar2tab_3st.x + 80, y:Guitar2tab_3st.y + 30},//1弦ネックマーク
//{x:Guitar2tab_3st.x + 60, y:Guitar2tab_3st.y + 40},//2弦ネックマーク
//{x:Guitar2tab_3st.x + 60, y:Guitar2tab_3st.y + 50},//3弦ネックマーク
//{x:Guitar2tab_3st.x + 60, y:Guitar2tab_3st.y + 60},//4弦ネックマーク
//{x:Guitar2tab_3st.x + 60, y:Guitar2tab_3st.y + 70},//5弦ネックマーク
{x:Guitar2tab_3st.x + 80, y:Guitar2tab_3st.y + 80},//6弦ネックマーク
], // xのオフセット値配列
    IsOffset_x_Abs: true
};
insertTextToSVG(Guitar2tab_st3_option);


var EGuitar2Text_options = {
var EGuitar2Text_options = {

2024年4月17日 (水) 22:08時点における版

VexFlow 使い方に戻る。

概要

 

 

タブ譜 ミュート


 コードは以下のとおりです。


<div id="yonet202403Mid_Output01"></div>
<script>


 

 

VexFlow 使い方に戻る。