<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.yo-net.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yo-net</id>
	<title>yonewiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.yo-net.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yo-net"/>
	<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Yo-net"/>
	<updated>2026-07-27T05:47:54Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13577</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13577"/>
		<updated>2026-07-26T14:07:03Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース&amp;lt;/span&amp;gt;。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるようになっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるようになっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13576</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13576"/>
		<updated>2026-07-23T05:17:52Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 小節設定ダイアログ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるようになっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるようになっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13575</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13575"/>
		<updated>2026-07-23T05:17:23Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* シンプル五線譜ダイアログ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるようになっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13574</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13574"/>
		<updated>2026-07-23T05:14:06Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* メニュー紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。お気に入りのコードポイントも書き出します。_favorite.svgはよく使うコードポイントが集まっていて便利です。管理人主観のお気に入りです。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13573</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13573"/>
		<updated>2026-07-23T05:11:55Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 小節設定ダイアログ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。調号位置の設定に従った表記になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13572</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13572"/>
		<updated>2026-07-23T05:10:41Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* シンプル五線譜ダイアログ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号位置'''&lt;br /&gt;
&lt;br /&gt;
:調号の位置も音部記号の種類や位置によって変化させる必要がありますが、実はこの調号の表記は個人の好みによって表記方法が自由に設定できる必要があります。実行ファイルと同じディレクトリにあるKEY_SIGNATURE_LIST.txtに従って、位置が決まる仕組みになっています。選択肢はト音_0、ヘ音_0、ハ音_0、ハ音+2が主な音部記号の利用方法なのでここから選択することになります。ト音_0は調号が＃系の場合はKEY_SIGNATURE_LIST.txtのキー値 TrebleClef.Offset_0.Sharp=[ 4, 1, 5, 2,-1, 3, 0]に、♭系の場合はキー値TrebleClef.Offset_0.Flat =[ 0, 3,-1, 2,-2, 1,-3]に従うことになります。カッコ内の数値は楽譜の第三線(シ)の位置を0としてシの上のドは1、その上のレは2、その上のミは3、その上のファは4、その上のソは5、シの一つ下のラは-1、その下のソは-2、その下のファは-3、その下のミは-4、ソの下のレは-5という具合に設定できます。ト音_0の♯系の規定値の[ 4, 1, 5, 2,-1, 3, 0]は調号がファ、ド、ソ、レ、ラ、ミ、シの順で♯が付きます。よく見る調号のカタチです。♭系の規定値の[ 0, 3,-1, 2,-2, 1,-3]は調号がシ、ミ、ラ、レ、ソ、ド、ファの順で♭が付きます。これもよく見る調号のカタチになっています。このあたりの調号は規定値で問題ないですが、他の表示においては好みが分かれるので、KEY_SIGNATURE_LIST.txtを編集することで好みの調号記号の表記に調整することができるよういなっています。何を言っているかわからない人は触らない方が良いでしょう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13571</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13571"/>
		<updated>2026-07-22T09:50:43Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* アプリケーションの主要な使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。残念ながら現段階では調号の位置を調整する機能はありません。へ音記号、ハ音記号などの調号は縦にずらす必要があります。以降にある小節設定でもこれは同じです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13570</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13570"/>
		<updated>2026-07-21T14:20:38Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ライセンス認証の手順 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力・PDF出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13569</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13569"/>
		<updated>2026-07-21T14:10:53Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ライセンス認証の手順 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品は保存・SVG出力処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13568</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13568"/>
		<updated>2026-07-21T14:05:59Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ヘッダーフッター設定画面 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下が、サンプルのために作成した楽譜テンプレートです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 014 SampleStaff.png|400px|thumb|none|エクスポートした楽譜テンプレート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　その補助線が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 015 SampleStaff Guide.png|400px|thumb|none|エクスポートした楽譜補助線]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　補助線と楽譜テンプレートを重ねた状態が以下です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 016 SampleStaffAndGuide.png|400px|thumb|none|エクスポートした楽譜テンプレートと補助線を重ねる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　これらの素材を組み合わせて冒頭で示したようなサンプルがAdobe Illustratorで作られています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_016_SampleStaffAndGuide.png&amp;diff=13567</id>
		<title>ファイル:STMK 016 SampleStaffAndGuide.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_016_SampleStaffAndGuide.png&amp;diff=13567"/>
		<updated>2026-07-21T14:03:49Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_015_SampleStaff_Guide.png&amp;diff=13566</id>
		<title>ファイル:STMK 015 SampleStaff Guide.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_015_SampleStaff_Guide.png&amp;diff=13566"/>
		<updated>2026-07-21T14:02:43Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_014_SampleStaff.png&amp;diff=13565</id>
		<title>ファイル:STMK 014 SampleStaff.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_014_SampleStaff.png&amp;diff=13565"/>
		<updated>2026-07-21T14:01:20Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13564</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13564"/>
		<updated>2026-07-21T13:38:43Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ヘッダーフッター設定画面 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BravuraフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータ4枚にBravuraの全コードポイントのデータが出力されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　yonetMuFLフォントをエクスポートしたSVGデータの例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記のようなデータがyonetMuFLの全コードポイントのデータです。こちらはタブ譜関連のSVGデータになります。これらのSVGデータと楽譜SVGと補助線SVGを使って、楽譜清書作業が出来るということです。ものすごく時間はかかる作業ですが、やれなくはない作業です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13563</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13563"/>
		<updated>2026-07-21T12:47:02Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* アプリケーションの主要な使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 012 Bravura ExportData.png|400px|thumb|none|エクスポートしたBravuraフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 013 yonetMuFL ExportData.png|400px|thumb|none|エクスポートしたyonetMuFLフォント]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_013_yonetMuFL_ExportData.png&amp;diff=13562</id>
		<title>ファイル:STMK 013 yonetMuFL ExportData.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_013_yonetMuFL_ExportData.png&amp;diff=13562"/>
		<updated>2026-07-21T12:46:40Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_012_Bravura_ExportData.png&amp;diff=13561</id>
		<title>ファイル:STMK 012 Bravura ExportData.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_012_Bravura_ExportData.png&amp;diff=13561"/>
		<updated>2026-07-21T12:42:51Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13560</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13560"/>
		<updated>2026-07-21T10:02:19Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ヘッダーフッター設定画面 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスは赤色状態がそのテキストボックスがアクティブであることを意味していて、青色は非アクティブです。赤色の状態で、DELETEキーを押すと、アクティブになっていたテキストボックスを消すことが出来ます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13559</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13559"/>
		<updated>2026-07-21T09:58:43Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール(ヘッダー表示画面ではヘッダー種類、フッター表示画面ではフッター種類の切り替えになります。)'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13558</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13558"/>
		<updated>2026-07-21T09:54:19Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* アプリケーションの主要な使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''メニュー紹介''' ====&lt;br /&gt;
'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''シンプル五線譜ダイアログ''' ====&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''五線譜描画後のコントロール発生''' ====&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''段設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''小節設定ダイアログ''' ====&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
==== '''ヘッダーフッター設定画面''' ====&lt;br /&gt;
　ヘッダーフッター設定画面では、マウスでテキストを置きたい範囲をマウスでドラッグすることで、テキストボックスが配置されます。完全に見た目を再現するユーザーインタフェースはかなり難しいので簡易なものになっています。パワーポイントなどで表示されるテキストボックスが如何にすごいものなのかを実感して欲しいものですね。プログラマにしかわからない凄さなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　テキストボックスはあとからリサイズできるようになっているので、サイズを変えたい方向のボックス枠の部分にマウスカーソルを合わせてドラッグすることで、リサイズできます。テキストボックスの左上のマークをダブルクリックすることでテキストボックス編集ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 011 Text Setting Dialog.png|400px|thumb|none|テキスト設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''位置X[mm]''' '''Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:ボックスの左上位置をmmで指定します。高さ自動チェックボックスを入れるとYの指定が自動になってヘッダーなら上にぴたってくっつくし、フッターなら下にぴたってくっつく感じ。余白3mmになります。余白3mmはネットプリントの推奨設定です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''横位置'''&lt;br /&gt;
&lt;br /&gt;
:横位置を、左寄せ/中寄せ/右寄せから選択できます。ボックス全体の配置を紙に対してという観点から横位置を調整できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォント'''&lt;br /&gt;
&lt;br /&gt;
:フォントをWindowsのシステムFontフォルダにインストールされている内容一覧から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''フォントサイズ'''&lt;br /&gt;
&lt;br /&gt;
:フォントサイズを8pt～72ptで選択できます。手入力で数値指定もできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''幅 X[mm]''' '''高さ Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:テキストボックスの幅と高さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内横位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の横位置を、左寄せ/中寄せ/右寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''枠内縦位置'''&lt;br /&gt;
&lt;br /&gt;
:枠内の縦位置を、上寄せ/中央寄せ/下寄せ、から選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
テキストボックス内の文字に#を使うとページ番号$を使うとページ総数に置き換わります。#そのものを表示したいときは\\#とします。$そのものを表示したいときは\\$とします。\そのものを表示したいときは\\とします。\03#とするとページ番号が3桁固定の0埋めになります。\ 3#とするとページ番号が3桁固定の半角スペース埋めになります。ページ番号の全角数字表示には対応していません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_011_Text_Setting_Dialog.png&amp;diff=13557</id>
		<title>ファイル:STMK 011 Text Setting Dialog.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_011_Text_Setting_Dialog.png&amp;diff=13557"/>
		<updated>2026-07-21T09:33:24Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13556</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13556"/>
		<updated>2026-07-21T09:18:22Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* アプリケーションの主要な使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
段設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の左上隅の初期位置を基準にオフセット位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
小節設定ダイアログでは以下の設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''オフセット位置X[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の末尾の小節線初期位置を基準としてオフセット位置X(横)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:小節の左余白をmmで指定できます。規定値は1mmです。調号や拍子の表示位置の調整と連動することになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''前部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:段の最初の小節だけ前部小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線の種類'''&lt;br /&gt;
&lt;br /&gt;
:小節の後部の小節線の種類を、無し、小節線、小節二重線、小節二重線(右太)、小節二重線(左太)、小節線(太)、小節二重線(太)、小節線(点線)、リピート開始、リピート終了、リピート開始終了、リピート点のみ、から選択できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''後部小節線後の調号'''&lt;br /&gt;
&lt;br /&gt;
:無し、#1個～7個の取消、b1個～7個の取消、から選択できます。主に段末尾における次の段での調号変更を予告するために使う機能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線'''&lt;br /&gt;
&lt;br /&gt;
:チェックボックスをOnにすると補助線が引かれ、Offにすると補助線が引かれなくなります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''分割数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の分割数を、拍/裏拍(1拍2分割)/細分(1拍12分割)、から選択することができます。1拍12分割なら16分音符は3分割づつ配置すればいい、32分音符は1.5分割だね。6連符は2分割、3連符は4分割づつということで12分割はあらゆる音符配置に有効な分割数なのです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍数'''&lt;br /&gt;
&lt;br /&gt;
:補助線の拍数を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:左余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号や拍子記号などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''補助線:右余白[mm]'''&lt;br /&gt;
&lt;br /&gt;
:補助線の余白を設定します。調号の取消などに使われている必要な余白量の把握が難しいので別で設定するようになっています。あまり多く設定するものではないので、手動で設定するのがよいと判断しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13555</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13555"/>
		<updated>2026-07-21T08:37:46Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* アプリケーションの主要な使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
　メニューの[楽譜]-[シンプル五線譜ダイアログ]を選択すると以下のようなダイアログが表示されます。&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ダイアログの各設定値の意味について解説します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''( )詳細設定を維持する ( )リセットして再描画'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　上記は一度、シンプル五線譜ダイアログ確定した後に再表示したときに表示されるラジオボタンコントロールです。&lt;br /&gt;
&lt;br /&gt;
　詳細設定を維持するを選択すると、音部記号/音部記号位置/★五線譜長さ/★小節数/調号の詳細な設定を維持するように動きます。このあとで説明する小節設定・段設定による詳細な設定を維持するようにして、再度、シンプル五線譜を描画しようとするものです。主に変更できる設定は、段数/縦配置/上揃え指定時間隔/開始位置/五線間隔/拍子/補助線OnOFF/グリッドOnOff/グリッド種類mm Or pixelです。音部記号の左側にあるチェックボックスをOnにすると音部記号と音部記号位置を強制的に段の最初だけに適用することができます。調号記号の左側にあるチェックボックスをOnにすると調号記号を段の最初だけに適用することができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　リセットして再描画を選択すると、詳細な設定をまったく維持せず、シンプル五線譜を描画する動きになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号'''&lt;br /&gt;
&lt;br /&gt;
:音部記号は、無し/ト音記号/へ音記号/ハ音記号から選べます。段の最初だけに適用されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''音部記号位置'''&lt;br /&gt;
&lt;br /&gt;
:音部記号位置は、ト音記号/へ音記号/ハ音記号のときに変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ト音記号は規定値では渦巻きの真ん中の部分がト音(ソ/G)の位置に合わせられますが、音部記号位置を+6から-2の半音まで変更できます。渦巻きの真ん中の部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ヘ音記号は規定値ではコロンに挟まれた部分がニ音(レ/D)の位置に合わせられ(この位置をへ音に変更するのがヘ音記号の意味)ますが、音部記号位置を+2から-6の半音まで変更できます。コロンに挟まれた部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*ハ音記号は規定値では記号の中心部分がロ音(シ/B)の位置に合わせられ(この位置をハ音に変更するのがハ音記号の意味)ますが、音部記号位置を+4から-4の半音まで変更できます。記号の中心部分が一番上の線の第五線のヘ音(ファ/F)の位置から一番下の線の第一線のホ音(ミ/E)の位置にまで変更できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''段数'''&lt;br /&gt;
&lt;br /&gt;
:段数は、上の上のド音から下の下のミ音までが描ける範囲が一段として必要な余白として、保持していて、その余白が確保できる範囲で任意の値が指定できます。譜間設定にもよりますが、A4縦だとおよそ13段が上限の目安になります。段数の右にあるラジオボタンで手動にしているときに段数設定はエディットボックスにかかれた数字に従って、設定される値になります。自動にすると上限の値を自動で算出するので、エディットボックスには何も指定する必要がなくなります。ラジオボタンの自動を使うのがおススメです。上限より少ない値のときは次の縦配置という項目によって余白の使い方が変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''縦配置'''&lt;br /&gt;
&lt;br /&gt;
:段数設定が最大より少ない場合に効いてくる設定で、上寄せ/均等間隔から選択できます。上寄せにして、開始位置設定を下の方にすることで下寄せに似た配置になりますし、均等間隔にすると、指定した段数における最大限の上下余白をそれぞれの段で確保できるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''上揃え指定時間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段ごとの余白(下の下のミ/上の上のドを確保するのは必須)をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜長さ[mm]'''&lt;br /&gt;
&lt;br /&gt;
:A4縦なら170mmが推奨値となります。五線譜の段の長さをmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''開始位置X[mm]''' '''開始位置Y[mm]'''&lt;br /&gt;
&lt;br /&gt;
:楽譜の段の一番上の段の左上隅の位置を開始位置としてX(横)方向、Y(縦)方向をmmで指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''五線譜間隔[mm]'''&lt;br /&gt;
&lt;br /&gt;
:五線譜間隔をmmで指定できます。推奨値は1.08mm、既定値は1.35mmです。手書きのみで作業する場合はこれより大きい値が使いやすいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''拍子'''&lt;br /&gt;
&lt;br /&gt;
:拍子を、無し/4分の4/4分の2/数値で指定、から指定できます。数値で指定を選択した場合は分子と分母のエディットボックスに数値を入力します。分子エディットボックスには数字or半角の+記号が利用できます。楽譜の一番最初の段にだけ拍子記号が表示されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''小節数'''&lt;br /&gt;
&lt;br /&gt;
:小節数は、補助線の分割数が拍のときは4mm、裏拍のときは8mm、細分のときは48mm＋補助線余白(規定値5mm)を確保できる数だけ一段辺りの小節数として指定できます。つまり170mm÷9mm=18小節から20小節程度が限度になります。小節数を0にすると1小節確保されますが、末尾の小節線は無しのものが作られます。マイナスの値は指定できません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''調号'''&lt;br /&gt;
&lt;br /&gt;
:記号0個、#1個～7個、b1個～7個から選択できます。各段の音部記号の後ろ拍子記号の前に描画されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　OKボタンでシンプル五線譜ダイアログを確定させると、各段の左上に青四角、各小節の末尾の小節線の上に赤丸(小節線無しの場合は仮想小節線の上)が表示されます。青四角、赤丸は一度クリックすると選択状態になり、それ以外の場所をクリックすると選択が解除された状態になります。選択されると青四角は濃い青色に赤丸は濃い赤に変わります。選択された状態で矢印キーを押すとオフセットが調整できます。Shift＋矢印キーで粗動、Ctrl＋矢印キーで1px移動の微動が出来ます。矢印キーだけだと粗動と微動の中間の動きになります。青四角は上下左右にオフセットが加わり、赤丸は左右だけのオフセットが効きます。オフセット余白の限界の範囲で動作させることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　青四角をダブルクリックすると段設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
　赤丸をダブルクリックすると小節設定ダイアログが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13554</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13554"/>
		<updated>2026-07-20T15:30:13Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13553</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13553"/>
		<updated>2026-07-20T15:25:23Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''楽譜'''&lt;br /&gt;
:*'''用紙設定'''&lt;br /&gt;
::A3/A4/B4/B5 縦/横 300dpi/600dpi/1200dpiから設定を選べます。&lt;br /&gt;
:*'''シンプル五線譜ダイアログ'''&lt;br /&gt;
::シンプル五線譜テンプレートを描画するためのダイアログです。&lt;br /&gt;
:*'''設定'''&lt;br /&gt;
::補助線の分割数、拍数、左余白、右余白の規定値を設定ができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ページ'''&lt;br /&gt;
:*'''ページ種類追加'''&lt;br /&gt;
::ページ種類を追加できます。&lt;br /&gt;
:*'''ページ種類削除'''&lt;br /&gt;
::現在表示しているページ種類を削除します。ただし、のこり1つしかないページ種類は削除できません。&lt;br /&gt;
:*'''ページ指定'''&lt;br /&gt;
::ページ種類が担当するページ番号を設定します。1種類目に1ページの役割を設定するときは1。2種類目に2ページから10ページの役割を設定するときは、2-10。3種類目に11ページと12ページの役割を設定するときは11,12のように指定します。&lt;br /&gt;
:*'''前のページと交換'''&lt;br /&gt;
::前のページ種類と表示する順序を交換したい場合に使う機能です。唯一のページ種類ソートのための機能です。&lt;br /&gt;
:*'''ヘッダー設定画面'''&lt;br /&gt;
::ヘッダー設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''ヘッダー追加'''&lt;br /&gt;
::ヘッダー種類を追加できます。&lt;br /&gt;
:*'''ヘッダー削除'''&lt;br /&gt;
::現在選択しているヘッダー種類を削除できます。&lt;br /&gt;
:*'''ヘッダー設定画面解除'''&lt;br /&gt;
::ヘッダー設定画面を終了させます。&lt;br /&gt;
:*'''フッター設定画面'''&lt;br /&gt;
::フッター設定画面になります。テキストボックスが配置できます。&lt;br /&gt;
:*'''フッター追加'''&lt;br /&gt;
::フッター種類を追加できます。&lt;br /&gt;
:*'''フッター削除'''&lt;br /&gt;
::現在選択しているフッター種類を削除できます。&lt;br /&gt;
:*'''フッター設定画面解除'''&lt;br /&gt;
::フッター設定画面を終了させます。&lt;br /&gt;
:*'''ヘッダー指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるヘッダーを指定できます。&lt;br /&gt;
:*'''フッター指定'''&lt;br /&gt;
::現在表示しているページ種類に割り当てるフッターを指定できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''表示'''&lt;br /&gt;
:*'''補助線View'''&lt;br /&gt;
::補助線を見ることができます。&lt;br /&gt;
:*'''グリッドView'''&lt;br /&gt;
::グリッドを見ることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ヘルプ'''&lt;br /&gt;
:*'''ライセンス認証'''&lt;br /&gt;
::ライセンス認証画面を表示します。&lt;br /&gt;
:*'''バージョン情報'''&lt;br /&gt;
::バージョン情報画面を表示します。&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13552</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13552"/>
		<updated>2026-07-20T15:03:04Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''①楽譜テンプレート描画エリア'''&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''②表示倍率指定コンボボックス'''&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''③ページ指定コントロール'''&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*'''ファイル'''&lt;br /&gt;
:*'''開く'''&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*'''保存'''&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*'''名前をつけて保存'''&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*'''閉じる'''&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*'''エクスポート'''&lt;br /&gt;
::*'''楽譜SVG'''&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''楽譜記号素材SVG(補助線付)'''&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*'''補助線SVG'''&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*'''グリッドSVG'''&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*'''楽譜PDF'''&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*'''終了する'''&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13551</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13551"/>
		<updated>2026-07-20T15:01:24Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*①楽譜テンプレート描画エリア&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*②表示倍率指定コンボボックス&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*③ページ指定コントロール&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*ファイル&lt;br /&gt;
:*開く&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*保存&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*名前をつけて保存&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*閉じる&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*エクスポート&lt;br /&gt;
::*楽譜SVG&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*楽譜記号素材SVG&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*楽譜記号素材SVG(補助線付)&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*補助線SVG&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*グリッドSVG&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*楽譜PDF&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*終了する。&lt;br /&gt;
::アプリケーションを終了します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13550</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13550"/>
		<updated>2026-07-20T15:00:17Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* インターフェイス紹介 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
[[ファイル:STMK 010 Screen Description.png|400px|thumb|none|インターフェイス紹介]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*①楽譜テンプレート描画エリア&lt;br /&gt;
:マウスホイールで上下スクロール&lt;br /&gt;
:Alt+マウスホイールで左右スクロール&lt;br /&gt;
:Ctrl+マウスホイールで表示倍率変化(1%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Shift+マウスホイールで上下スクロール(粗動)&lt;br /&gt;
:Shift+Alt+マウスホイールで左右スクロール(粗動)&lt;br /&gt;
:Shift+Ctrl+マウスホイールで表示倍率変化(10%刻み)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*②表示倍率指定コンボボックス&lt;br /&gt;
:表示倍率を選べます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*③ページ指定コントロール&lt;br /&gt;
:|◀：一番最初のページ種類に移動&lt;br /&gt;
:◀：一つ手前のページ種類に移動&lt;br /&gt;
:エディットボックス：指定した数字のページ種類に移動&lt;br /&gt;
:▶：次のページ種類に移動&lt;br /&gt;
:▶|：一番最後のページ種類に移動&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■メニューについて&lt;br /&gt;
*ファイル&lt;br /&gt;
:*開く&lt;br /&gt;
::(*.stmk)のファイルを開くことができます。&lt;br /&gt;
:*保存&lt;br /&gt;
::(*.stmk)のファイルを上書き保存することができます。初回は名前を付けて保存と同じ。&lt;br /&gt;
:*名前をつけて保存&lt;br /&gt;
::(*.stmk)のファイルの名前をつけて保存処理をすることができます。&lt;br /&gt;
:*閉じる&lt;br /&gt;
::現在編集中のファイルを閉じることができます。&lt;br /&gt;
:*エクスポート&lt;br /&gt;
::*楽譜SVG&lt;br /&gt;
:::楽譜テンプレートのSVGファイルを書き出す処理です。&lt;br /&gt;
::*楽譜記号素材SVG&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線無しでSVGファイルを書き出す処理です。&lt;br /&gt;
::*楽譜記号素材SVG(補助線付)&lt;br /&gt;
:::楽譜フォントBravura.otfとyonetMuFL.ttfの全てのコードポイントを補助線付きでSVGファイルを書き出す処理です。&lt;br /&gt;
::*補助線SVG&lt;br /&gt;
:::楽譜の小節線を分割の種類に応じた状態で分割した補助線をSVGで出力する処理です。&lt;br /&gt;
::*グリッドSVG&lt;br /&gt;
:::方眼紙を書き出す処理です。どのファイルでも同じものが出力されます。&lt;br /&gt;
::*楽譜PDF&lt;br /&gt;
:::楽譜テンプレートのPDFファイルを書き出す処理です。ネットプリントサービスの利用や自前のプリンタでの印刷を行うときに利用するファイルでもあります。&lt;br /&gt;
:*終了する。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_010_Screen_Description.png&amp;diff=13549</id>
		<title>ファイル:STMK 010 Screen Description.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_010_Screen_Description.png&amp;diff=13549"/>
		<updated>2026-07-20T14:38:02Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13548</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13548"/>
		<updated>2026-07-20T14:22:40Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''結局''' ==&lt;br /&gt;
　結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
*[[STMK ScoreTemplateMaker(ja)]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13547</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13547"/>
		<updated>2026-07-20T14:21:36Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
*[[STMK ScoreTemplateMaker(ja)]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13546</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13546"/>
		<updated>2026-07-20T14:20:34Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連記事''' ==&lt;br /&gt;
*[[STMK ScoreTemplateMaker(ja)]]&lt;br /&gt;
&lt;br /&gt;
　&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow_%E5%85%A5%E9%96%80%E3%81%9D%E3%81%AE1&amp;diff=13545</id>
		<title>VexFlow 入門その1</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow_%E5%85%A5%E9%96%80%E3%81%9D%E3%81%AE1&amp;diff=13545"/>
		<updated>2026-07-20T14:18:44Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.yo-net.jp/vexflow/build/cjs/vexflow@4.2.2.0001.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
[[VexFlow 使い方]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　ひとつひとつの構成要素を知る前に入門用の楽譜をいくつか描いて全貌をつかもうとするのが最初です。公式サイトにもあるものと同じです。このサイトでは'''[[VexFlow 使い方|使い方]]'''を最後まで学習すると以下のようなスコアブックのような描画もできるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　※結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;yonet202403Mid_Output01&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
///////////////////////&lt;br /&gt;
(function(){&lt;br /&gt;
class Position {&lt;br /&gt;
  constructor(x = 0, y = 0) {&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
var VF = Vex.Flow;&lt;br /&gt;
const Vocal = new Position();&lt;br /&gt;
const Guitar1Inst = new Position();&lt;br /&gt;
const Guitar2Inst = new Position();&lt;br /&gt;
const Guitar2Tab1 = new Position();&lt;br /&gt;
const BaseInst = new Position();&lt;br /&gt;
const BaseTab1 = new Position();&lt;br /&gt;
const DrumInst = new Position();&lt;br /&gt;
const PercInst = new Position();&lt;br /&gt;
const Stave9Pos = new Position();&lt;br /&gt;
&lt;br /&gt;
var StaveBase1;&lt;br /&gt;
var StaveBase2;&lt;br /&gt;
var StaveBase3;&lt;br /&gt;
var StaveBase4;&lt;br /&gt;
&lt;br /&gt;
const Perc_note1_1_0 = new Position();&lt;br /&gt;
&lt;br /&gt;
var shiftGuitar1_1;&lt;br /&gt;
var shiftGuitar1_tab4_tr;&lt;br /&gt;
&lt;br /&gt;
var shiftGuitar1_tab1;&lt;br /&gt;
var shiftGuitar1_tab2;&lt;br /&gt;
var shiftGuitar1_tab3;&lt;br /&gt;
var shiftGuitar1_tab4;&lt;br /&gt;
var shiftDrum1;&lt;br /&gt;
var shiftPerc1;&lt;br /&gt;
&lt;br /&gt;
function insertBaseEndBarPathToSVG(Stave) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M ' + (Stave.x + Stave.width) + ' ' + (Stave.y + 50) +&lt;br /&gt;
    ' L ' + (Stave.x + Stave.width) + ' ' + (Stave.y + 80);&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'black');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'none');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function insertTiePathToSVG(StartPos, EndPos, Direction = 1, Depth = 10) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M' + (StartPos.x) + ' ' + (StartPos.y) + 'Q' + (StartPos.x + (EndPos.x - StartPos.x)/2) + ' ' + ((StartPos.y + EndPos.y)/2 + Direction * (Depth - 2)) + &lt;br /&gt;
    ',' + (EndPos.x) + ' ' + (EndPos.y) + 'Q' + ((StartPos.x + EndPos.x)/2) + ' ' + (StartPos.y + (EndPos.y - StartPos.y)/2 + Direction * (Depth + 2)) + &lt;br /&gt;
    ','  + (StartPos.x) + ' ' + (StartPos.y) + 'Z';&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'none');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'black');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function insertTrilPathToSVG(Shift, Direction = 1) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var DirectionOffset = 0;&lt;br /&gt;
  if (Direction == -1) DirectionOffset = 60;&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset);&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'none');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'black');&lt;br /&gt;
  var path2 = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr2 = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 7);&lt;br /&gt;
  path2.setAttribute('d', pathStr2);&lt;br /&gt;
  path2.setAttribute('stroke', 'none');&lt;br /&gt;
  path2.setAttribute('stroke-width', '1');&lt;br /&gt;
  path2.setAttribute('fill', 'black');&lt;br /&gt;
  var path3 = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr3 = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 14);&lt;br /&gt;
  path3.setAttribute('d', pathStr3);&lt;br /&gt;
  path3.setAttribute('stroke', 'none');&lt;br /&gt;
  path3.setAttribute('stroke-width', '1');&lt;br /&gt;
  path3.setAttribute('fill', 'black');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  newGroup.appendChild(path2);&lt;br /&gt;
  newGroup.appendChild(path3);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertTextToSVG(options) {&lt;br /&gt;
    var textContent = options.textContent;&lt;br /&gt;
    var strID = options.strID;&lt;br /&gt;
    var Stave_x = options.Stave_x || 0;&lt;br /&gt;
    var Stave_y = options.Stave_y || 0;&lt;br /&gt;
    var isOffset_x_abs = options.IsOffset_x_Abs || false;&lt;br /&gt;
    var Stave_x_Offset = options.Stave_x_Offset || 0;&lt;br /&gt;
    var Stave_y_Offset = options.Stave_y_Offset || 0;&lt;br /&gt;
    var StaveWidth = options.StaveWidth || 0;&lt;br /&gt;
    var StaveHeight = options.StaveHeight || 0;&lt;br /&gt;
    var StaveVerticalScale = options.StaveVerticalScale || 0;&lt;br /&gt;
    var fontSize = options.fontSize || 40;&lt;br /&gt;
    var fontFamily = options.fontFamily || &amp;quot;Bravura, Arial&amp;quot;;&lt;br /&gt;
    var shift_x = options.shift_x || [0];&lt;br /&gt;
    var Rotate = options.Rotate || 0;&lt;br /&gt;
    var offset_sum = 0;&lt;br /&gt;
    var Stave_x_Offset_Value = 0;&lt;br /&gt;
    var Stave_y_Offset_Value = 0;&lt;br /&gt;
    var last_Stave_x_Offset = 0;&lt;br /&gt;
    var last_Stave_y_Offset = 0;&lt;br /&gt;
    var last_textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
    shift_x.forEach(function(offset, index) {&lt;br /&gt;
        offset_sum = offset_sum + offset;&lt;br /&gt;
        var newText = document.createElementNS('http://www.w3.org/2000/svg', 'text');&lt;br /&gt;
        newText.setAttribute('id', strID + '_' + index); // テキスト要素にIDを付ける&lt;br /&gt;
        newText.setAttribute('x', 0);&lt;br /&gt;
        newText.setAttribute('y', 0);&lt;br /&gt;
        newText.setAttribute('font-family', fontFamily);&lt;br /&gt;
        newText.setAttribute('font-size', fontSize);&lt;br /&gt;
        newText.setAttribute('fill', 'black');&lt;br /&gt;
&lt;br /&gt;
        if(typeof textContent === &amp;quot;string&amp;quot;){&lt;br /&gt;
          newText.textContent = textContent;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(textContent.length - 1 &amp;lt; index){&lt;br /&gt;
            newText.textContent = last_textContent;&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            newText.textContent = textContent[index];&lt;br /&gt;
            last_textContent = textContent[index];&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(Stave_x_Offset.length - 1 &amp;lt; index){&lt;br /&gt;
          Stave_x_Offset_Value = last_Stave_x_Offset;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(Stave_x_Offset.length &amp;gt;= 2){&lt;br /&gt;
            Stave_x_Offset_Value = Stave_x_Offset[index];&lt;br /&gt;
            last_Stave_x_Offset = Stave_x_Offset[index];&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            Stave_x_Offset_Value = Stave_x_Offset;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(Stave_y_Offset.length - 1 &amp;lt; index){&lt;br /&gt;
          Stave_y_Offset_Value = last_Stave_y_Offset;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(Stave_y_Offset.length &amp;gt;= 2){&lt;br /&gt;
            Stave_y_Offset_Value = Stave_y_Offset[index];&lt;br /&gt;
            last_Stave_y_Offset = Stave_y_Offset[index];&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            Stave_y_Offset_Value = Stave_y_Offset;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        var textGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
        if(Rotate != 0){&lt;br /&gt;
          textGroup.setAttribute('transform', 'rotate(' + Rotate + ' ' + 0 + ' ' + 0 + ')');&lt;br /&gt;
          textGroup.appendChild(newText);&lt;br /&gt;
          svgElement.appendChild(textGroup);&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          svgElement.appendChild(newText);&lt;br /&gt;
        }&lt;br /&gt;
        (function() {&lt;br /&gt;
            var textWidth = newText.getBBox().width;&lt;br /&gt;
            var textHeight = newText.getBBox().height;&lt;br /&gt;
            var horizontalScale;&lt;br /&gt;
            if (typeof StaveWidth === 'undefined' || StaveWidth == 0) {&lt;br /&gt;
                horizontalScale = 1;&lt;br /&gt;
            } &lt;br /&gt;
            else {&lt;br /&gt;
                horizontalScale = StaveWidth / textWidth;&lt;br /&gt;
            }&lt;br /&gt;
            var verticalScale;&lt;br /&gt;
            if (typeof StaveHeight === 'undefined' || StaveHeight == 0) {&lt;br /&gt;
                verticalScale = 1;&lt;br /&gt;
            } &lt;br /&gt;
            else if (StaveVerticalScale != 0) {&lt;br /&gt;
                verticalScale = StaveVerticalScale;&lt;br /&gt;
            } &lt;br /&gt;
            else {&lt;br /&gt;
                verticalScale = StaveHeight / textHeight;&lt;br /&gt;
            }&lt;br /&gt;
            if(isOffset_x_abs){&lt;br /&gt;
              var StavePos_x = offset.x + Stave_x_Offset_Value;&lt;br /&gt;
              var StavePos_y = offset.y + Stave_y_Offset_Value;&lt;br /&gt;
            }&lt;br /&gt;
            else{&lt;br /&gt;
              var StavePos_x = Stave_x + Stave_x_Offset + offset_sum;&lt;br /&gt;
              var StavePos_y = Stave_y + Stave_y_Offset;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            newText.setAttribute('transform', 'translate(' + StavePos_x + ',' + StavePos_y + ') scale(' + horizontalScale + ',' + verticalScale + ')');&lt;br /&gt;
&lt;br /&gt;
            if(Rotate != 0){&lt;br /&gt;
              textGroup.setAttribute('transform', 'rotate(' + Rotate + ' ' + StavePos_x + ' ' + StavePos_y + ')');&lt;br /&gt;
            }&lt;br /&gt;
        })();&lt;br /&gt;
&lt;br /&gt;
        if(Rotate != 0){&lt;br /&gt;
          textGroup.appendChild(newText);&lt;br /&gt;
          svgElement.appendChild(textGroup);&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          svgElement.appendChild(newText);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var allUniqueIds = [];&lt;br /&gt;
var allFlagUniqueIds = [];&lt;br /&gt;
(function(){&lt;br /&gt;
function addShift(notes, arrx = [], arry = []) {&lt;br /&gt;
 &lt;br /&gt;
  let tempnote;&lt;br /&gt;
  let retShift = [];&lt;br /&gt;
  &lt;br /&gt;
  for(let i = 0; i &amp;lt; arrx.length || i == 0; i++){&lt;br /&gt;
    const pos = new Position();&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
    if(arrx.length === 0){&lt;br /&gt;
      tempnote = notes;&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      tempnote = notes[arrx[i]];&lt;br /&gt;
      temp_y = arry[i];&lt;br /&gt;
    }&lt;br /&gt;
    pos.x = tempnote.getAbsoluteX();&lt;br /&gt;
    pos.y = tempnote.getStave().getYForLine(temp_y);&lt;br /&gt;
&lt;br /&gt;
    retShift.push(pos);&lt;br /&gt;
  }&lt;br /&gt;
  return retShift;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var UniqueIds;&lt;br /&gt;
function getUniqueNoteheadIds(notes, arr = []) {&lt;br /&gt;
    //すべてのidを格納するためのセットを作成&lt;br /&gt;
    let tempnote;&lt;br /&gt;
    uniqueIds = new Set();&lt;br /&gt;
    for(let i = 0; i &amp;lt; arr.length || i == 0; i++){&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
      if(arr.length === 0){&lt;br /&gt;
        tempnote = notes;&lt;br /&gt;
      }&lt;br /&gt;
      else{&lt;br /&gt;
        tempnote = notes[arr[i]];&lt;br /&gt;
      }&lt;br /&gt;
      tempnote.children.forEach(child =&amp;gt; {&lt;br /&gt;
        //typeが&amp;quot;notehead&amp;quot;であるかチェックし、idを取得&lt;br /&gt;
        if (child.attrs){&lt;br /&gt;
          if(child.attrs.type === &amp;quot;NoteHead&amp;quot;) {&lt;br /&gt;
            uniqueIds.add(child.attrs.id);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // セットを配列に変換して戻り値として返す&lt;br /&gt;
    return Array.from(uniqueIds);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function updateAllUniqueIds(UniqueIds) {&lt;br /&gt;
    // allUniqueIdsにUniqueIdsを追加または結合&lt;br /&gt;
    if (allUniqueIds.length === 0) {//allUniqueIdsはグローバルな変数&lt;br /&gt;
      // allUniqueIdsが空の場合、UniqueIdsをそのままコピー&lt;br /&gt;
      allUniqueIds = [...UniqueIds];//スプレッド演算子で要素の中身を書き出す。&lt;br /&gt;
    } else {&lt;br /&gt;
      UniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
        if (!allUniqueIds.includes(id)) {&lt;br /&gt;
            allUniqueIds.push(id);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // 更新されたallUniqueIdsを戻り値として返す&lt;br /&gt;
    return allUniqueIds;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var SteveNoteUniqueIds;&lt;br /&gt;
function getUniqueStaveNotesIds(notes, arr = []) {&lt;br /&gt;
    //すべてのidを格納するためのセットを作成&lt;br /&gt;
    let tempnote;&lt;br /&gt;
    uniqueIds = new Set();&lt;br /&gt;
    for(let i = 0; i &amp;lt; arr.length || i == 0; i++){&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
      if(arr.length === 0){&lt;br /&gt;
        tempnote = notes;&lt;br /&gt;
      }&lt;br /&gt;
      else{&lt;br /&gt;
        tempnote = notes[arr[i]];&lt;br /&gt;
      }&lt;br /&gt;
      if (tempnote.attrs){&lt;br /&gt;
        if(tempnote.attrs.type === &amp;quot;StaveNote&amp;quot;) {&lt;br /&gt;
          uniqueIds.add(tempnote.attrs.id);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // セットを配列に変換して戻り値として返す&lt;br /&gt;
    return Array.from(uniqueIds);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function updateAllFlagUniqueIds(FlagUniqueIds) {&lt;br /&gt;
    // allUniqueIdsにUniqueIdsを追加または結合&lt;br /&gt;
    if (allFlagUniqueIds.length === 0) {&lt;br /&gt;
      // allUniqueIdsが空の場合、UniqueIdsをそのままコピー&lt;br /&gt;
      allFlagUniqueIds = [...FlagUniqueIds];//スプレッド演算子で要素の中身を書き出す。&lt;br /&gt;
    } else {&lt;br /&gt;
      FlagUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
        if (!allFlagUniqueIds.includes(id)) {&lt;br /&gt;
            allFlagUniqueIds.push(id);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // 更新されたallUniqueIdsを戻り値として返す&lt;br /&gt;
    return allFlagUniqueIds;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } &lt;br /&gt;
  else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const {&lt;br /&gt;
  Factory,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Voice,&lt;br /&gt;
  StaveTie,&lt;br /&gt;
  BarLine,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveConnector,&lt;br /&gt;
  Modifier,&lt;br /&gt;
  RenderContext,&lt;br /&gt;
  TextDynamics,&lt;br /&gt;
  Articulation,&lt;br /&gt;
  TextNote,&lt;br /&gt;
  Crescendo,&lt;br /&gt;
  Renderer&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
let nscale = 0.64;&lt;br /&gt;
let nwidth = 1040;&lt;br /&gt;
let nheight = 1120;&lt;br /&gt;
&lt;br /&gt;
let nHeadMargin = 70;&lt;br /&gt;
let nStaveWidth = 350;&lt;br /&gt;
&lt;br /&gt;
const f = new Factory({ &lt;br /&gt;
  renderer: { elementId: 'yonet202403Mid_Output01', width: nwidth, height: nheight * nscale }&lt;br /&gt;
  });&lt;br /&gt;
const ctx = f.getContext();&lt;br /&gt;
ctx.scale(nscale, nscale);&lt;br /&gt;
&lt;br /&gt;
const defaultStyle = {&lt;br /&gt;
  lineWidth: ctx.lineWidth,&lt;br /&gt;
  strokeStyle: ctx.strokeStyle,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
for (let i = 0; i &amp;lt;= nwidth * (1 / nscale); i += 10) {&lt;br /&gt;
  ctx.beginPath();&lt;br /&gt;
  ctx.moveTo(0 + i, 0);&lt;br /&gt;
  ctx.lineTo(0 + i, nheight);&lt;br /&gt;
  if (i % 100 === 0){&lt;br /&gt;
    ctx.setLineWidth(1);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(200, 200, 200, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ctx.setLineWidth(0.5);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(230, 230, 230, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for (let i = 0; i &amp;lt;= nheight; i += 10) {&lt;br /&gt;
  ctx.beginPath();&lt;br /&gt;
  ctx.moveTo(0, i);&lt;br /&gt;
  ctx.lineTo(nwidth * (1 / nscale), i);&lt;br /&gt;
  if (i % 100 === 0){&lt;br /&gt;
    ctx.setLineWidth(1);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(200, 200, 200, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ctx.setLineWidth(0.5);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(230, 230, 230, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ctx.lineWidth = defaultStyle.lineWidth;&lt;br /&gt;
ctx.strokeStyle = defaultStyle.strokeStyle;&lt;br /&gt;
&lt;br /&gt;
const VocalSt1 = new Stave(80, 30, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt1.setClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
VocalSt1.setTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
VocalSt1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
VocalSt1.setMeasure(1);&lt;br /&gt;
VocalSt1.draw();&lt;br /&gt;
&lt;br /&gt;
Vocal.x = VocalSt1.x - 30;&lt;br /&gt;
Vocal.y = VocalSt1.y + 90; &lt;br /&gt;
&lt;br /&gt;
const VocalSt2 = f.Stave({ x: VocalSt1.width + VocalSt1.x, y: VocalSt1.y, width: nStaveWidth });&lt;br /&gt;
VocalSt2.setMeasure(2);&lt;br /&gt;
VocalSt2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const VocalSt3 = new Stave(VocalSt2.width + VocalSt2.x, VocalSt1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt3.setMeasure(3);&lt;br /&gt;
VocalSt3.draw();&lt;br /&gt;
&lt;br /&gt;
const VocalSt4 = new Stave(VocalSt3.width + VocalSt3.x, VocalSt1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt4.setMeasure(4);&lt;br /&gt;
VocalSt4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St1 = new Stave(VocalSt1.x, VocalSt1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St1.addClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
Guitar1St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Guitar1St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Guitar1St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes1_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/3&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;a/4&amp;quot;, &amp;quot;c/5&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  dotted(new VF.StaveNote({ keys: [&amp;quot;c/6&amp;quot;], duration: &amp;quot;4d&amp;quot;, stem_direction: -1 })),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes1_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
var Guitar1_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St1_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St1_1Voice.addTickables(Guitar1_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St1_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St1_2Voice.addTickables(Guitar1_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St1_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St1_2Voice, Guitar1_St1_1Voice]);&lt;br /&gt;
formatterGuitar1_St1_1.format([Guitar1_St1_2Voice, Guitar1_St1_1Voice], nStaveWidth - 20 - 10);&lt;br /&gt;
Guitar1_St1_1Voice.draw(ctx, Guitar1St1);&lt;br /&gt;
Guitar1_St1_2Voice.draw(ctx, Guitar1St1);&lt;br /&gt;
&lt;br /&gt;
const Guitar1St2 = new Stave(Guitar1St1.width + Guitar1St1.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_gracenotes2 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['e/5', 'g/5'], duration: '8', slash: true })&lt;br /&gt;
  .addModifier(new VF.Accidental('#'), 1)&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes2_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;, &amp;quot;a/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
  .addModifier(new VF.Accidental('n'), 0),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;, &amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;, &amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes2_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_notes2_1[0].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[1].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[2].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[3].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[4].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[5].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[6].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[7].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[0].addModifier(new VF.GraceNoteGroup(Guitar1_gracenotes2, true), 0);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_beam1_1 = new VF.Beam([Guitar1_notes2_1[0], Guitar1_notes2_1[1], Guitar1_notes2_1[2], Guitar1_notes2_1[3]]);&lt;br /&gt;
const Guitar1_beam1_2 = new VF.Beam([Guitar1_notes2_1[4], Guitar1_notes2_1[5], Guitar1_notes2_1[6], Guitar1_notes2_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St2_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St2_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St2_1Voice.addTickables(Guitar1_notes2_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St2_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St2_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St2_2Voice.addTickables(Guitar1_notes2_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St2_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St2_2Voice, Guitar1_St2_1Voice]);&lt;br /&gt;
formatterGuitar1_St2_1.format([Guitar1_St2_2Voice, Guitar1_St2_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St2_1Voice.draw(ctx, Guitar1St2);&lt;br /&gt;
Guitar1_St2_2Voice.draw(ctx, Guitar1St2);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam1_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam1_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St3 = new Stave(Guitar1St2.width + Guitar1St2.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes3_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes3_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_beam3_1 = new VF.Beam([Guitar1_notes3_1[0], Guitar1_notes3_1[1], Guitar1_notes3_1[2], Guitar1_notes3_1[3]]);&lt;br /&gt;
const Guitar1_beam3_2 = new VF.Beam([Guitar1_notes3_1[4], Guitar1_notes3_1[5], Guitar1_notes3_1[6]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St3_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St3_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St3_1Voice.addTickables(Guitar1_notes3_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St3_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St3_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St3_2Voice.addTickables(Guitar1_notes3_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St3_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St3_2Voice, Guitar1_St3_1Voice]);&lt;br /&gt;
formatterGuitar1_St3_1.format([Guitar1_St3_2Voice, Guitar1_St3_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St3_1Voice.draw(ctx, Guitar1St3);&lt;br /&gt;
Guitar1_St3_2Voice.draw(ctx, Guitar1St3);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam3_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam3_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_ties3 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[0],&lt;br /&gt;
        last_note: Guitar1_notes3_1[1],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[1],&lt;br /&gt;
        last_note: Guitar1_notes3_1[2],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[2],&lt;br /&gt;
        last_note: Guitar1_notes3_1[3],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[3],&lt;br /&gt;
        last_note: Guitar1_notes3_1[4],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[6],&lt;br /&gt;
        last_note: Guitar1_notes3_1[7],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Guitar1_ties3.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(ctx).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var Guitar1_vibrato3 = new VF.VibratoBracket({&lt;br /&gt;
  start: Guitar1_notes3_1[7],&lt;br /&gt;
  stop: null,&lt;br /&gt;
});&lt;br /&gt;
Guitar1_vibrato3.setLine(0);&lt;br /&gt;
Guitar1_vibrato3.setHarsh(true);&lt;br /&gt;
Guitar1_vibrato3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St4 = new Stave(Guitar1St3.width + Guitar1St3.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_gracenotes4 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['a/4'], duration: '8', slash: true })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes4_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;4&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes4_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_notes4_1[7].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes4_1[3].addModifier(new VF.GraceNoteGroup(Guitar1_gracenotes4, true), 0);&lt;br /&gt;
&lt;br /&gt;
SteveNoteUniqueIds = getUniqueStaveNotesIds(Guitar1_notes4_1, [0, 1]);&lt;br /&gt;
allFlagUniqueIds = updateAllFlagUniqueIds(SteveNoteUniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_beam4_1 = new VF.Beam([Guitar1_notes4_1[2], Guitar1_notes4_1[3]]);&lt;br /&gt;
const Guitar1_beam4_2 = new VF.Beam([Guitar1_notes4_1[5], Guitar1_notes4_1[6], Guitar1_notes4_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St4_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St4_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St4_1Voice.addTickables(Guitar1_notes4_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St4_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St4_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St4_2Voice.addTickables(Guitar1_notes4_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St4_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St4_2Voice, Guitar1_St4_1Voice]);&lt;br /&gt;
formatterGuitar1_St4_1.format([Guitar1_St4_2Voice, Guitar1_St4_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St4_1Voice.draw(ctx, Guitar1St4);&lt;br /&gt;
Guitar1_St4_2Voice.draw(ctx, Guitar1St4);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam4_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam4_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_1 = addShift(&lt;br /&gt;
  Guitar1_notes4_1, &lt;br /&gt;
  [0, 1],&lt;br /&gt;
  [4, 3.5]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_ties4 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[0],&lt;br /&gt;
        last_note: Guitar1_notes4_1[1],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[1],&lt;br /&gt;
        last_note: Guitar1_notes4_1[2],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[3],&lt;br /&gt;
        last_note: Guitar1_notes4_1[4],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[5],&lt;br /&gt;
        last_note: Guitar1_notes4_1[6],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Guitar1_ties4.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(ctx).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 110, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab2 = new Stave(Guitar1_tab1.width + Guitar1_tab1.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab3 = new Stave(Guitar1_tab2.width + Guitar1_tab2.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab4 = new Stave(Guitar1_tab3.width + Guitar1_tab3.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab4.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
Stave9Pos.x = Guitar1_Tab1.x;&lt;br /&gt;
Stave9Pos.y = Guitar1_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
var connector9_2 = new VF.StaveConnector(Guitar1St1, Guitar1_Tab1);&lt;br /&gt;
connector9_2.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
connector9_2.setContext(ctx);&lt;br /&gt;
connector9_2.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar1Inst.x = VocalSt1.x - 30;&lt;br /&gt;
Guitar1Inst.y = Guitar1St1.y + ((Guitar1_Tab1.y - Guitar1St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab1_1 = new Stave(Guitar1_Tab1.x + nHeadMargin + 20, Guitar1_Tab1.y, 0).setContext(ctx);&lt;br /&gt;
Guitar1_Tab1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Guitar1_Tab1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Guitar1_Tab1_1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes1_1 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/3&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;a/4&amp;quot;, &amp;quot;c/5&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  dotted(new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;4d&amp;quot;, stem_direction: -1 })),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes1_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes1_1, [1, 2]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St1_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St1_1Voice.addTickables(Guitar1_tab_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St1_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St1_2Voice.addTickables(Guitar1_tab_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St1_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St1_2Voice, Guitar1_tab_St1_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St1_1.format([Guitar1_tab_St1_2Voice, Guitar1_tab_St1_1Voice], nStaveWidth - 20 - 10);&lt;br /&gt;
Guitar1_tab_St1_1Voice.draw(ctx, Guitar1_Tab1_1);&lt;br /&gt;
Guitar1_tab_St1_2Voice.draw(ctx, Guitar1_Tab1_1);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab1 = addShift(&lt;br /&gt;
  Guitar1_tab_notes1_1, &lt;br /&gt;
  [0, 0, 0, 0, 1,  2],&lt;br /&gt;
  [3, 2, 1, 0, 1, -1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab2 = new Stave(Guitar1_Tab1.width + Guitar1_Tab1.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_gracenotes2 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['a/5'], duration: '8', slash: true })&lt;br /&gt;
  .addModifier(new VF.Accidental('#'), 0)&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes2_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
  .addModifier(new VF.Accidental('n'), 0),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes2_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_tab_notes2_1[0].addModifier(new VF.GraceNoteGroup(Guitar1_tab_gracenotes2, false), 0);&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes2_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam2_1 = new VF.Beam([Guitar1_tab_notes2_1[0], Guitar1_tab_notes2_1[1], Guitar1_tab_notes2_1[2], Guitar1_tab_notes2_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam2_2 = new VF.Beam([Guitar1_tab_notes2_1[4], Guitar1_tab_notes2_1[5], Guitar1_tab_notes2_1[6], Guitar1_tab_notes2_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St2_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St2_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St2_1Voice.addTickables(Guitar1_tab_notes2_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St2_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St2_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St2_2Voice.addTickables(Guitar1_tab_notes2_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St2_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St2_2Voice, Guitar1_tab_St2_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St2_1.format([Guitar1_tab_St2_2Voice, Guitar1_tab_St2_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St2_1Voice.draw(ctx, Guitar1_Tab2);&lt;br /&gt;
Guitar1_tab_St2_2Voice.draw(ctx, Guitar1_Tab2);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab2 = addShift(&lt;br /&gt;
  Guitar1_tab_notes2_1, &lt;br /&gt;
  [0, 0, 0, 0, 1, 1, 2, 3, 4, 4, 5, 6, 7],&lt;br /&gt;
  [1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 2, 3]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam2_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam2_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab3 = new Stave(Guitar1_Tab2.width + Guitar1_Tab2.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes3_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes3_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes3_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam3_1 = new VF.Beam([Guitar1_tab_notes3_1[0], Guitar1_tab_notes3_1[1], Guitar1_tab_notes3_1[2], Guitar1_tab_notes3_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam3_2 = new VF.Beam([Guitar1_tab_notes3_1[4], Guitar1_tab_notes3_1[5], Guitar1_tab_notes3_1[6]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St3_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St3_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St3_1Voice.addTickables(Guitar1_tab_notes3_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St3_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St3_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St3_2Voice.addTickables(Guitar1_tab_notes3_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St3_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St3_2Voice, Guitar1_tab_St3_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St3_1.format([Guitar1_tab_St3_2Voice, Guitar1_tab_St3_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St3_1Voice.draw(ctx, Guitar1_Tab3);&lt;br /&gt;
Guitar1_tab_St3_2Voice.draw(ctx, Guitar1_Tab3);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab3 = addShift(&lt;br /&gt;
  Guitar1_tab_notes3_1, &lt;br /&gt;
  [0, 1, 2, 3, 4, 5, 6, 7],&lt;br /&gt;
  [2, 2, 2, 2, 2, 4, 4, 4]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam3_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam3_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_vibrato3 = new VF.VibratoBracket({&lt;br /&gt;
  start: Guitar1_tab_notes3_1[7],&lt;br /&gt;
  stop: null,&lt;br /&gt;
});&lt;br /&gt;
Guitar1_tab_vibrato3.setLine(1);&lt;br /&gt;
Guitar1_tab_vibrato3.setHarsh(true);&lt;br /&gt;
Guitar1_tab_vibrato3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab4 = new Stave(Guitar1_Tab3.width + Guitar1_Tab3.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_gracenotes4 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['d/5'], duration: '8', slash: true })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes4_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;4&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes4_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_tab_notes4_1[3].addModifier(new VF.GraceNoteGroup(Guitar1_tab_gracenotes4, false), 0);&lt;br /&gt;
&lt;br /&gt;
SteveNoteUniqueIds = getUniqueStaveNotesIds(Guitar1_tab_notes4_1, [0, 1]);&lt;br /&gt;
allFlagUniqueIds = updateAllFlagUniqueIds(SteveNoteUniqueIds);&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes4_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam4_1 = new VF.Beam([Guitar1_tab_notes4_1[2], Guitar1_tab_notes4_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam4_2 = new VF.Beam([Guitar1_tab_notes4_1[5], Guitar1_tab_notes4_1[6], Guitar1_tab_notes4_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St4_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St4_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St4_1Voice.addTickables(Guitar1_tab_notes4_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St4_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St4_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St4_2Voice.addTickables(Guitar1_tab_notes4_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St4_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St4_2Voice, Guitar1_tab_St4_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St4_1.format([Guitar1_tab_St4_2Voice, Guitar1_tab_St4_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St4_1Voice.draw(ctx, Guitar1_Tab4);&lt;br /&gt;
Guitar1_tab_St4_2Voice.draw(ctx, Guitar1_Tab4);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab4 = addShift(&lt;br /&gt;
  Guitar1_tab_notes4_1, &lt;br /&gt;
  [0, 1, 2, 3, 3, 4, 5, 6, 7, 7],&lt;br /&gt;
  [2, 2, 2, 2, 2, 2, 1, 1, 1, 1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab4_tr = addShift(&lt;br /&gt;
  Guitar1_tab_notes4_1, &lt;br /&gt;
  [0, 1],&lt;br /&gt;
  [3, 2.5]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam4_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam4_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St1 = new Stave(Guitar1_Tab1.x, Guitar1_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St1.addClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
Guitar2_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Guitar2_St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Guitar2_St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St2 = new Stave(Guitar2_St1.width + Guitar2_St1.x, Guitar2_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St3 = new Stave(Guitar2_St2.width + Guitar2_St2.x, Guitar2_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St4 = new Stave(Guitar2_St3.width + Guitar2_St3.x, Guitar2_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab1 = new Stave(Guitar2_St1.x, Guitar2_St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar2Tab1.x = Guitar2_Tab1.x;&lt;br /&gt;
Guitar2Tab1.y = Guitar2_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab2 = new Stave(Guitar2_Tab1.width + Guitar2_Tab1.x, Guitar2_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab3 = new Stave(Guitar2_Tab2.width + Guitar2_Tab2.x, Guitar2_Tab2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab4 = new Stave(Guitar2_Tab3.width + Guitar2_Tab3.x, Guitar2_Tab3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
var Guitar2_connect = new VF.StaveConnector(Guitar2_St1, Guitar2_Tab1);&lt;br /&gt;
Guitar2_connect.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
Guitar2_connect.setContext(ctx);&lt;br /&gt;
Guitar2_connect.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab1_tab = new Stave(Guitar2_Tab1.x, Guitar2_Tab1.y - 10, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab1_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab1_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab2_tab = new Stave(Guitar2_Tab1_tab.width + Guitar2_Tab1_tab.x, Guitar2_Tab1_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab2_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab2_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab3_tab = new Stave(Guitar2_Tab2_tab.width + Guitar2_Tab2_tab.x, Guitar2_Tab2_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab3_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab3_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab4_tab = new Stave(Guitar2_Tab3_tab.width + Guitar2_Tab3_tab.x, Guitar2_Tab3_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab4_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab4_tab.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar2Inst.x = Guitar2_St1.x - 30;&lt;br /&gt;
Guitar2Inst.y = Guitar2_St1.y + ((Guitar2_Tab1.y - Guitar2_St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
const Base_St1 = new Stave(Guitar2_Tab1.x, Guitar2_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St1.addClef(&amp;quot;bass&amp;quot;).setContext(ctx);&lt;br /&gt;
Base_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Base_St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Base_St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St2 = new Stave(Base_St1.width + Base_St1.x, Base_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St3 = new Stave(Base_St2.width + Base_St2.x, Base_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St4 = new Stave(Base_St3.width + Base_St3.x, Base_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_Tab1 = new Stave(Base_St1.x, Base_St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
BaseTab1.x = Base_Tab1.x;&lt;br /&gt;
BaseTab1.y = Base_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
BaseInst.x = Base_St1.x - 30;&lt;br /&gt;
BaseInst.y = Base_St1.y + ((Base_Tab1.y - Base_St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
StaveBase1 = Base_Tab1;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab2 = new Stave(Base_Tab1.width + Base_Tab1.x, Base_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab2.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab2.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase2 = Base_Tab2;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab3 = new Stave(Base_Tab2.width + Base_Tab2.x, Base_Tab2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab3.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab3.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase3 = Base_Tab3;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab4 = new Stave(Base_Tab3.width + Base_Tab3.x, Base_Tab3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab4.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab4.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase4 = Base_Tab4;&lt;br /&gt;
&lt;br /&gt;
var Base_connect = new VF.StaveConnector(Base_St1, Base_Tab1);&lt;br /&gt;
Base_connect.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
Base_connect.setContext(ctx);&lt;br /&gt;
Base_connect.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_St1 = new Stave(Base_Tab1.x, Base_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St1.addClef(&amp;quot;bass&amp;quot;).setContext(ctx);&lt;br /&gt;
Drum_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Drum_St1.draw();&lt;br /&gt;
&lt;br /&gt;
DrumInst.x = Drum_St1.x - 30;&lt;br /&gt;
DrumInst.y = Drum_St1.y + 90; &lt;br /&gt;
&lt;br /&gt;
const Drum_St1_1 = new Stave(nHeadMargin + Base_Tab1.x, Base_Tab1.y + 120, 0).setContext(ctx);&lt;br /&gt;
Drum_St1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_1.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;4&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;4r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
];&lt;br /&gt;
const Drum_beam1_1 = new VF.Beam([Drum_notes1_1[3],Drum_notes1_1[5]]);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_1Voice.setStrict(true);&lt;br /&gt;
Drum_St1_1Voice.addTickables(Drum_notes1_1);&lt;br /&gt;
&lt;br /&gt;
const Drum_St1_2 = new Stave(nHeadMargin + Base_Tab1.x, Base_Tab1.y + 120, 0).setContext(ctx);&lt;br /&gt;
Drum_St1_2.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_2.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_2.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_2 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_3 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Drum_notes1_2, [0, 1, 3, 5, 6, 8]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Drum_beam1_2_1 = new VF.Beam([Drum_notes1_2[0], Drum_notes1_2[1]]);&lt;br /&gt;
const Drum_beam1_2_2 = new VF.Beam([Drum_notes1_2[2], Drum_notes1_2[3], Drum_notes1_2[4]]);&lt;br /&gt;
const Drum_beam1_2_3 = new VF.Beam([Drum_notes1_2[5], Drum_notes1_2[6], Drum_notes1_2[7], Drum_notes1_2[8]]);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_2Voice.setStrict(true);&lt;br /&gt;
Drum_St1_2Voice.addTickables(Drum_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_3Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_3Voice.setStrict(true);&lt;br /&gt;
Drum_St1_3Voice.addTickables(Drum_notes1_3);&lt;br /&gt;
&lt;br /&gt;
var formatterDrum_St1_2 = new Vex.Flow.Formatter().joinVoices([Drum_St1_3Voice, Drum_St1_1Voice, Drum_St1_2Voice]);&lt;br /&gt;
//formatter13_2.formatToStave([stave13_3Voice, stave13_1Voice, stave13_2Voice], stave13_2);&lt;br /&gt;
formatterDrum_St1_2.format([Drum_St1_3Voice, Drum_St1_1Voice, Drum_St1_2Voice], nStaveWidth - 30);&lt;br /&gt;
Drum_St1_1Voice.draw(ctx, Drum_St1_2);&lt;br /&gt;
Drum_St1_2Voice.draw(ctx, Drum_St1_2);&lt;br /&gt;
&lt;br /&gt;
Drum_beam1_1.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
Drum_beam1_2_1.setContext(ctx).draw();&lt;br /&gt;
Drum_beam1_2_2.setContext(ctx).draw();&lt;br /&gt;
Drum_beam1_2_3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
shiftDrum1 = addShift(&lt;br /&gt;
  Drum_notes1_2, &lt;br /&gt;
  [0, 1, 2, 3, 5, 5, 6, 6, 7, 7, 8, 8],&lt;br /&gt;
  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St2 = new Stave(Drum_St1.width + Drum_St1.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St2.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St3 = new Stave(Drum_St2.width + Drum_St2.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St3.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St4 = new Stave(Drum_St3.width + Drum_St3.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St4.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Perc_St1 = new Stave(Drum_St1.x, Drum_St1.y + 100, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Perc_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
&lt;br /&gt;
const Perc_St1_1 = new Stave(nHeadMargin + Drum_St1.x, Drum_St1.y + 100, 0).setContext(ctx);&lt;br /&gt;
Perc_St1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Perc_St1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Perc_St1_1.draw();&lt;br /&gt;
&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Perc_St1.draw();&lt;br /&gt;
&lt;br /&gt;
PercInst.x = Perc_St1.x - 30;&lt;br /&gt;
PercInst.y = Perc_St1.y + 90; &lt;br /&gt;
&lt;br /&gt;
var AllConnector = new VF.StaveConnector(VocalSt1, Perc_St1);&lt;br /&gt;
AllConnector.setType(VF.StaveConnector.type.SINGLE);&lt;br /&gt;
AllConnector.setContext(ctx);&lt;br /&gt;
AllConnector.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_notes1_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 })&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Perc_notes1_1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Perc_beam1_1_1 = new VF.Beam([Perc_notes1_1[0], Perc_notes1_1[1], Perc_notes1_1[2], Perc_notes1_1[3]]);&lt;br /&gt;
const Perc_beam1_1_2 = new VF.Beam([Perc_notes1_1[4], Perc_notes1_1[5], Perc_notes1_1[6], Perc_notes1_1[7]]);&lt;br /&gt;
const Perc_beam1_1_3 = new VF.Beam([Perc_notes1_1[8], Perc_notes1_1[9], Perc_notes1_1[10], Perc_notes1_1[11]]);&lt;br /&gt;
const Perc_beam1_1_4 = new VF.Beam([Perc_notes1_1[12], Perc_notes1_1[13], Perc_notes1_1[14], Perc_notes1_1[15]]);&lt;br /&gt;
&lt;br /&gt;
var Perc_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Perc_St1_1Voice.setStrict(true);&lt;br /&gt;
Perc_St1_1Voice.addTickables(Perc_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var formatterPerc_St1_1 = new Vex.Flow.Formatter().joinVoices([Perc_St1_1Voice]);&lt;br /&gt;
//formatterPerc_St1_1.formatToStave([stave17_1Voice], Perc_St1_1);&lt;br /&gt;
formatterPerc_St1_1.format([Perc_St1_1Voice], nStaveWidth - 30);&lt;br /&gt;
Perc_St1_1Voice.draw(ctx, Perc_St1_1);&lt;br /&gt;
&lt;br /&gt;
Perc_beam1_1_1.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_2.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_3.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_4.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
Perc_note1_1_0.x = Perc_notes1_1[0].getAbsoluteX();&lt;br /&gt;
Perc_note1_1_0.y = Perc_notes1_1[0].getStave().getYForLine(1);&lt;br /&gt;
&lt;br /&gt;
shiftPerc1 = addShift(&lt;br /&gt;
  Perc_notes1_1, &lt;br /&gt;
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],&lt;br /&gt;
  [4, 4, 4, 4, 4, 4, 4, 4, 4, 4,  4,  4,  4,  4,  4,  4]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
const Perc_St2 = new Stave(Perc_St1.width + Perc_St1.x, Perc_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_St3 = new Stave(Perc_St2.width + Perc_St2.x, Perc_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_St4 = new Stave(Perc_St3.width + Perc_St3.x, Perc_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St4.draw();&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
const svgElement2 = document.querySelector('#yonet202403Mid_Output01 svg');&lt;br /&gt;
svgElement2.style.backgroundColor = '#F5F5F5';&lt;br /&gt;
var svgContainer = document.getElementById('yonet202403Mid_Output01');&lt;br /&gt;
var svgElement = svgContainer.querySelector('svg');&lt;br /&gt;
&lt;br /&gt;
var VocalText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Vocal&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;VocalText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Vocal.x,&lt;br /&gt;
    Stave_y: Vocal.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(VocalText_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitarText_options = {&lt;br /&gt;
    textContent: [&amp;quot;E.Guitar1&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitarText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar1Inst.x,&lt;br /&gt;
    Stave_y: Guitar1Inst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitarText_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitarTab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitarTab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Stave9Pos.x,&lt;br /&gt;
    Stave_y: Stave9Pos.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 80,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitarTab_options);&lt;br /&gt;
&lt;br /&gt;
insertTrilPathToSVG(shiftGuitar1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_tr_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｔｒ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes4_tr&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_1[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_1[0].y,&lt;br /&gt;
    Stave_x_Offset: 25,&lt;br /&gt;
    Stave_y_Offset: -50,&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_tr_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_option = {&lt;br /&gt;
    textContent: [&amp;quot;０&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [10, 0, 10, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab1[4].x - 40, y:shiftGuitar1_tab1[4].y + 30}, {x:shiftGuitar1_tab1[4].x - 5, y:shiftGuitar1_tab1[4].y});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab1[4].x - 40, y:shiftGuitar1_tab1[4].y + 30 - 110}, {x:shiftGuitar1_tab1[4].x - 5, y:shiftGuitar1_tab1[4].y - 110});&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_g_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｇ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: -30,&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_g_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes1_g_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｇ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: -30,&lt;br /&gt;
    Stave_y_Offset: 0 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes1_g_option);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_Arpeggio_option = {&lt;br /&gt;
    textContent: [&amp;quot;┌ Ａｒｐｅｇｇｉｏ ──────┐&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_Arpeggio_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes1_Arpeggio_option = {&lt;br /&gt;
    textContent: [&amp;quot;┌ Ａｒｐｅｇｇｉｏ ──────┐&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40 - 110 - 20,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes1_Arpeggio_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF7C&amp;quot;], // 必須文字列 4和音コード2分音符&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_ele0&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab1[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab1[0].y,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_0_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_option = {&lt;br /&gt;
    textContent: [&amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;７&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [-30, -40, 0, -10, 0, -10, 0, 0, 10, 0, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab2, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_c_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ．Ｃ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[1].x -30, y:shiftGuitar1_tab2[1].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_c_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes2_c_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ．Ｃ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[1].x -30, y:shiftGuitar1_tab2[1].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes2_c_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_a_option = {&lt;br /&gt;
    textContent: [&amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes2&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, 0, 0, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: [-15, -15, -15, -15, 15, 15, 15, 15],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[3].x, y:shiftGuitar1_tab2[3].y},&lt;br /&gt;
              {x:shiftGuitar1_tab2[5].x, y:shiftGuitar1_tab2[5].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[6].x, y:shiftGuitar1_tab2[6].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[7].x, y:shiftGuitar1_tab2[7].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[8].x, y:shiftGuitar1_tab2[8].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[10].x, y:shiftGuitar1_tab2[10].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[11].x, y:shiftGuitar1_tab2[11].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[12].x, y:shiftGuitar1_tab2[12].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_a_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab2[0].x - 20 - 10, y:shiftGuitar1_tab2[0].y + 10}, {x:shiftGuitar1_tab2[0].x, y:shiftGuitar1_tab2[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab2[0].x - 20 - 10, y:shiftGuitar1_tab2[0].y - 40}, {x:shiftGuitar1_tab2[0].x, y:shiftGuitar1_tab2[0].y - 40}, -1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_option = {&lt;br /&gt;
    textContent: [&amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, 0, 0, 0, 0, 5],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab3, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_H_P_H_P_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;, &amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_H_P_H_P_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes3_H_P_H_P_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;, &amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes3_H_P_H_P_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y + 10}, {x:shiftGuitar1_tab3[1].x + 5, y:shiftGuitar1_tab3[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y + 10}, {x:shiftGuitar1_tab3[2].x + 5, y:shiftGuitar1_tab3[1].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y + 10}, {x:shiftGuitar1_tab3[3].x + 5, y:shiftGuitar1_tab3[2].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y + 10}, {x:shiftGuitar1_tab3[4].x + 5, y:shiftGuitar1_tab3[3].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[6].x , y:shiftGuitar1_tab3[6].y + 15}, {x:shiftGuitar1_tab3[6].x + 35, y:shiftGuitar1_tab3[6].y + 15});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_7_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF7F&amp;quot;], // 必須文字列 1音2分音符&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3_ele7&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab3[7].x - 7,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab3[7].y,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_7_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_option = {&lt;br /&gt;
    textContent: [&amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;６&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, -20, 0, 0, 0, 0, 0,   0],&lt;br /&gt;
    Stave_y_Offset: [0, 0, 0,   0, 0, 0, 0, 0, 0, -15],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab4, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_P_C_H_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｐ&amp;quot;, &amp;quot;Ｃ&amp;quot;, &amp;quot;Ｈ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab4[1].x + 10 , y:shiftGuitar1_tab4[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[3].x - 20, y:shiftGuitar1_tab4[3].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[6].x , y:shiftGuitar1_tab4[6].y - 60}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_P_C_H_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes4_P_C_H_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｐ&amp;quot;, &amp;quot;Ｃ&amp;quot;, &amp;quot;Ｈ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab4[1].x + 10 , y:shiftGuitar1_tab4[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[3].x - 20, y:shiftGuitar1_tab4[3].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[6].x , y:shiftGuitar1_tab4[6].y - 60}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes4_P_C_H_option);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[0].x, y:shiftGuitar1_tab4[0].y + 10}, {x:shiftGuitar1_tab4[1].x + 2, y:shiftGuitar1_tab4[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[1].x, y:shiftGuitar1_tab4[1].y + 10}, {x:shiftGuitar1_tab4[2].x + 2, y:shiftGuitar1_tab4[1].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[4].x - 15, y:shiftGuitar1_tab4[4].y + 10}, {x:shiftGuitar1_tab4[4].x + 2, y:shiftGuitar1_tab4[4].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[4].x, y:shiftGuitar1_tab4[4].y + 10}, {x:shiftGuitar1_tab4[5].x + 2, y:shiftGuitar1_tab4[4].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[6].x, y:shiftGuitar1_tab4[6].y - 10}, {x:shiftGuitar1_tab4[7].x + 2, y:shiftGuitar1_tab4[6].y - 10}, -1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
insertTrilPathToSVG(shiftGuitar1_tab4_tr);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_notes4_tr_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｔｒ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_tab_notes4_tr&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab4_tr[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab4_tr[0].y,&lt;br /&gt;
    Stave_x_Offset: 25,&lt;br /&gt;
    Stave_y_Offset: -50,&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_tab_notes4_tr_option);&lt;br /&gt;
&lt;br /&gt;
var EGuitar2Text_options = {&lt;br /&gt;
    textContent: [&amp;quot;E.Guitar2&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitar2Text&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar2Inst.x,&lt;br /&gt;
    Stave_y: Guitar2Inst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitar2Text_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitar2Tab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitar2Tab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar2Tab1.x,&lt;br /&gt;
    Stave_y: Guitar2Tab1.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 80,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitar2Tab_options);&lt;br /&gt;
&lt;br /&gt;
var BaseText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Base&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;BaseText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: BaseInst.x,&lt;br /&gt;
    Stave_y: BaseInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(BaseText_options);&lt;br /&gt;
&lt;br /&gt;
var BaseTab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;BaseTab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: BaseTab1.x,&lt;br /&gt;
    Stave_y: BaseTab1.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 90,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(BaseTab_options);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase1);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase2);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase3);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase4);&lt;br /&gt;
&lt;br /&gt;
var DrumText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Drum&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;DrumText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: DrumInst.x,&lt;br /&gt;
    Stave_y: DrumInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(DrumText_options);&lt;br /&gt;
&lt;br /&gt;
var PercText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Perc.&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;PercText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: PercInst.x,&lt;br /&gt;
    Stave_y: PercInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(PercText_options);&lt;br /&gt;
&lt;br /&gt;
var note13_2_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &lt;br /&gt;
                  &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF68&amp;quot;, &amp;quot;\uFF66&amp;quot;, &amp;quot;\uFF67&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF0B&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF0F&amp;quot;], // 必須文字列&lt;br /&gt;
                 //x      ,   half_o,         ,        &amp;gt;,         ,       + ,         ,        o&lt;br /&gt;
    strID: &amp;quot;note13_2_0&amp;quot;, // 必須&lt;br /&gt;
    Stave_y_Offset: [   -5,       -5,       -5,       -5,&lt;br /&gt;
                        -5,      -60,       -5,      -60,       -5,      -60,       -5,      -60],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: shiftDrum1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(note13_2_0_option);&lt;br /&gt;
&lt;br /&gt;
var Perc_notes1_1_0_Shaker_option = {&lt;br /&gt;
    textContent: [&amp;quot;＜ Ｓｈａｋｅｒ ＞&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Perc_notes1_1_0_shaker&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Perc_note1_1_0.x,&lt;br /&gt;
    Stave_y: Perc_note1_1_0.y,&lt;br /&gt;
    Stave_x_Offset: -20,&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontSize: 60,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Perc_notes1_1_0_Shaker_option);&lt;br /&gt;
&lt;br /&gt;
var Perc_notes1_1_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF69&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Perc_notes1_1_0&amp;quot;, // 必須&lt;br /&gt;
    Stave_y_Offset: -5,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: shiftPerc1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Perc_notes1_1_0_option);&lt;br /&gt;
&lt;br /&gt;
if(allUniqueIds !== &amp;quot;undefined&amp;quot;){&lt;br /&gt;
// 透明にするIDの配列&lt;br /&gt;
// 例としてここでIDを指定&lt;br /&gt;
let autoUniqueIds = allUniqueIds.map(id =&amp;gt; &amp;quot;vf-&amp;quot; + id);&lt;br /&gt;
&lt;br /&gt;
// 各IDに対して処理&lt;br /&gt;
  autoUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
    // 該当するIDの要素を取得&lt;br /&gt;
    let element = svgElement.getElementById(id);&lt;br /&gt;
    if (element) {&lt;br /&gt;
      // 該当する要素があれば、描画内容を透明にする&lt;br /&gt;
      let paths = element.querySelectorAll(&amp;quot;path&amp;quot;);&lt;br /&gt;
      paths.forEach(path =&amp;gt; {&lt;br /&gt;
          var dAttribute = path.getAttribute('d');&lt;br /&gt;
          // カンマで区切られた数値の数を数えます&lt;br /&gt;
          var numberOfValues = (dAttribute.match(/,/g) || []).length + 1; // カンマの数 + 1 = 数値の数&lt;br /&gt;
&lt;br /&gt;
          if (numberOfValues === 9) {&lt;br /&gt;
            var firstCoord = dAttribute.split(',')[0];&lt;br /&gt;
            if (dAttribute.startsWith('M')) {&lt;br /&gt;
              var CnumberOfValues = (dAttribute.match(/C/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
              var LnumberOfValues = (dAttribute.match(/L/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
                // 座標の差を計算します&lt;br /&gt;
              if(CnumberOfValues &amp;gt; 0){&lt;br /&gt;
                var coords = dAttribute.match(/[-+]?[0-9]*\.?[0-9]+/g).map(parseFloat);&lt;br /&gt;
                var xdiff = coords[0] - coords[2]; // xの差を計算&lt;br /&gt;
                var ydiff = coords[1] - coords[3]; // yの差を計算&lt;br /&gt;
&lt;br /&gt;
                // xが0でyが0より大きい場合、描画内容を透明にします&lt;br /&gt;
                if (xdiff &amp;lt;= -3.590) {&lt;br /&gt;
                if (xdiff &amp;gt;= -3.599) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                if (xdiff &amp;lt;= -2.369) {&lt;br /&gt;
                if (xdiff &amp;gt;= -2.374) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                if (xdiff &amp;lt;= 1.000) {&lt;br /&gt;
                if (xdiff &amp;gt;= -1.000) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                else {&lt;br /&gt;
                  if(ydiff === 1.123){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else if (numberOfValues === 1) {&lt;br /&gt;
            var firstCoord = dAttribute;&lt;br /&gt;
            if (dAttribute.startsWith('M')) {&lt;br /&gt;
              var LnumberOfValues = (dAttribute.match(/L/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
                // 座標の差を計算します&lt;br /&gt;
              if(LnumberOfValues &amp;gt; 0){&lt;br /&gt;
                var coords = dAttribute.match(/[-+]?[0-9]*\.?[0-9]+/g).map(parseFloat);&lt;br /&gt;
                var xdiff = coords[0] - coords[2]; // xの差を計算&lt;br /&gt;
                var ydiff = coords[1] - coords[3]; // yの差を計算&lt;br /&gt;
&lt;br /&gt;
                // xが0でyが0より大きい場合、描画内容を透明にします&lt;br /&gt;
                if (xdiff &amp;lt; -10) {&lt;br /&gt;
                if (xdiff &amp;gt; -18) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else if (numberOfValues === 21 || numberOfValues === 35 || numberOfValues === 95 || numberOfValues === 41) {&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(allFlagUniqueIds !== &amp;quot;undefined&amp;quot;){&lt;br /&gt;
  let autoFlagUniqueIds = allFlagUniqueIds.map(id =&amp;gt; &amp;quot;vf-&amp;quot; + id);&lt;br /&gt;
  autoFlagUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
    // 該当するIDの要素を取得&lt;br /&gt;
    let element = svgElement.getElementById(id);&lt;br /&gt;
    if (element) {&lt;br /&gt;
      // 該当する要素があれば、描画内容を透明にする&lt;br /&gt;
      let flagpaths = element.querySelectorAll('path');&lt;br /&gt;
      flagpaths.forEach(path =&amp;gt; {&lt;br /&gt;
        var dAttribute = path.getAttribute('d');&lt;br /&gt;
        // カンマで区切られた数値の数を数えます&lt;br /&gt;
        var numberOfValues = (dAttribute.match(/,/g) || []).length + 1; // カンマの数 + 1 = 数値の数&lt;br /&gt;
&lt;br /&gt;
        // 数値の数が23であれば、このpath要素は求めるものです&lt;br /&gt;
        if (numberOfValues === 23) {&lt;br /&gt;
          path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
          path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
})();&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜''' ===&lt;br /&gt;
　五線譜を描いてみます。目安になる線を引きました。左上の角の頂点が(x, y)対応で(1, 1)、そこから時計回りに(499, 1)→(499, 199)→(410, 100)→(10, 40)という線です。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のとおり。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//2023-09Mid:&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
//2024-03Mid:Version&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.2.2/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div = document.getElementById('output');&lt;br /&gt;
const renderer = new Renderer(div, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer.resize(500, 200);&lt;br /&gt;
const context = renderer.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave.addClef('treble').addTimeSignature('C');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave.setContext(context).draw();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　最初に、div に 出力するタグを取得する。ここでは &amp;amp;lt;div id=&amp;quot;output&amp;quot;&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt; のタグ全体要素を取得している。次にnew Renderer(div, Renderer.Backends.SVG); でSVGでの描画処理をしてくれるようになります。他にもRenderer.Backends.CANVASという指定もできます。自分はSVGバージョンが好みです。なんか問題報告が少ない。CANVASはスケールサイズ表示がおかしいとか言ってる人もいます。renderer.resize(500, 200); は描画エリアのサイズを指定しています。そして、この描画エリアに五線譜のオブジェクトとして構築した stave を配置します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　New Stave(10, 40, 400)で、描画エリアの x = 10, y = 40の位置に幅 400 の五線譜を描きます。(410, 100)の頂点位置をみればわかりますが、きっちり 10+400 の大きさになっています。五線譜の真ん中の第三線が中央になっており縦 200 が 1 行にちょうど良いようです。楽譜部分の表示スケールを変更して小さくする予定なので、その時にまた、描画領域について考えてみたいと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　stave.addClef('treble').addTimeSignature('4/4'); で treble ト音記号 4/4 つまり4分の4拍子という五線譜になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　自分は、持っているPCが12型で1920x1280を使っていますので、表示倍率を150%にしています。その関係で、実質は横サイズが1920の66%で、横は1280pxと変わらない表示領域です。したがって、Wikiの横幅も最大にして、1000pxくらいがちょうどいい限界の大きさです。しかし、そのサイズでは、4小節くらいを1行にするには楽譜が大きすぎるので、もうちょっと小さくしないといけないなとは思っていますが、その処理も、もうちょっと後でやるとします。続けて、実際の音符を配置してみます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　拍子記号は以下のようなものが使えます。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;C&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cを表示（4/4拍子）&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;C|&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cの横中央に縦棒を表示（2/2拍子）&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n1/n2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n2 分の n1 拍子&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置''' ===&lt;br /&gt;
　目安になる線を引きました。左上の角の頂点が(x, y)対応で(1, 1)、そこから時計回りに(499, 1)→(499, 199)→(360, 100)です。&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
スクリプトは以下のようなものです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Formatter&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const div2 = document.getElementById('output2');&lt;br /&gt;
const renderer2 = new Renderer(div2, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer2.resize(500, 200);&lt;br /&gt;
const context2 = renderer2.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave2 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave2.addClef('treble').addTimeSignature('C|');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave2.setContext(context2).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes2 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voice2 = new Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
voice2.addTickables(notes2);&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices([voice2]).format([voice2], 350);&lt;br /&gt;
&lt;br /&gt;
// Render voice&lt;br /&gt;
voice2.draw(context2, stave2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　変数名が最初の楽譜とダブるところは数字を付けました。一番最初の  StaveNote, Voice, Formatterの部分は最初のと共通なので書き換えが必要です。あとの部分で2重で定義してもダメです。最初のがエラーになって、致命的エラーで何も描画処理がされなくなります。コード全体としては、音符を付ける部分は、五線譜に付け足すので、すべて、最初のコードより後ろに付け足す感じです。const notes2 以降が付け足した部分です。ここまで書いて言えるのは VexFlow はプログラミングに近いです。音楽や楽譜しか知らない人が、この方式で楽譜を描くのは難しいと感じると思います。ABC記述方式のモノが好まれる理由が少しわかります。ただVexflowの方が複雑な記述であるゆえに、複雑な楽譜が書ける言えるのかもしれない。まるで配列の中にひとつづつの音符を生成している感じで、ひとつの音符ごとに区切って new StaveNote() 関数に引数としてオブジェクト値(自分はこれをPerlの連想配列と似ているので連想配列とちょくちょく呼んでいます)を指定しています。プロパティ名にkeys: とduration: が指定されます。プロパティ名であることがわかりやすいように:までつけていますが名前自体は keys と duration です。keys プロパティ名に対応するものとして、配列が指定されるようです。値が一つしかなくてもです。そこに音の高さ相当する値、音階名と段階番号を付けます。実音記号のA(ラ), B(シ), C(ド), D(レ), E(ミ), F(ファ), G(ソ)に対応していて、/ で区切って段階の番号を付与します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ピアノと同じで88音の下から1, 2, … , 10, 11 まであります。ピアノ譜のト音記号の五線譜に下に一つ補助線を付けたドが C/4 に相当します。通常、ト音記号の五線譜には E/3 が最低音、 最高の音しても G/6 までくらいを使います。C/6 から 上の音での演奏が続くときは オクターブ記号を使って、その下に描くことがあります。ギターも同じです。ギターは4オクターブしかありません。が一番上の音付近を使うときは、オクターブ記号を置いて、一段階下げて表記します。どの楽器もピアノの88鍵盤には負けます。ギターの一番低い音でもE/3です。クラリネットの音域もギターに似ていますが、最高音はギターよりも狭い範囲が一般的です。最高音のあたりはかなりうまい人だと出せなくはない音ですが狙うのはスゴイ難しいです。ベースとピアノの最低音あたりはヘ音記号の五線譜に書かれることが普通です。ピアノはト音記号とヘ音記号の二つ同時に使うこともあります。音域やばいっす。バイオリンあたりはテノール記号(ハ音記号)というト音記号でもヘ音記号でもないものを使う場合があります。この3種類しかないと思います。あとは変則の五線譜として、通常の位置とは異なる部分に、記号を配置する手法があります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　durationの値には文字列が設定されて、 q が四分音符、h が2分音符、w が全音符を表します。8, 16, 32, 64 がそれぞれ8分音符、 16分音符、 32分音符、64分音符に対応しますが、連符もありますので、ひとことで言えるほど簡単ではないです。後ろに r をつけると休符になります。rest の r だそうです。 voice2.draw(context2, stave2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　このようにして作った notes2 を Voiceという単位に格納するため new Voice({ num_beats: 4, beat_value: 4 }); でプロパティ名 num_beats と beat_value を持ったオブジェクトを引数にしています。ともに 4 拍子の中に 4つの拍子をもった音だと定義されていて、その中に、notes2 を取り込むべく、voice2.addTickables(notes2); としています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　そして、これらを400pxの五線譜の中に納まるように、new Formatter().joinVoices([voice2]).format([voice2], 350); としています。x = 350のところに最後の音符が収まっていることも確認できます。このように処理した voice2 を context2 の描画領域に stave2 の 五線譜に描画します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　duration に設定できる値は以下のようなものです。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 400px; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;w&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;全音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;h&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;q&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;4分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 2Voices''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Formatter&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div3 = document.getElementById('output3');&lt;br /&gt;
const renderer3 = new Renderer(div3, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer3.resize(500, 200);&lt;br /&gt;
const context3 = renderer3.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave3 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave3.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave3.setContext(context3).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes3 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes32 = [new StaveNote({&lt;br /&gt;
  keys: ['c/4'],&lt;br /&gt;
  duration: 'w'&lt;br /&gt;
})];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voices3 = [&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes3),&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes32),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices(voices3).format(voices3, 350);&lt;br /&gt;
&lt;br /&gt;
// Render voices.&lt;br /&gt;
voices3.forEach(function(v) {&lt;br /&gt;
  v.draw(context3, stave3);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　和音を除いて、通常、一人では演奏できないような記譜法を2Voicesと呼んでいます。和音を引けない楽器ならそれだけで2Voices 3Voicesとも言えますが、この例のように1小節の中を休符と音符とで分かち合うのを1Voiceとした考え方を保有する記譜の場合は、特別な記述が必要です。別の音という意味付けになります。スコア譜なんかではよく2Voiceや3Voiceの記述が入ります。アレンジするうえで、音を足していくことはよくあるためです。ただしスコア譜では、一小節を短くして |1Voice(2Voice)|のように記譜している方式もよくあります。パートを増やせばいいじゃんと思いますが、限られたスペースにちょっとした音のためだけにパートを増やすことは通常は、実施しません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　const notes32の部分の定義のように、音符の定義を別で実施します。Voiceを生成するときに、2つの音符をまとめるときに配列に個別のオブジェクトとして定義します。そして作られた配列2の大きさのVoiceをFormatter関数を呼び出して、そのメンバ関数 joinVoices で結合します。joinVoices 関数は返り値が formatter 形式で .format も Formatter のメンバ関数です。そして 350px の中に描画するようになります。そして、2要素の配列の Voices それぞれを繰り返し処理によって、引数の描画エリア context3 五線譜 stave3 に音符を配置して描画します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 付点臨時記号''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div4 = document.getElementById('output4');&lt;br /&gt;
const renderer4 = new Renderer(div4, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer4.resize(500, 200);&lt;br /&gt;
const context4 = renderer4.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave4 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave4.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave4.setContext(context4).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes4 = [&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c##/5'],&lt;br /&gt;
    duration: '8d'&lt;br /&gt;
  }).addModifier(new Accidental('##'))),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['db/4'],&lt;br /&gt;
    duration: '16'&lt;br /&gt;
  }).addModifier(new Accidental('b')),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['b/4', 'd/5', 'f/5'],&lt;br /&gt;
    duration: 'h'&lt;br /&gt;
  }).addModifier(new Accidental('#'),0),[0, 2]),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: '8'&lt;br /&gt;
  })),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context4, stave4, notes4);&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　付点を付けるにはDot.buildAndAttach([ staveNoteオブジェクト ], { index: 数値 }) といった関数を実行する必要があります。例では何度も呼び出すのが面倒なので、ユーザ関数を定義しています。公式では、特定のひとつの音符にしか、付点をつけることができないユーザ関数になっていたので、引数に数値単独の値を付与するところに、数値配列に、何番目の音符に付点をつけるかを指定するようなものに変更しています。Formatter.FormatAndDraw(context4, stave4, notes4); だけでも五線譜に音符を描画できるという便利な一面も紹介してくれています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　臨時記号をつける処理をしているが、keys: ['c##/5']のように指定しても描画には反映されない。描画に影響しているのは、.addModifier(new Accidental('#'), 0) という部分です。一つ目の引数で Accidental オブジェクトのコンストラクタ引数に臨時記号の種類を与えています。##が二重シャープ。#がシャープ。bがフラット。bbが二重フラットです。今回は使いませんでしたが、ナチュラルはnです。.addModifier の2つめの引数はコードになっているときの、何番目の音に適用するかを指定しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　改めてまとめると、臨時記号の種類は以下のようになっています。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ナチュラル&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;#&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;シャープ(半音上げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;##&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ダブルシャープ(半音2回上げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;b&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;フラット(半音下げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;bb&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ダブルフラット(半音2回下げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　Dot.…によって付点をつけるだけで、長さに不整合が起こっても記譜に問題は起こりません。どちらかというと一小節の中に納まるように配置されるかは、durationの組み合わせのほうが重要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今回はト音記号 treble からヘ音記号 bass に変えました。他にも以下のような記号があります。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;treble&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ト音記号 &amp;amp;#x1D11E;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;bass&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号 &amp;amp;#x1D122;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;alto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(アルト) &amp;amp;#x1D121;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;percussion&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;打楽器記号&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;tenor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(テナー) &amp;amp;#x1D121;一つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;soprano&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(ソプラノ) &amp;amp;#x1D121;二つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;mezzo-soprano&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(メゾソプラノ) &amp;amp;#x1D121;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;baritone-c&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(バリトン) &amp;amp;#x1D121;二つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;baritone-f&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号(バリトン) &amp;amp;#x1D122;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;subbass&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号(サブバス) &amp;amp;#x1D122;一つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;french&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ト音記号(フレンチ) &amp;amp;#x1D11E;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 連桁(れんこう)・ビーム・梁  new Beam()による方法''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div5 = document.getElementById('output5');&lt;br /&gt;
const renderer5 = new Renderer(div5, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer5.resize(500, 200);&lt;br /&gt;
const context5 = renderer5.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave5 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave5.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave5.setContext(context5).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes51 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes52 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes53 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;a/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes54 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54);&lt;br /&gt;
&lt;br /&gt;
// Create the beams for the first three groups.&lt;br /&gt;
// This hides the normal stems and flags.&lt;br /&gt;
const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context5, stave5, allNotes5);&lt;br /&gt;
&lt;br /&gt;
// Draw the beams and stems.&lt;br /&gt;
beams5.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context5).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　音符の旗を描画せずにつなぐのを連桁といいます。表紙のひと固まりを繋ぎ演奏しやすいような表記にしています。8分音符の場合4つをつないで、2分音符のかたまりにしたりもします。例の楽譜では3拍目が16分音符で四分音符1つ分のひとかたまりになっています。16分音符の3つ目が32分なっています。キッチリ演奏しようとすると32分はめちゃくちゃ短いのでアタックからの立ち上がりが早い楽器でかつ技術力が要求される奏法になってきます。そんな演奏面の話はどうでもよいでしょうか。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　連桁は、Beam というシーケンスによって描画されます。Notesを連桁にしたい塊でひとつになるように作ると、const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];という記法によって、連桁のかたまりごとに配列にすることができます。このそれぞれの要素について関数、new Beam(notes51).setContext(context5).draw();のような操作によって蓮桁の描画準備がされます。小節の全体は const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54); のように結合されたものを.FormatAndDraw(context5, stave5, allNotes5);のようにして描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 連桁(れんこう)・ビーム・梁  Beam.generateBeams()による方法''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div6 = document.getElementById(&amp;quot;output6&amp;quot;);&lt;br /&gt;
const renderer6 = new Renderer(div6, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer6.resize(500, 500);&lt;br /&gt;
const context6 = renderer6.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave6 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave6.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave6.setContext(context6).draw();&lt;br /&gt;
&lt;br /&gt;
const notes6 = [&lt;br /&gt;
    dotted(new StaveNote({ keys: [&amp;quot;e##/5&amp;quot;], duration: &amp;quot;8d&amp;quot; }).addModifier(new Accidental(&amp;quot;##&amp;quot;))),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams6 = Beam.generateBeams(notes6);&lt;br /&gt;
Formatter.FormatAndDraw(context6, stave6, notes6);&lt;br /&gt;
beams6.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context6).draw();&lt;br /&gt;
});&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　notesで一小節分をまとめて定義した後、const beams6 = Beam.generateBeams(notes6); とするだけです。自動なので、思い通りになっていない可能性もありますが、8分音符4つは最大で二分音符にそれ以下は四分音符単位で連桁してくれるようです。連桁に含まれるので、ここまでの知識では連符には対応できないです。3連とか5/6/7/9/10/11/12…連とかは違う表記が必要です。また別の項目で確認するつもりなので、それまでは我慢です。自分もまだ知らないし。知らんけどじゃないし。本当に知らないし。本当に知らんけど。なんだけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　連符って演奏上においては最難関だね。3連でも、2分三連はさらにムズイ。2分三連くらいの長さになると、適当だとさすがにだめだし、あってないことを多い。ビート分割して、感じないとね。2分三連の中抜きみたいに1個あるいは2個だけ鳴らすとか、ありえないくらいむずかしい。心で刻むのつらいな。演奏家としては向いてないんだろうな。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 タイ''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output7&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output7&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div7 = document.getElementById(&amp;quot;output7&amp;quot;);&lt;br /&gt;
const renderer7 = new Renderer(div7, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer7.resize(500, 200);&lt;br /&gt;
const context7 = renderer7.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave7 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave7.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave7.setContext(context7).draw();&lt;br /&gt;
&lt;br /&gt;
const notes7 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams7 = Beam.generateBeams(notes7);&lt;br /&gt;
Formatter.FormatAndDraw(context7, stave7, notes7);&lt;br /&gt;
beams7.forEach(function (b) {&lt;br /&gt;
    b.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const ties7 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[4],&lt;br /&gt;
        last_note: notes7[5],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[5],&lt;br /&gt;
        last_note: notes7[6],&lt;br /&gt;
        first_indices: [1],&lt;br /&gt;
        last_indices: [1],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
ties7.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　タイは、notes に対してconst ties7 = [ new StaveTie({ first_note: notes7[4], last_note: notes7[5], first_indices: [0],        last_indices: [0],}) ] という具合に StaveTie() の引数にオブジェクトを定義していて、主に4つのプロパティを設定します。first_noteがタイの始まり、last_noteがタイの終わりの音符です。和音を構成していない場合は必ず 0 ですが、first_indicesとlast_indicesにどの和音に対してタイを描画するかを指定しています。高さの異なる音に対して指定した場合はスラーになりそうですが、本当にそうなるかどうか確かめてみました。そしたら、やっぱりスラーと同じ役割になりそうでした。ついでに和音に2番目の音、配列番号1番に対してタイを描画する例は最後のA/3に対しての描画が参考になるでしょう。スラーについて言及したドキュメントもありそうなので、はっきりしたことはそれを確かめてみてからですね。何か不都合があるかもしれないし。タイでスラーを描画するのはね。どうなんだろうね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　あー。いっけん大丈夫そうだけど、駄目だ。スラーは旗の根元からとか自由に描くこともありました。タイは音符で接続するだけで大丈夫な法則があったんですね。なるほど。気が付かなかった。やるなVexFlow。楽譜をじっくり眺めないと気付かないことだな。どうやらslurというキーワードではなく、その柔軟さを必要とするため、curveという名前で実現しているっぽい。またその時がきたら説明できると思います。VexFlow作者も大変だな。かなり完璧だけど、できないこともあるんだろうね。ここまで網羅されていると、できないことがあってもしゃーねぇな。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ここまで書いて思ったんだけど、(function(){ コード記述部 })();の中に書けば、変数を名前空間で分け隔てることができるんじゃねと思えてきた。変数に番号とかつけてるのってカッコ悪いのかな。次の記事で試してみよう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''タブ譜''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output8&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output8&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie,&lt;br /&gt;
  TabStave, &lt;br /&gt;
  TabNote, &lt;br /&gt;
  Bend, &lt;br /&gt;
  Vibrato&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div8 = document.getElementById(&amp;quot;output8&amp;quot;);&lt;br /&gt;
const renderer8 = new Renderer(div8, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer8.resize(500, 300);&lt;br /&gt;
const context8 = renderer8.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a tab stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave8 = new TabStave(10, 40, 400);&lt;br /&gt;
stave8.addClef(&amp;quot;tab&amp;quot;).setContext(context8).draw();&lt;br /&gt;
&lt;br /&gt;
const notes8 = [&lt;br /&gt;
    // A single note&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 3, fret: 7 }],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
&lt;br /&gt;
    // A chord with the note on the 3rd string bent&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [&lt;br /&gt;
            { str: 2, fret: 10 },&lt;br /&gt;
            { str: 3, fret: 9 },&lt;br /&gt;
        ],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }).addModifier(new Bend(&amp;quot;Full&amp;quot;), 1),&lt;br /&gt;
&lt;br /&gt;
    // A single note with a harsh vibrato&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 2, fret: 5 }],&lt;br /&gt;
        duration: &amp;quot;h&amp;quot;,&lt;br /&gt;
    }).addModifier(new Vibrato().setHarsh(true).setVibratoWidth(70), 0),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context8, stave8, notes8);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　タブの文字フォントが公式の例と違うな。淋しい。どれが何音符かわからないダサい。2分音符には〇と棒が、全音符には〇が、四分音符いかにも旗は必要だと思う。あとタブは指番号だけでなくフレットの一部抜粋でコードの図が記入できた方がいいんじゃね。あとこんな大げさなFullとかいうチョーキングってダサくない。W.C と Cho. または C やH.Cでいいよ。あと数字は手書きフォントのがいいね。総じていえばシンコーミュージックがやっぱさえてると思う。シンコーミュージックのは綺麗なスコアだけど内容がダメダメっていうね。何かしらデメリットあるわ。どの立場から言ってるのかとお思いでしょうけど。なんでスコア譜ってあんなにダメダメなんだろうね。お金出して買ってる人もいるのに。ここに。耳コピができないというややる気もない子がここにいるのに。スコア譜命なんだけど。Youtubeのスコア出してる神レベルの人だけが最強だとおもう。あれは弾いていて本当に楽だし、現実的な運指になってるし、弾き心地最高。ロックを感じれる。時代が味方してくれている。あとは市販のスコア譜がもっと魂のはいったものになってほしい。弾きにくいとこをちょっと考えるくらいは自分でできるけど、なんか違うんだよなが解決できない。何が違うんだろうな。差分を埋め合わせる技術力が付かない。悲しい。という愚痴。あと音作りもよくわからないんだよな。でかい音出して練習できないからな。あと、ずっとヘッドフォンでやってると耳おかしくなるから生音だけで練習する時間も結構あって、あれはあれで淋しい。運指の練習にはなるけど、最後の弾き方の練習はやっぱヘッドフォンでやるしかなくて、結局、いい音作りできなくて、折れるということを繰り返してる。悔しいな。小さい才能の引き出し方がまったくわからないから、全く開花しないのな。もんくばっかりしか思いつかないもん。やだよな。こんな志向の奴の音楽なんて聴きたくないよな。わかるよ。だから、部屋にこもってめいわくかけないくらいのことしか思いつかない。つまんない。結局そこに落ち着く。つまんない。でも音楽もクラリネットもギターも大好き！これだけは譲れない。でも、どうすんのコレって感じだね。ハハハ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　何が変わったかっていうと、Stave が TabStaveに変わった。Notes が TabNote に、Keysが positions になって、[{ str: 3, fret: 7 }] っていう指定に変わった。str が弦番号ね。1弦が細い方、6弦が太い方。なので、弦番号の数字の小ささ大きさが弦の幅に'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;比例&amp;lt;/span&amp;gt;'''していると覚えておきましょう。そしたら、どっちが1弦だっけ問題はなくなるね。fret がタブ譜に書かれる数字そのもの、あとでこれを手書き調のフォントに変える方法を考えてみたいと思います。あとは数字を〇で囲ったりできるんかな。無理かな。旗つけたり。やえもするとフレット図いれたり。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　音符の装飾は、addModifier()で同じなんだけど、臨時記号の#のようなAccidentalではなく、new Bend(&amp;quot;Full&amp;quot;), 1のような指定でチョーキング。new Vibrato().setHarsh(true).setVibratoWidth(70) で、長さ70のビブラート。setHarsh(true)でカクカクのビブラート。falseなら丸みを帯びた波線です。falseのほうが好きだな。Harshはヒドイとかっていう意味だそうで荒々しくをON OFFみたいな感じですね。その他についてはまた後ほどですね。ビブラートは通常の楽譜でも描画できるべきなので、五線譜の方でもできるかためしておきますか。いや、試してみたら簡単にはいかないな。同じではないのだな。五線譜上に表示させるのはまた考えないとだめですね。なんか方法はありそう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''小節線''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Stave, &lt;br /&gt;
  StaveNote, &lt;br /&gt;
  Beam, &lt;br /&gt;
  Formatter, &lt;br /&gt;
  Renderer&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div9 = document.getElementById(&amp;quot;output9&amp;quot;);&lt;br /&gt;
const renderer9 = new Renderer(div9, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer9.resize(890, 130);&lt;br /&gt;
const context9 = renderer9.getContext();&lt;br /&gt;
&lt;br /&gt;
// Measure 1&lt;br /&gt;
const staveMeasure91 = new Stave(10, 0, 470);&lt;br /&gt;
//staveMeasure91.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;).setContext(context9).draw();&lt;br /&gt;
staveMeasure91.addClef(&amp;quot;treble&amp;quot;);&lt;br /&gt;
staveMeasure91.addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
staveMeasure91.setContext(context9).draw();&lt;br /&gt;
&lt;br /&gt;
const notesMeasure91 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;qr&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;q&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Helper function to justify and draw a 4/4 voice&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure91, notesMeasure91);&lt;br /&gt;
&lt;br /&gt;
// Measure 2 - second measure is placed adjacent to first measure.&lt;br /&gt;
const staveMeasure92 = new Stave(staveMeasure91.width + staveMeasure91.x, 0, 400);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part2 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create the beams for 8th notes in second measure.&lt;br /&gt;
const beam91 = new Beam(notesMeasure92_part1);&lt;br /&gt;
const beam92 = new Beam(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
staveMeasure92.setContext(context9).draw();&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure92, notesMeasure92);&lt;br /&gt;
&lt;br /&gt;
// Render beams&lt;br /&gt;
beam91.setContext(context9).draw();&lt;br /&gt;
beam92.setContext(context9).draw();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2小節の楽譜にしました。まずは描画エリアを広くしないといけないので、横890にしました。1小節目は470。2小節目を400としてみました。記譜する内容はもっとも短い部分で8分音符なので、1小節あたり400は余裕があります。1小節目にはト音記号と拍子記号をおくので70ほど大きくします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　したがって、const staveMeasure91 = new Stave(10, 0, 470); が1小節目。2小節目の始まりは10ではないので、staveMeasure91.width + staveMeasure91.xとして、const staveMeasure92 = new Stave(470 + 10, 0, 400); という内容で作られます。staveMeasure91.width が 470 で、staveMeasure91.width が 10 です。細かい計算があっていないと乱れるってことだな。abcjsとかはこんなこと気にしなくても自動で小節線が引かれますそのかわり、今回のように余裕を持っていひくとかバランスよくするとか、細かい指示は自動ではできません。結局、VexFlowくらい細かい指示をしないと思い通りにはならないですね。描く人の気持ちを込めれるのがVexFlowだな。AI？まだまだ無理だな。はやくAIに楽譜を描かせればいいのに。MIDI情報だけで完璧に描けるようになるんじゃね。シンコーミュージックファンなので、シンコーの楽譜で学習した奴がいいな。シンコーミュージックに潜入してどうやって描画してるのか見てみたいくらいだよ。入社したいわー。1年くらいかな。コピー譜つくる才能が無くて放り出されそうだけど。編集作業の一員くらいならやれるでしょ。コピする人の下で働くみたいなね。そんな奴いらんか。しかも1年とかなめたこといってるやつ採用するわけねぇな。シンコーミュージックは好きなんだけどな。間違ってますねコレとか偉そうにギター弾きながらコピしているひとにグサグサいってみたりね。すぐ解雇だな。どんだけシンコー好きやねんって感じだね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２小節目は8分音符四つを繰り返すので、notesMeasure92_part1とpart2を作ってますね。全く同じだから、notesMeasure92_part1.concat(notesMeasure92_part1);で繰り返せないのかな。だめか無限ループみたいになるわな。手前でコピーだから const notesMeasure92_part2 = notesMeasure92_part1;ってすれば、省略できんのかもな。やってみるか。はい。ダメでしたー。意味わからん。できそうなのにできない。なんか違うんだな。8分音符を4つのやつどうしを繋ぐときは、const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2); とします。これは前までにやった 4つのNotesを繋ぐときに使ったときと同じことです。自動でやる方法なら notesMeasure92_part1 とか2つ作らず1つに8音まとめてから、const beam9 = Beam.generateBeams(notesMeasure92)とかだな。そんな感じで2小節は足し算が必要になるという地味な方法でした。横には4小節くらいを描くのがせいぜいなので普通はそれほど複雑にはならないでしょうね。ページとか縦という概念を覚えないといけないのでしょう。ページは描画領域を分けるのでしょう。タブレット端末とかを楽譜にして演奏する目的なら横に8小節くらいとかで、縦にふやしていく感じのパート譜を作れば便利そうだね。改行部分を柔軟に設定するのはできないな。柔軟にしようとしたら、これまたJavaScriptで自力で制御するんでしょう。そこまでやれる人いたら、使いこなしが凄そうだな。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[VexFlow 使い方]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div = document.getElementById('output');&lt;br /&gt;
const renderer = new Renderer(div, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer.resize(500, 200);&lt;br /&gt;
const context = renderer.getContext();&lt;br /&gt;
&lt;br /&gt;
context.beginPath(); // start recording our pen's moves.&lt;br /&gt;
context.moveTo(0, 0);&lt;br /&gt;
context.lineTo(499, 0);&lt;br /&gt;
context.lineTo(499, 199);&lt;br /&gt;
context.lineTo(410, 100);&lt;br /&gt;
context.lineTo(10, 40);&lt;br /&gt;
context.closePath();&lt;br /&gt;
context.stroke();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave.addClef('treble').addTimeSignature('C');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave.setContext(context).draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div2 = document.getElementById('output2');&lt;br /&gt;
const renderer2 = new Renderer(div2, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer2.resize(500, 200);&lt;br /&gt;
const context2 = renderer2.getContext();&lt;br /&gt;
&lt;br /&gt;
context2.beginPath(); // start recording our pen's moves.&lt;br /&gt;
context2.moveTo(0, 0);&lt;br /&gt;
context2.lineTo(499, 0);&lt;br /&gt;
context2.lineTo(499, 199);&lt;br /&gt;
context2.lineTo(360, 100);&lt;br /&gt;
context2.closePath();&lt;br /&gt;
context2.stroke();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave2 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave2.addClef('treble').addTimeSignature('C|');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave2.setContext(context2).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes2 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voice2 = new Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
voice2.addTickables(notes2);&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices([voice2]).format([voice2], 350);&lt;br /&gt;
&lt;br /&gt;
// Render voice&lt;br /&gt;
voice2.draw(context2, stave2);&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div3 = document.getElementById('output3');&lt;br /&gt;
const renderer3 = new Renderer(div3, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer3.resize(500, 200);&lt;br /&gt;
const context3 = renderer3.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave3 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave3.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave3.setContext(context3).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes3 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes32 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
  keys: ['c/4'],&lt;br /&gt;
  duration: 'w'&lt;br /&gt;
  })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voices3 = [&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes3),&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes32),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices(voices3).format(voices3, 350);&lt;br /&gt;
&lt;br /&gt;
// Render voices.&lt;br /&gt;
voices3.forEach(function(v) {&lt;br /&gt;
  v.draw(context3, stave3);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div4 = document.getElementById('output4');&lt;br /&gt;
const renderer4 = new Renderer(div4, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer4.resize(500, 200);&lt;br /&gt;
const context4 = renderer4.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave4 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave4.addClef('bass').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave4.setContext(context4).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes4 = [&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c##/5'],&lt;br /&gt;
    duration: '8d'&lt;br /&gt;
  }).addModifier(new Accidental('##'))),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['db/4'],&lt;br /&gt;
    duration: '16'&lt;br /&gt;
  }).addModifier(new Accidental('b')),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['b/4', 'd/5', 'f/5'],&lt;br /&gt;
    duration: 'h'&lt;br /&gt;
  }).addModifier(new Accidental('#'),0),[0, 2]),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: '8'&lt;br /&gt;
  })),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context4, stave4, notes4);&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div5 = document.getElementById('output5');&lt;br /&gt;
const renderer5 = new Renderer(div5, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer5.resize(500, 200);&lt;br /&gt;
const context5 = renderer5.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave5 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave5.addClef('bass').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave5.setContext(context5).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes51 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes52 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes53 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;a/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes54 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54);&lt;br /&gt;
&lt;br /&gt;
// Create the beams for the first three groups.&lt;br /&gt;
// This hides the normal stems and flags.&lt;br /&gt;
const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context5, stave5, allNotes5);&lt;br /&gt;
&lt;br /&gt;
// Draw the beams and stems.&lt;br /&gt;
beams5.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context5).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div6 = document.getElementById(&amp;quot;output6&amp;quot;);&lt;br /&gt;
const renderer6 = new Renderer(div6, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer6.resize(500, 200);&lt;br /&gt;
const context6 = renderer6.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave6 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave6.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave6.setContext(context6).draw();&lt;br /&gt;
&lt;br /&gt;
const notes6 = [&lt;br /&gt;
    dotted(new StaveNote({ keys: [&amp;quot;e##/5&amp;quot;], duration: &amp;quot;8d&amp;quot; }).addModifier(new Accidental(&amp;quot;##&amp;quot;))),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams6 = Beam.generateBeams(notes6);&lt;br /&gt;
Formatter.FormatAndDraw(context6, stave6, notes6);&lt;br /&gt;
beams6.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context6).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div7 = document.getElementById(&amp;quot;output7&amp;quot;);&lt;br /&gt;
const renderer7 = new Renderer(div7, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer7.resize(500, 200);&lt;br /&gt;
const context7 = renderer7.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave7 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave7.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave7.setContext(context7).draw();&lt;br /&gt;
&lt;br /&gt;
const notes7 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;B/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams7 = Beam.generateBeams(notes7);&lt;br /&gt;
Formatter.FormatAndDraw(context7, stave7, notes7);&lt;br /&gt;
beams7.forEach(function (b) {&lt;br /&gt;
    b.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const ties7 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[4],&lt;br /&gt;
        last_note: notes7[5],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[5],&lt;br /&gt;
        last_note: notes7[6],&lt;br /&gt;
        first_indices: [1],&lt;br /&gt;
        last_indices: [1],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
ties7.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { TabStave, TabNote, Bend, Vibrato } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div8 = document.getElementById(&amp;quot;output8&amp;quot;);&lt;br /&gt;
const renderer8 = new Renderer(div8, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer8.resize(500, 300);&lt;br /&gt;
const context8 = renderer8.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a tab stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave8 = new TabStave(10, 40, 400);&lt;br /&gt;
stave8.addClef(&amp;quot;tab&amp;quot;).setContext(context8).draw();&lt;br /&gt;
&lt;br /&gt;
const notes8 = [&lt;br /&gt;
    // A single note&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 3, fret: 7 }],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
&lt;br /&gt;
    // A chord with the note on the 3rd string bent&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [&lt;br /&gt;
            { str: 2, fret: 10 },&lt;br /&gt;
            { str: 3, fret: 9 },&lt;br /&gt;
        ],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }).addModifier(new Bend(&amp;quot;Full&amp;quot;), 1),&lt;br /&gt;
&lt;br /&gt;
    // A single note with a harsh vibrato&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 2, fret: 5 }],&lt;br /&gt;
        duration: &amp;quot;h&amp;quot;,&lt;br /&gt;
    }).addModifier(new Vibrato().setHarsh(true).setVibratoWidth(70), 0),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context8, stave8, notes8);&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div9 = document.getElementById(&amp;quot;output9&amp;quot;);&lt;br /&gt;
const renderer9 = new Renderer(div9, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer9.resize(890, 130);&lt;br /&gt;
const context9 = renderer9.getContext();&lt;br /&gt;
&lt;br /&gt;
// Measure 1&lt;br /&gt;
const staveMeasure91 = new Stave(10, 0, 470);&lt;br /&gt;
//staveMeasure91.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;).setContext(context9).draw();&lt;br /&gt;
staveMeasure91.addClef(&amp;quot;treble&amp;quot;);&lt;br /&gt;
staveMeasure91.addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
staveMeasure91.setContext(context9).draw();&lt;br /&gt;
&lt;br /&gt;
const notesMeasure91 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;qr&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;q&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Helper function to justify and draw a 4/4 voice&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure91, notesMeasure91);&lt;br /&gt;
&lt;br /&gt;
// Measure 2 - second measure is placed adjacent to first measure.&lt;br /&gt;
const staveMeasure92 = new Stave(staveMeasure91.width + staveMeasure91.x, 0, 400);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part2 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create the beams for 8th notes in second measure.&lt;br /&gt;
const beam91 = new Beam(notesMeasure92_part1);&lt;br /&gt;
const beam92 = new Beam(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
staveMeasure92.setContext(context9).draw();&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure92, notesMeasure92);&lt;br /&gt;
&lt;br /&gt;
// Render beams&lt;br /&gt;
beam91.setContext(context9).draw();&lt;br /&gt;
beam92.setContext(context9).draw();&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連記事''' ==&lt;br /&gt;
*[[STMK ScoreTemplateMaker(ja)]]&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow_%E4%BD%BF%E3%81%84%E6%96%B9&amp;diff=13544</id>
		<title>VexFlow 使い方</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow_%E4%BD%BF%E3%81%84%E6%96%B9&amp;diff=13544"/>
		<updated>2026-07-20T14:17:59Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VexFlow]]に戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　名曲のソロ部分とか有名な部分を引用しながら、使い方をまとめていきたいと思います。著作権との闘いだな。引用の範囲を超えないように頑張ろう。権利団体にすべてを還元すればいいんでしょ。やってやるよ。っていう感じの意気込みです。この項目の目的は日本のWebsiteに楽譜を描画しているページを増やすということだな。難しすぎるよな楽譜描画。一か所でも間違ったら、そこから先、何も描画されません！恐るべしなんだよVexFlow。&amp;lt;s&amp;gt;絶賛挫折中&amp;lt;/s&amp;gt;。2024年3月中旬再始動中。ほんとか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow 入門その1]]&lt;br /&gt;
*[[VexFlow 連符]]&lt;br /&gt;
*[[VexFlow 描画エリアと5線譜と小節]]&lt;br /&gt;
*[[VexFlow 音部記号]]&lt;br /&gt;
*[[VexFlow 拍子記号]]&lt;br /&gt;
*[[VexFlow 調号]]&lt;br /&gt;
*[[VexFlow 音符]]&lt;br /&gt;
*[[VexFlow 連桁]]&lt;br /&gt;
*[[VexFlow 休符]]&lt;br /&gt;
*[[VexFlow 連符]]&lt;br /&gt;
*[[VexFlow タイ]]&lt;br /&gt;
*[[VexFlow スラー]]&lt;br /&gt;
*[[VexFlow 小節開始終了線]]&lt;br /&gt;
*[[VexFlow 演奏順序記号]]&lt;br /&gt;
*[[VexFlow セクション記号]]&lt;br /&gt;
*[[VexFlow 小節番号]]&lt;br /&gt;
*[[VexFlow 小節の上下の接続]]&lt;br /&gt;
*[[VexFlow 楽器名記載]]&lt;br /&gt;
*[[VexFlow 楽曲タイトルの挿入]]&lt;br /&gt;
*[[VexFlow テキスト挿入]]&lt;br /&gt;
*[[VexFlow テンポ]]&lt;br /&gt;
*[[VexFlow 強弱表示]]&lt;br /&gt;
*[[VexFlow アクセント・テヌート・スタッカート]]&lt;br /&gt;
*[[VexFlow クレシェンド・デクレシェンド]]&lt;br /&gt;
*[[VexFlow アルペジオ]]&lt;br /&gt;
*[[VexFlow ビブラート]]&lt;br /&gt;
*[[VexFlow オクターブ]]&lt;br /&gt;
*[[VexFlow 和音表示省略のスラッシュノート]]&lt;br /&gt;
*[[VexFlow 装飾音符]]&lt;br /&gt;
*[[VexFlow 複数小節にわたる長い休符]]&lt;br /&gt;
*[[VexFlow 小節の繰り返し]]&lt;br /&gt;
*[[VexFlow 打楽器譜]]&lt;br /&gt;
*[[VexFlow タブ譜]]&lt;br /&gt;
*[[VexFlow タブ譜 フレット番号と旗表示]]&lt;br /&gt;
*[[VexFlow タブ譜 プリングオフ・ハンマリング・スライド・チョーキング・グリッサンド]]&lt;br /&gt;
*[[VexFlow タブ譜 カッティング]]&lt;br /&gt;
*[[VexFlow タブ譜 同一コード連続弾き]]&lt;br /&gt;
*[[VexFlow タブ譜 コードフォーム]]&lt;br /&gt;
*[[VexFlow タブ譜 ミュート]]&lt;br /&gt;
*[[VexFlow タブ譜 ハーモニクス]]&lt;br /&gt;
*[[VexFlow タブ譜 アームダウン・アームアップ]] '''ここで力尽きました。管理人には無理です。&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;簡易楽譜CADのためのアプリ作ります。&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow テンプレート Vocal Guitar1 2 Base Drum Perc]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
説明が不足していると感じている記事&lt;br /&gt;
*トレモロ、ロール&lt;br /&gt;
*トリル&lt;br /&gt;
*ベースタブ譜の演奏順序記号&lt;br /&gt;
*VexFlowでは不完全な描画になったコーダやダルセーニョといった演奏順序記号のBravuraフォントでの描画&lt;br /&gt;
*ボーカル、歌詞&lt;br /&gt;
*コード記号&lt;br /&gt;
*2xや3x、D.S.1xやD.S.2xのときだけ違う演奏をするカッコつき楽譜&lt;br /&gt;
*スコア・楽譜テンプレート数種類をPDFで提供。&lt;br /&gt;
*楽曲サンプル譜の作成&lt;br /&gt;
*YonetMuFL自作楽譜描画補助フォントの整備と公開とコードポイント表の作成。&lt;br /&gt;
*ピアノ譜用のペダル操作記号&lt;br /&gt;
*ピアノ譜のための上下連結の連桁描画。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow test content]]&lt;br /&gt;
*[[VexFlow test content2]]&lt;br /&gt;
*[[VexFlow ベースヘ音記号練習]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連記事''' ==&lt;br /&gt;
*[[STMK ScoreTemplateMaker(ja)]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[VexFlow]]に戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow_%E5%85%A5%E9%96%80%E3%81%9D%E3%81%AE1&amp;diff=13543</id>
		<title>VexFlow 入門その1</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow_%E5%85%A5%E9%96%80%E3%81%9D%E3%81%AE1&amp;diff=13543"/>
		<updated>2026-07-20T14:16:24Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.yo-net.jp/vexflow/build/cjs/vexflow@4.2.2.0001.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
[[VexFlow 使い方]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　ひとつひとつの構成要素を知る前に入門用の楽譜をいくつか描いて全貌をつかもうとするのが最初です。公式サイトにもあるものと同じです。このサイトでは'''[[VexFlow 使い方|使い方]]'''を最後まで学習すると以下のようなスコアブックのような描画もできるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　※結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;yonet202403Mid_Output01&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
///////////////////////&lt;br /&gt;
(function(){&lt;br /&gt;
class Position {&lt;br /&gt;
  constructor(x = 0, y = 0) {&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
var VF = Vex.Flow;&lt;br /&gt;
const Vocal = new Position();&lt;br /&gt;
const Guitar1Inst = new Position();&lt;br /&gt;
const Guitar2Inst = new Position();&lt;br /&gt;
const Guitar2Tab1 = new Position();&lt;br /&gt;
const BaseInst = new Position();&lt;br /&gt;
const BaseTab1 = new Position();&lt;br /&gt;
const DrumInst = new Position();&lt;br /&gt;
const PercInst = new Position();&lt;br /&gt;
const Stave9Pos = new Position();&lt;br /&gt;
&lt;br /&gt;
var StaveBase1;&lt;br /&gt;
var StaveBase2;&lt;br /&gt;
var StaveBase3;&lt;br /&gt;
var StaveBase4;&lt;br /&gt;
&lt;br /&gt;
const Perc_note1_1_0 = new Position();&lt;br /&gt;
&lt;br /&gt;
var shiftGuitar1_1;&lt;br /&gt;
var shiftGuitar1_tab4_tr;&lt;br /&gt;
&lt;br /&gt;
var shiftGuitar1_tab1;&lt;br /&gt;
var shiftGuitar1_tab2;&lt;br /&gt;
var shiftGuitar1_tab3;&lt;br /&gt;
var shiftGuitar1_tab4;&lt;br /&gt;
var shiftDrum1;&lt;br /&gt;
var shiftPerc1;&lt;br /&gt;
&lt;br /&gt;
function insertBaseEndBarPathToSVG(Stave) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M ' + (Stave.x + Stave.width) + ' ' + (Stave.y + 50) +&lt;br /&gt;
    ' L ' + (Stave.x + Stave.width) + ' ' + (Stave.y + 80);&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'black');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'none');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function insertTiePathToSVG(StartPos, EndPos, Direction = 1, Depth = 10) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M' + (StartPos.x) + ' ' + (StartPos.y) + 'Q' + (StartPos.x + (EndPos.x - StartPos.x)/2) + ' ' + ((StartPos.y + EndPos.y)/2 + Direction * (Depth - 2)) + &lt;br /&gt;
    ',' + (EndPos.x) + ' ' + (EndPos.y) + 'Q' + ((StartPos.x + EndPos.x)/2) + ' ' + (StartPos.y + (EndPos.y - StartPos.y)/2 + Direction * (Depth + 2)) + &lt;br /&gt;
    ','  + (StartPos.x) + ' ' + (StartPos.y) + 'Z';&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'none');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'black');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function insertTrilPathToSVG(Shift, Direction = 1) {&lt;br /&gt;
  var newGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
  newGroup.setAttribute('transform', 'translate(0, 0)');&lt;br /&gt;
  var DirectionOffset = 0;&lt;br /&gt;
  if (Direction == -1) DirectionOffset = 60;&lt;br /&gt;
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset);&lt;br /&gt;
  path.setAttribute('d', pathStr);&lt;br /&gt;
  path.setAttribute('stroke', 'none');&lt;br /&gt;
  path.setAttribute('stroke-width', '1');&lt;br /&gt;
  path.setAttribute('fill', 'black');&lt;br /&gt;
  var path2 = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr2 = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset + Direction * 7) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 7);&lt;br /&gt;
  path2.setAttribute('d', pathStr2);&lt;br /&gt;
  path2.setAttribute('stroke', 'none');&lt;br /&gt;
  path2.setAttribute('stroke-width', '1');&lt;br /&gt;
  path2.setAttribute('fill', 'black');&lt;br /&gt;
  var path3 = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
  var pathStr3 = 'M ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 40 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[1].x + 11.934 - 5) + ' ' + (Shift[1].y - 36 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 36 + DirectionOffset + Direction * 14) +&lt;br /&gt;
    ' L ' + (Shift[0].x + 11.934 + 5) + ' ' + (Shift[0].y - 40 + DirectionOffset + Direction * 14);&lt;br /&gt;
  path3.setAttribute('d', pathStr3);&lt;br /&gt;
  path3.setAttribute('stroke', 'none');&lt;br /&gt;
  path3.setAttribute('stroke-width', '1');&lt;br /&gt;
  path3.setAttribute('fill', 'black');&lt;br /&gt;
  newGroup.appendChild(path);&lt;br /&gt;
  newGroup.appendChild(path2);&lt;br /&gt;
  newGroup.appendChild(path3);&lt;br /&gt;
  svgElement.appendChild(newGroup);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertTextToSVG(options) {&lt;br /&gt;
    var textContent = options.textContent;&lt;br /&gt;
    var strID = options.strID;&lt;br /&gt;
    var Stave_x = options.Stave_x || 0;&lt;br /&gt;
    var Stave_y = options.Stave_y || 0;&lt;br /&gt;
    var isOffset_x_abs = options.IsOffset_x_Abs || false;&lt;br /&gt;
    var Stave_x_Offset = options.Stave_x_Offset || 0;&lt;br /&gt;
    var Stave_y_Offset = options.Stave_y_Offset || 0;&lt;br /&gt;
    var StaveWidth = options.StaveWidth || 0;&lt;br /&gt;
    var StaveHeight = options.StaveHeight || 0;&lt;br /&gt;
    var StaveVerticalScale = options.StaveVerticalScale || 0;&lt;br /&gt;
    var fontSize = options.fontSize || 40;&lt;br /&gt;
    var fontFamily = options.fontFamily || &amp;quot;Bravura, Arial&amp;quot;;&lt;br /&gt;
    var shift_x = options.shift_x || [0];&lt;br /&gt;
    var Rotate = options.Rotate || 0;&lt;br /&gt;
    var offset_sum = 0;&lt;br /&gt;
    var Stave_x_Offset_Value = 0;&lt;br /&gt;
    var Stave_y_Offset_Value = 0;&lt;br /&gt;
    var last_Stave_x_Offset = 0;&lt;br /&gt;
    var last_Stave_y_Offset = 0;&lt;br /&gt;
    var last_textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
    shift_x.forEach(function(offset, index) {&lt;br /&gt;
        offset_sum = offset_sum + offset;&lt;br /&gt;
        var newText = document.createElementNS('http://www.w3.org/2000/svg', 'text');&lt;br /&gt;
        newText.setAttribute('id', strID + '_' + index); // テキスト要素にIDを付ける&lt;br /&gt;
        newText.setAttribute('x', 0);&lt;br /&gt;
        newText.setAttribute('y', 0);&lt;br /&gt;
        newText.setAttribute('font-family', fontFamily);&lt;br /&gt;
        newText.setAttribute('font-size', fontSize);&lt;br /&gt;
        newText.setAttribute('fill', 'black');&lt;br /&gt;
&lt;br /&gt;
        if(typeof textContent === &amp;quot;string&amp;quot;){&lt;br /&gt;
          newText.textContent = textContent;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(textContent.length - 1 &amp;lt; index){&lt;br /&gt;
            newText.textContent = last_textContent;&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            newText.textContent = textContent[index];&lt;br /&gt;
            last_textContent = textContent[index];&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(Stave_x_Offset.length - 1 &amp;lt; index){&lt;br /&gt;
          Stave_x_Offset_Value = last_Stave_x_Offset;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(Stave_x_Offset.length &amp;gt;= 2){&lt;br /&gt;
            Stave_x_Offset_Value = Stave_x_Offset[index];&lt;br /&gt;
            last_Stave_x_Offset = Stave_x_Offset[index];&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            Stave_x_Offset_Value = Stave_x_Offset;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(Stave_y_Offset.length - 1 &amp;lt; index){&lt;br /&gt;
          Stave_y_Offset_Value = last_Stave_y_Offset;&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          if(Stave_y_Offset.length &amp;gt;= 2){&lt;br /&gt;
            Stave_y_Offset_Value = Stave_y_Offset[index];&lt;br /&gt;
            last_Stave_y_Offset = Stave_y_Offset[index];&lt;br /&gt;
          }&lt;br /&gt;
          else{&lt;br /&gt;
            Stave_y_Offset_Value = Stave_y_Offset;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        var textGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');&lt;br /&gt;
        if(Rotate != 0){&lt;br /&gt;
          textGroup.setAttribute('transform', 'rotate(' + Rotate + ' ' + 0 + ' ' + 0 + ')');&lt;br /&gt;
          textGroup.appendChild(newText);&lt;br /&gt;
          svgElement.appendChild(textGroup);&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          svgElement.appendChild(newText);&lt;br /&gt;
        }&lt;br /&gt;
        (function() {&lt;br /&gt;
            var textWidth = newText.getBBox().width;&lt;br /&gt;
            var textHeight = newText.getBBox().height;&lt;br /&gt;
            var horizontalScale;&lt;br /&gt;
            if (typeof StaveWidth === 'undefined' || StaveWidth == 0) {&lt;br /&gt;
                horizontalScale = 1;&lt;br /&gt;
            } &lt;br /&gt;
            else {&lt;br /&gt;
                horizontalScale = StaveWidth / textWidth;&lt;br /&gt;
            }&lt;br /&gt;
            var verticalScale;&lt;br /&gt;
            if (typeof StaveHeight === 'undefined' || StaveHeight == 0) {&lt;br /&gt;
                verticalScale = 1;&lt;br /&gt;
            } &lt;br /&gt;
            else if (StaveVerticalScale != 0) {&lt;br /&gt;
                verticalScale = StaveVerticalScale;&lt;br /&gt;
            } &lt;br /&gt;
            else {&lt;br /&gt;
                verticalScale = StaveHeight / textHeight;&lt;br /&gt;
            }&lt;br /&gt;
            if(isOffset_x_abs){&lt;br /&gt;
              var StavePos_x = offset.x + Stave_x_Offset_Value;&lt;br /&gt;
              var StavePos_y = offset.y + Stave_y_Offset_Value;&lt;br /&gt;
            }&lt;br /&gt;
            else{&lt;br /&gt;
              var StavePos_x = Stave_x + Stave_x_Offset + offset_sum;&lt;br /&gt;
              var StavePos_y = Stave_y + Stave_y_Offset;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            newText.setAttribute('transform', 'translate(' + StavePos_x + ',' + StavePos_y + ') scale(' + horizontalScale + ',' + verticalScale + ')');&lt;br /&gt;
&lt;br /&gt;
            if(Rotate != 0){&lt;br /&gt;
              textGroup.setAttribute('transform', 'rotate(' + Rotate + ' ' + StavePos_x + ' ' + StavePos_y + ')');&lt;br /&gt;
            }&lt;br /&gt;
        })();&lt;br /&gt;
&lt;br /&gt;
        if(Rotate != 0){&lt;br /&gt;
          textGroup.appendChild(newText);&lt;br /&gt;
          svgElement.appendChild(textGroup);&lt;br /&gt;
        }&lt;br /&gt;
        else{&lt;br /&gt;
          svgElement.appendChild(newText);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var allUniqueIds = [];&lt;br /&gt;
var allFlagUniqueIds = [];&lt;br /&gt;
(function(){&lt;br /&gt;
function addShift(notes, arrx = [], arry = []) {&lt;br /&gt;
 &lt;br /&gt;
  let tempnote;&lt;br /&gt;
  let retShift = [];&lt;br /&gt;
  &lt;br /&gt;
  for(let i = 0; i &amp;lt; arrx.length || i == 0; i++){&lt;br /&gt;
    const pos = new Position();&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
    if(arrx.length === 0){&lt;br /&gt;
      tempnote = notes;&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      tempnote = notes[arrx[i]];&lt;br /&gt;
      temp_y = arry[i];&lt;br /&gt;
    }&lt;br /&gt;
    pos.x = tempnote.getAbsoluteX();&lt;br /&gt;
    pos.y = tempnote.getStave().getYForLine(temp_y);&lt;br /&gt;
&lt;br /&gt;
    retShift.push(pos);&lt;br /&gt;
  }&lt;br /&gt;
  return retShift;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var UniqueIds;&lt;br /&gt;
function getUniqueNoteheadIds(notes, arr = []) {&lt;br /&gt;
    //すべてのidを格納するためのセットを作成&lt;br /&gt;
    let tempnote;&lt;br /&gt;
    uniqueIds = new Set();&lt;br /&gt;
    for(let i = 0; i &amp;lt; arr.length || i == 0; i++){&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
      if(arr.length === 0){&lt;br /&gt;
        tempnote = notes;&lt;br /&gt;
      }&lt;br /&gt;
      else{&lt;br /&gt;
        tempnote = notes[arr[i]];&lt;br /&gt;
      }&lt;br /&gt;
      tempnote.children.forEach(child =&amp;gt; {&lt;br /&gt;
        //typeが&amp;quot;notehead&amp;quot;であるかチェックし、idを取得&lt;br /&gt;
        if (child.attrs){&lt;br /&gt;
          if(child.attrs.type === &amp;quot;NoteHead&amp;quot;) {&lt;br /&gt;
            uniqueIds.add(child.attrs.id);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // セットを配列に変換して戻り値として返す&lt;br /&gt;
    return Array.from(uniqueIds);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function updateAllUniqueIds(UniqueIds) {&lt;br /&gt;
    // allUniqueIdsにUniqueIdsを追加または結合&lt;br /&gt;
    if (allUniqueIds.length === 0) {//allUniqueIdsはグローバルな変数&lt;br /&gt;
      // allUniqueIdsが空の場合、UniqueIdsをそのままコピー&lt;br /&gt;
      allUniqueIds = [...UniqueIds];//スプレッド演算子で要素の中身を書き出す。&lt;br /&gt;
    } else {&lt;br /&gt;
      UniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
        if (!allUniqueIds.includes(id)) {&lt;br /&gt;
            allUniqueIds.push(id);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // 更新されたallUniqueIdsを戻り値として返す&lt;br /&gt;
    return allUniqueIds;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var SteveNoteUniqueIds;&lt;br /&gt;
function getUniqueStaveNotesIds(notes, arr = []) {&lt;br /&gt;
    //すべてのidを格納するためのセットを作成&lt;br /&gt;
    let tempnote;&lt;br /&gt;
    uniqueIds = new Set();&lt;br /&gt;
    for(let i = 0; i &amp;lt; arr.length || i == 0; i++){&lt;br /&gt;
    //notesのchildrenの各要素について処理&lt;br /&gt;
      if(arr.length === 0){&lt;br /&gt;
        tempnote = notes;&lt;br /&gt;
      }&lt;br /&gt;
      else{&lt;br /&gt;
        tempnote = notes[arr[i]];&lt;br /&gt;
      }&lt;br /&gt;
      if (tempnote.attrs){&lt;br /&gt;
        if(tempnote.attrs.type === &amp;quot;StaveNote&amp;quot;) {&lt;br /&gt;
          uniqueIds.add(tempnote.attrs.id);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // セットを配列に変換して戻り値として返す&lt;br /&gt;
    return Array.from(uniqueIds);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function updateAllFlagUniqueIds(FlagUniqueIds) {&lt;br /&gt;
    // allUniqueIdsにUniqueIdsを追加または結合&lt;br /&gt;
    if (allFlagUniqueIds.length === 0) {&lt;br /&gt;
      // allUniqueIdsが空の場合、UniqueIdsをそのままコピー&lt;br /&gt;
      allFlagUniqueIds = [...FlagUniqueIds];//スプレッド演算子で要素の中身を書き出す。&lt;br /&gt;
    } else {&lt;br /&gt;
      FlagUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
        if (!allFlagUniqueIds.includes(id)) {&lt;br /&gt;
            allFlagUniqueIds.push(id);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
    // 更新されたallUniqueIdsを戻り値として返す&lt;br /&gt;
    return allFlagUniqueIds;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } &lt;br /&gt;
  else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const {&lt;br /&gt;
  Factory,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Voice,&lt;br /&gt;
  StaveTie,&lt;br /&gt;
  BarLine,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveConnector,&lt;br /&gt;
  Modifier,&lt;br /&gt;
  RenderContext,&lt;br /&gt;
  TextDynamics,&lt;br /&gt;
  Articulation,&lt;br /&gt;
  TextNote,&lt;br /&gt;
  Crescendo,&lt;br /&gt;
  Renderer&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
let nscale = 0.64;&lt;br /&gt;
let nwidth = 1040;&lt;br /&gt;
let nheight = 1120;&lt;br /&gt;
&lt;br /&gt;
let nHeadMargin = 70;&lt;br /&gt;
let nStaveWidth = 350;&lt;br /&gt;
&lt;br /&gt;
const f = new Factory({ &lt;br /&gt;
  renderer: { elementId: 'yonet202403Mid_Output01', width: nwidth, height: nheight * nscale }&lt;br /&gt;
  });&lt;br /&gt;
const ctx = f.getContext();&lt;br /&gt;
ctx.scale(nscale, nscale);&lt;br /&gt;
&lt;br /&gt;
const defaultStyle = {&lt;br /&gt;
  lineWidth: ctx.lineWidth,&lt;br /&gt;
  strokeStyle: ctx.strokeStyle,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
for (let i = 0; i &amp;lt;= nwidth * (1 / nscale); i += 10) {&lt;br /&gt;
  ctx.beginPath();&lt;br /&gt;
  ctx.moveTo(0 + i, 0);&lt;br /&gt;
  ctx.lineTo(0 + i, nheight);&lt;br /&gt;
  if (i % 100 === 0){&lt;br /&gt;
    ctx.setLineWidth(1);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(200, 200, 200, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ctx.setLineWidth(0.5);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(230, 230, 230, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for (let i = 0; i &amp;lt;= nheight; i += 10) {&lt;br /&gt;
  ctx.beginPath();&lt;br /&gt;
  ctx.moveTo(0, i);&lt;br /&gt;
  ctx.lineTo(nwidth * (1 / nscale), i);&lt;br /&gt;
  if (i % 100 === 0){&lt;br /&gt;
    ctx.setLineWidth(1);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(200, 200, 200, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ctx.setLineWidth(0.5);&lt;br /&gt;
    ctx.setStrokeStyle('rgba(230, 230, 230, 0.8)');&lt;br /&gt;
  }&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ctx.lineWidth = defaultStyle.lineWidth;&lt;br /&gt;
ctx.strokeStyle = defaultStyle.strokeStyle;&lt;br /&gt;
&lt;br /&gt;
const VocalSt1 = new Stave(80, 30, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt1.setClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
VocalSt1.setTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
VocalSt1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
VocalSt1.setMeasure(1);&lt;br /&gt;
VocalSt1.draw();&lt;br /&gt;
&lt;br /&gt;
Vocal.x = VocalSt1.x - 30;&lt;br /&gt;
Vocal.y = VocalSt1.y + 90; &lt;br /&gt;
&lt;br /&gt;
const VocalSt2 = f.Stave({ x: VocalSt1.width + VocalSt1.x, y: VocalSt1.y, width: nStaveWidth });&lt;br /&gt;
VocalSt2.setMeasure(2);&lt;br /&gt;
VocalSt2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const VocalSt3 = new Stave(VocalSt2.width + VocalSt2.x, VocalSt1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt3.setMeasure(3);&lt;br /&gt;
VocalSt3.draw();&lt;br /&gt;
&lt;br /&gt;
const VocalSt4 = new Stave(VocalSt3.width + VocalSt3.x, VocalSt1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
VocalSt4.setMeasure(4);&lt;br /&gt;
VocalSt4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St1 = new Stave(VocalSt1.x, VocalSt1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St1.addClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
Guitar1St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Guitar1St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Guitar1St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes1_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/3&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;a/4&amp;quot;, &amp;quot;c/5&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  dotted(new VF.StaveNote({ keys: [&amp;quot;c/6&amp;quot;], duration: &amp;quot;4d&amp;quot;, stem_direction: -1 })),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes1_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
var Guitar1_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St1_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St1_1Voice.addTickables(Guitar1_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St1_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St1_2Voice.addTickables(Guitar1_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St1_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St1_2Voice, Guitar1_St1_1Voice]);&lt;br /&gt;
formatterGuitar1_St1_1.format([Guitar1_St1_2Voice, Guitar1_St1_1Voice], nStaveWidth - 20 - 10);&lt;br /&gt;
Guitar1_St1_1Voice.draw(ctx, Guitar1St1);&lt;br /&gt;
Guitar1_St1_2Voice.draw(ctx, Guitar1St1);&lt;br /&gt;
&lt;br /&gt;
const Guitar1St2 = new Stave(Guitar1St1.width + Guitar1St1.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_gracenotes2 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['e/5', 'g/5'], duration: '8', slash: true })&lt;br /&gt;
  .addModifier(new VF.Accidental('#'), 1)&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes2_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;, &amp;quot;a/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
  .addModifier(new VF.Accidental('n'), 0),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;, &amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;, &amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes2_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_notes2_1[0].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[1].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[2].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[3].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes2_1[4].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[5].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[6].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[7].addModifier(new VF.Articulation('a.').setPosition(4));&lt;br /&gt;
Guitar1_notes2_1[0].addModifier(new VF.GraceNoteGroup(Guitar1_gracenotes2, true), 0);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_beam1_1 = new VF.Beam([Guitar1_notes2_1[0], Guitar1_notes2_1[1], Guitar1_notes2_1[2], Guitar1_notes2_1[3]]);&lt;br /&gt;
const Guitar1_beam1_2 = new VF.Beam([Guitar1_notes2_1[4], Guitar1_notes2_1[5], Guitar1_notes2_1[6], Guitar1_notes2_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St2_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St2_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St2_1Voice.addTickables(Guitar1_notes2_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St2_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St2_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St2_2Voice.addTickables(Guitar1_notes2_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St2_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St2_2Voice, Guitar1_St2_1Voice]);&lt;br /&gt;
formatterGuitar1_St2_1.format([Guitar1_St2_2Voice, Guitar1_St2_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St2_1Voice.draw(ctx, Guitar1St2);&lt;br /&gt;
Guitar1_St2_2Voice.draw(ctx, Guitar1St2);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam1_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam1_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St3 = new Stave(Guitar1St2.width + Guitar1St2.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes3_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes3_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_beam3_1 = new VF.Beam([Guitar1_notes3_1[0], Guitar1_notes3_1[1], Guitar1_notes3_1[2], Guitar1_notes3_1[3]]);&lt;br /&gt;
const Guitar1_beam3_2 = new VF.Beam([Guitar1_notes3_1[4], Guitar1_notes3_1[5], Guitar1_notes3_1[6]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St3_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St3_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St3_1Voice.addTickables(Guitar1_notes3_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St3_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St3_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St3_2Voice.addTickables(Guitar1_notes3_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St3_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St3_2Voice, Guitar1_St3_1Voice]);&lt;br /&gt;
formatterGuitar1_St3_1.format([Guitar1_St3_2Voice, Guitar1_St3_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St3_1Voice.draw(ctx, Guitar1St3);&lt;br /&gt;
Guitar1_St3_2Voice.draw(ctx, Guitar1St3);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam3_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam3_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_ties3 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[0],&lt;br /&gt;
        last_note: Guitar1_notes3_1[1],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[1],&lt;br /&gt;
        last_note: Guitar1_notes3_1[2],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[2],&lt;br /&gt;
        last_note: Guitar1_notes3_1[3],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[3],&lt;br /&gt;
        last_note: Guitar1_notes3_1[4],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes3_1[6],&lt;br /&gt;
        last_note: Guitar1_notes3_1[7],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Guitar1_ties3.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(ctx).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var Guitar1_vibrato3 = new VF.VibratoBracket({&lt;br /&gt;
  start: Guitar1_notes3_1[7],&lt;br /&gt;
  stop: null,&lt;br /&gt;
});&lt;br /&gt;
Guitar1_vibrato3.setLine(0);&lt;br /&gt;
Guitar1_vibrato3.setHarsh(true);&lt;br /&gt;
Guitar1_vibrato3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1St4 = new Stave(Guitar1St3.width + Guitar1St3.x, Guitar1St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_gracenotes4 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['a/4'], duration: '8', slash: true })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_notes4_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;4&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_notes4_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_notes4_1[7].addModifier(new VF.Articulation('a.').setPosition(3));&lt;br /&gt;
Guitar1_notes4_1[3].addModifier(new VF.GraceNoteGroup(Guitar1_gracenotes4, true), 0);&lt;br /&gt;
&lt;br /&gt;
SteveNoteUniqueIds = getUniqueStaveNotesIds(Guitar1_notes4_1, [0, 1]);&lt;br /&gt;
allFlagUniqueIds = updateAllFlagUniqueIds(SteveNoteUniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_beam4_1 = new VF.Beam([Guitar1_notes4_1[2], Guitar1_notes4_1[3]]);&lt;br /&gt;
const Guitar1_beam4_2 = new VF.Beam([Guitar1_notes4_1[5], Guitar1_notes4_1[6], Guitar1_notes4_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St4_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St4_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_St4_1Voice.addTickables(Guitar1_notes4_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_St4_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_St4_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_St4_2Voice.addTickables(Guitar1_notes4_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_St4_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_St4_2Voice, Guitar1_St4_1Voice]);&lt;br /&gt;
formatterGuitar1_St4_1.format([Guitar1_St4_2Voice, Guitar1_St4_1Voice], nStaveWidth - 30);&lt;br /&gt;
Guitar1_St4_1Voice.draw(ctx, Guitar1St4);&lt;br /&gt;
Guitar1_St4_2Voice.draw(ctx, Guitar1St4);&lt;br /&gt;
&lt;br /&gt;
Guitar1_beam4_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_beam4_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_1 = addShift(&lt;br /&gt;
  Guitar1_notes4_1, &lt;br /&gt;
  [0, 1],&lt;br /&gt;
  [4, 3.5]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_ties4 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[0],&lt;br /&gt;
        last_note: Guitar1_notes4_1[1],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[1],&lt;br /&gt;
        last_note: Guitar1_notes4_1[2],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[3],&lt;br /&gt;
        last_note: Guitar1_notes4_1[4],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: Guitar1_notes4_1[5],&lt;br /&gt;
        last_note: Guitar1_notes4_1[6],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Guitar1_ties4.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(ctx).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 110, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab2 = new Stave(Guitar1_tab1.width + Guitar1_tab1.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab3 = new Stave(Guitar1_tab2.width + Guitar1_tab2.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab4 = new Stave(Guitar1_tab3.width + Guitar1_tab3.x, Guitar1_tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar1_tab4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar1_tab4.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab1 = new Stave(Guitar1St1.x, Guitar1St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
Stave9Pos.x = Guitar1_Tab1.x;&lt;br /&gt;
Stave9Pos.y = Guitar1_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
var connector9_2 = new VF.StaveConnector(Guitar1St1, Guitar1_Tab1);&lt;br /&gt;
connector9_2.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
connector9_2.setContext(ctx);&lt;br /&gt;
connector9_2.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar1Inst.x = VocalSt1.x - 30;&lt;br /&gt;
Guitar1Inst.y = Guitar1St1.y + ((Guitar1_Tab1.y - Guitar1St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab1_1 = new Stave(Guitar1_Tab1.x + nHeadMargin + 20, Guitar1_Tab1.y, 0).setContext(ctx);&lt;br /&gt;
Guitar1_Tab1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Guitar1_Tab1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Guitar1_Tab1_1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes1_1 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/3&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;a/4&amp;quot;, &amp;quot;c/5&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  dotted(new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;4d&amp;quot;, stem_direction: -1 })),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes1_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes1_1, [1, 2]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St1_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St1_1Voice.addTickables(Guitar1_tab_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St1_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St1_2Voice.addTickables(Guitar1_tab_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St1_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St1_2Voice, Guitar1_tab_St1_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St1_1.format([Guitar1_tab_St1_2Voice, Guitar1_tab_St1_1Voice], nStaveWidth - 20 - 10);&lt;br /&gt;
Guitar1_tab_St1_1Voice.draw(ctx, Guitar1_Tab1_1);&lt;br /&gt;
Guitar1_tab_St1_2Voice.draw(ctx, Guitar1_Tab1_1);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab1 = addShift(&lt;br /&gt;
  Guitar1_tab_notes1_1, &lt;br /&gt;
  [0, 0, 0, 0, 1,  2],&lt;br /&gt;
  [3, 2, 1, 0, 1, -1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab2 = new Stave(Guitar1_Tab1.width + Guitar1_Tab1.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_gracenotes2 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['a/5'], duration: '8', slash: true })&lt;br /&gt;
  .addModifier(new VF.Accidental('#'), 0)&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes2_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
  .addModifier(new VF.Accidental('n'), 0),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;f/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes2_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_tab_notes2_1[0].addModifier(new VF.GraceNoteGroup(Guitar1_tab_gracenotes2, false), 0);&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes2_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam2_1 = new VF.Beam([Guitar1_tab_notes2_1[0], Guitar1_tab_notes2_1[1], Guitar1_tab_notes2_1[2], Guitar1_tab_notes2_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam2_2 = new VF.Beam([Guitar1_tab_notes2_1[4], Guitar1_tab_notes2_1[5], Guitar1_tab_notes2_1[6], Guitar1_tab_notes2_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St2_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St2_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St2_1Voice.addTickables(Guitar1_tab_notes2_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St2_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St2_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St2_2Voice.addTickables(Guitar1_tab_notes2_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St2_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St2_2Voice, Guitar1_tab_St2_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St2_1.format([Guitar1_tab_St2_2Voice, Guitar1_tab_St2_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St2_1Voice.draw(ctx, Guitar1_Tab2);&lt;br /&gt;
Guitar1_tab_St2_2Voice.draw(ctx, Guitar1_Tab2);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab2 = addShift(&lt;br /&gt;
  Guitar1_tab_notes2_1, &lt;br /&gt;
  [0, 0, 0, 0, 1, 1, 2, 3, 4, 4, 5, 6, 7],&lt;br /&gt;
  [1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 2, 3]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam2_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam2_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab3 = new Stave(Guitar1_Tab2.width + Guitar1_Tab2.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes3_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;2&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes3_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes3_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam3_1 = new VF.Beam([Guitar1_tab_notes3_1[0], Guitar1_tab_notes3_1[1], Guitar1_tab_notes3_1[2], Guitar1_tab_notes3_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam3_2 = new VF.Beam([Guitar1_tab_notes3_1[4], Guitar1_tab_notes3_1[5], Guitar1_tab_notes3_1[6]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St3_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St3_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St3_1Voice.addTickables(Guitar1_tab_notes3_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St3_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St3_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St3_2Voice.addTickables(Guitar1_tab_notes3_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St3_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St3_2Voice, Guitar1_tab_St3_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St3_1.format([Guitar1_tab_St3_2Voice, Guitar1_tab_St3_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St3_1Voice.draw(ctx, Guitar1_Tab3);&lt;br /&gt;
Guitar1_tab_St3_2Voice.draw(ctx, Guitar1_Tab3);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab3 = addShift(&lt;br /&gt;
  Guitar1_tab_notes3_1, &lt;br /&gt;
  [0, 1, 2, 3, 4, 5, 6, 7],&lt;br /&gt;
  [2, 2, 2, 2, 2, 4, 4, 4]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam3_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam3_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_vibrato3 = new VF.VibratoBracket({&lt;br /&gt;
  start: Guitar1_tab_notes3_1[7],&lt;br /&gt;
  stop: null,&lt;br /&gt;
});&lt;br /&gt;
Guitar1_tab_vibrato3.setLine(1);&lt;br /&gt;
Guitar1_tab_vibrato3.setHarsh(true);&lt;br /&gt;
Guitar1_tab_vibrato3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar1_Tab4 = new Stave(Guitar1_Tab3.width + Guitar1_Tab3.x, Guitar1_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar1_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_gracenotes4 = [&lt;br /&gt;
  new VF.GraceNote({ keys: ['d/5'], duration: '8', slash: true })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_notes4_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;d/5&amp;quot;], duration: &amp;quot;4&amp;quot; }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
];&lt;br /&gt;
const Guitar1_tab_notes4_2 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;16&amp;quot;}),&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
Guitar1_tab_notes4_1[3].addModifier(new VF.GraceNoteGroup(Guitar1_tab_gracenotes4, false), 0);&lt;br /&gt;
&lt;br /&gt;
SteveNoteUniqueIds = getUniqueStaveNotesIds(Guitar1_tab_notes4_1, [0, 1]);&lt;br /&gt;
allFlagUniqueIds = updateAllFlagUniqueIds(SteveNoteUniqueIds);&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Guitar1_tab_notes4_1, [0, 1, 2, 3, 4, 5, 6, 7]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Guitar1_tab_beam4_1 = new VF.Beam([Guitar1_tab_notes4_1[2], Guitar1_tab_notes4_1[3]]);&lt;br /&gt;
const Guitar1_tab_beam4_2 = new VF.Beam([Guitar1_tab_notes4_1[5], Guitar1_tab_notes4_1[6], Guitar1_tab_notes4_1[7]]);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St4_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St4_1Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St4_1Voice.addTickables(Guitar1_tab_notes4_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_St4_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Guitar1_tab_St4_2Voice.setStrict(true);&lt;br /&gt;
Guitar1_tab_St4_2Voice.addTickables(Guitar1_tab_notes4_2);&lt;br /&gt;
&lt;br /&gt;
var formatterGuitar1_tab_St4_1 = new Vex.Flow.Formatter().joinVoices([Guitar1_tab_St4_2Voice, Guitar1_tab_St4_1Voice]);&lt;br /&gt;
formatterGuitar1_tab_St4_1.format([Guitar1_tab_St4_2Voice, Guitar1_tab_St4_1Voice], nStaveWidth - 20);&lt;br /&gt;
Guitar1_tab_St4_1Voice.draw(ctx, Guitar1_Tab4);&lt;br /&gt;
Guitar1_tab_St4_2Voice.draw(ctx, Guitar1_Tab4);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab4 = addShift(&lt;br /&gt;
  Guitar1_tab_notes4_1, &lt;br /&gt;
  [0, 1, 2, 3, 3, 4, 5, 6, 7, 7],&lt;br /&gt;
  [2, 2, 2, 2, 2, 2, 1, 1, 1, 1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
shiftGuitar1_tab4_tr = addShift(&lt;br /&gt;
  Guitar1_tab_notes4_1, &lt;br /&gt;
  [0, 1],&lt;br /&gt;
  [3, 2.5]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Guitar1_tab_beam4_1.setContext(ctx).draw();&lt;br /&gt;
Guitar1_tab_beam4_2.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St1 = new Stave(Guitar1_Tab1.x, Guitar1_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St1.addClef(&amp;quot;treble&amp;quot;).setContext(ctx);&lt;br /&gt;
Guitar2_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Guitar2_St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Guitar2_St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St2 = new Stave(Guitar2_St1.width + Guitar2_St1.x, Guitar2_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St3 = new Stave(Guitar2_St2.width + Guitar2_St2.x, Guitar2_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_St4 = new Stave(Guitar2_St3.width + Guitar2_St3.x, Guitar2_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab1 = new Stave(Guitar2_St1.x, Guitar2_St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar2Tab1.x = Guitar2_Tab1.x;&lt;br /&gt;
Guitar2Tab1.y = Guitar2_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab2 = new Stave(Guitar2_Tab1.width + Guitar2_Tab1.x, Guitar2_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab3 = new Stave(Guitar2_Tab2.width + Guitar2_Tab2.x, Guitar2_Tab2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab4 = new Stave(Guitar2_Tab3.width + Guitar2_Tab3.x, Guitar2_Tab3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Guitar2_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
var Guitar2_connect = new VF.StaveConnector(Guitar2_St1, Guitar2_Tab1);&lt;br /&gt;
Guitar2_connect.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
Guitar2_connect.setContext(ctx);&lt;br /&gt;
Guitar2_connect.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab1_tab = new Stave(Guitar2_Tab1.x, Guitar2_Tab1.y - 10, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab1_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab1_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab2_tab = new Stave(Guitar2_Tab1_tab.width + Guitar2_Tab1_tab.x, Guitar2_Tab1_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab2_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab2_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab3_tab = new Stave(Guitar2_Tab2_tab.width + Guitar2_Tab2_tab.x, Guitar2_Tab2_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab3_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab3_tab.draw();&lt;br /&gt;
&lt;br /&gt;
const Guitar2_Tab4_tab = new Stave(Guitar2_Tab3_tab.width + Guitar2_Tab3_tab.x, Guitar2_Tab3_tab.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 0) continue;&lt;br /&gt;
  Guitar2_Tab4_tab.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Guitar2_Tab4_tab.draw();&lt;br /&gt;
&lt;br /&gt;
Guitar2Inst.x = Guitar2_St1.x - 30;&lt;br /&gt;
Guitar2Inst.y = Guitar2_St1.y + ((Guitar2_Tab1.y - Guitar2_St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
const Base_St1 = new Stave(Guitar2_Tab1.x, Guitar2_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St1.addClef(&amp;quot;bass&amp;quot;).setContext(ctx);&lt;br /&gt;
Base_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Base_St1.addKeySignature('D').setContext(ctx);&lt;br /&gt;
Base_St1.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St2 = new Stave(Base_St1.width + Base_St1.x, Base_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St3 = new Stave(Base_St2.width + Base_St2.x, Base_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_St4 = new Stave(Base_St3.width + Base_St3.x, Base_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_St4.draw();&lt;br /&gt;
&lt;br /&gt;
const Base_Tab1 = new Stave(Base_St1.x, Base_St1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab1.draw();&lt;br /&gt;
&lt;br /&gt;
BaseTab1.x = Base_Tab1.x;&lt;br /&gt;
BaseTab1.y = Base_Tab1.y;&lt;br /&gt;
&lt;br /&gt;
BaseInst.x = Base_St1.x - 30;&lt;br /&gt;
BaseInst.y = Base_St1.y + ((Base_Tab1.y - Base_St1.y) / 2) + 90; &lt;br /&gt;
&lt;br /&gt;
StaveBase1 = Base_Tab1;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab2 = new Stave(Base_Tab1.width + Base_Tab1.x, Base_Tab1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab2.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab2.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab2.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase2 = Base_Tab2;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab3 = new Stave(Base_Tab2.width + Base_Tab2.x, Base_Tab2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab3.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab3.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab3.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase3 = Base_Tab3;&lt;br /&gt;
&lt;br /&gt;
const Base_Tab4 = new Stave(Base_Tab3.width + Base_Tab3.x, Base_Tab3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Base_Tab4.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Base_Tab4.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i != 0) continue;&lt;br /&gt;
  Base_Tab4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Base_Tab4.draw();&lt;br /&gt;
&lt;br /&gt;
StaveBase4 = Base_Tab4;&lt;br /&gt;
&lt;br /&gt;
var Base_connect = new VF.StaveConnector(Base_St1, Base_Tab1);&lt;br /&gt;
Base_connect.setType(VF.StaveConnector.type.BRACKET);&lt;br /&gt;
Base_connect.setContext(ctx);&lt;br /&gt;
Base_connect.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_St1 = new Stave(Base_Tab1.x, Base_Tab1.y + 120, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St1.addClef(&amp;quot;bass&amp;quot;).setContext(ctx);&lt;br /&gt;
Drum_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
Drum_St1.draw();&lt;br /&gt;
&lt;br /&gt;
DrumInst.x = Drum_St1.x - 30;&lt;br /&gt;
DrumInst.y = Drum_St1.y + 90; &lt;br /&gt;
&lt;br /&gt;
const Drum_St1_1 = new Stave(nHeadMargin + Base_Tab1.x, Base_Tab1.y + 120, 0).setContext(ctx);&lt;br /&gt;
Drum_St1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_1.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;4&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;4r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8r&amp;quot; }),&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;f/4&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: -1 })&lt;br /&gt;
];&lt;br /&gt;
const Drum_beam1_1 = new VF.Beam([Drum_notes1_1[3],Drum_notes1_1[5]]);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_1Voice.setStrict(true);&lt;br /&gt;
Drum_St1_1Voice.addTickables(Drum_notes1_1);&lt;br /&gt;
&lt;br /&gt;
const Drum_St1_2 = new Stave(nHeadMargin + Base_Tab1.x, Base_Tab1.y + 120, 0).setContext(ctx);&lt;br /&gt;
Drum_St1_2.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_2.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Drum_St1_2.draw();&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_2 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;c/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;g/5&amp;quot;], duration: &amp;quot;8&amp;quot;, stem_direction: 1 })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const Drum_notes1_3 = [&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 }),&lt;br /&gt;
  new VF.GhostNote({ keys: [&amp;quot;a/5&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: 1 })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Drum_notes1_2, [0, 1, 3, 5, 6, 8]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Drum_beam1_2_1 = new VF.Beam([Drum_notes1_2[0], Drum_notes1_2[1]]);&lt;br /&gt;
const Drum_beam1_2_2 = new VF.Beam([Drum_notes1_2[2], Drum_notes1_2[3], Drum_notes1_2[4]]);&lt;br /&gt;
const Drum_beam1_2_3 = new VF.Beam([Drum_notes1_2[5], Drum_notes1_2[6], Drum_notes1_2[7], Drum_notes1_2[8]]);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_2Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_2Voice.setStrict(true);&lt;br /&gt;
Drum_St1_2Voice.addTickables(Drum_notes1_2);&lt;br /&gt;
&lt;br /&gt;
var Drum_St1_3Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Drum_St1_3Voice.setStrict(true);&lt;br /&gt;
Drum_St1_3Voice.addTickables(Drum_notes1_3);&lt;br /&gt;
&lt;br /&gt;
var formatterDrum_St1_2 = new Vex.Flow.Formatter().joinVoices([Drum_St1_3Voice, Drum_St1_1Voice, Drum_St1_2Voice]);&lt;br /&gt;
//formatter13_2.formatToStave([stave13_3Voice, stave13_1Voice, stave13_2Voice], stave13_2);&lt;br /&gt;
formatterDrum_St1_2.format([Drum_St1_3Voice, Drum_St1_1Voice, Drum_St1_2Voice], nStaveWidth - 30);&lt;br /&gt;
Drum_St1_1Voice.draw(ctx, Drum_St1_2);&lt;br /&gt;
Drum_St1_2Voice.draw(ctx, Drum_St1_2);&lt;br /&gt;
&lt;br /&gt;
Drum_beam1_1.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
Drum_beam1_2_1.setContext(ctx).draw();&lt;br /&gt;
Drum_beam1_2_2.setContext(ctx).draw();&lt;br /&gt;
Drum_beam1_2_3.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
shiftDrum1 = addShift(&lt;br /&gt;
  Drum_notes1_2, &lt;br /&gt;
  [0, 1, 2, 3, 5, 5, 6, 6, 7, 7, 8, 8],&lt;br /&gt;
  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St2 = new Stave(Drum_St1.width + Drum_St1.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St2.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St3 = new Stave(Drum_St2.width + Drum_St2.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St3.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Drum_St4 = new Stave(Drum_St3.width + Drum_St3.x, Drum_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
Drum_St4.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const Perc_St1 = new Stave(Drum_St1.x, Drum_St1.y + 100, nHeadMargin + nStaveWidth).setContext(ctx);&lt;br /&gt;
Perc_St1.addTimeSignature('4/4').setContext(ctx);&lt;br /&gt;
&lt;br /&gt;
const Perc_St1_1 = new Stave(nHeadMargin + Drum_St1.x, Drum_St1.y + 100, 0).setContext(ctx);&lt;br /&gt;
Perc_St1_1.setBegBarType(VF.Barline.type.NONE);&lt;br /&gt;
Perc_St1_1.setEndBarType(VF.Barline.type.NONE);&lt;br /&gt;
Perc_St1_1.draw();&lt;br /&gt;
&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St1.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Perc_St1.draw();&lt;br /&gt;
&lt;br /&gt;
PercInst.x = Perc_St1.x - 30;&lt;br /&gt;
PercInst.y = Perc_St1.y + 90; &lt;br /&gt;
&lt;br /&gt;
var AllConnector = new VF.StaveConnector(VocalSt1, Perc_St1);&lt;br /&gt;
AllConnector.setType(VF.StaveConnector.type.SINGLE);&lt;br /&gt;
AllConnector.setContext(ctx);&lt;br /&gt;
AllConnector.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_notes1_1 = [&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 }),&lt;br /&gt;
  new VF.StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;16&amp;quot;, stem_direction: -1 })&lt;br /&gt;
];&lt;br /&gt;
UniqueIds = getUniqueNoteheadIds(Perc_notes1_1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);&lt;br /&gt;
allUniqueIds = updateAllUniqueIds(UniqueIds);&lt;br /&gt;
&lt;br /&gt;
const Perc_beam1_1_1 = new VF.Beam([Perc_notes1_1[0], Perc_notes1_1[1], Perc_notes1_1[2], Perc_notes1_1[3]]);&lt;br /&gt;
const Perc_beam1_1_2 = new VF.Beam([Perc_notes1_1[4], Perc_notes1_1[5], Perc_notes1_1[6], Perc_notes1_1[7]]);&lt;br /&gt;
const Perc_beam1_1_3 = new VF.Beam([Perc_notes1_1[8], Perc_notes1_1[9], Perc_notes1_1[10], Perc_notes1_1[11]]);&lt;br /&gt;
const Perc_beam1_1_4 = new VF.Beam([Perc_notes1_1[12], Perc_notes1_1[13], Perc_notes1_1[14], Perc_notes1_1[15]]);&lt;br /&gt;
&lt;br /&gt;
var Perc_St1_1Voice = new Vex.Flow.Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
Perc_St1_1Voice.setStrict(true);&lt;br /&gt;
Perc_St1_1Voice.addTickables(Perc_notes1_1);&lt;br /&gt;
&lt;br /&gt;
var formatterPerc_St1_1 = new Vex.Flow.Formatter().joinVoices([Perc_St1_1Voice]);&lt;br /&gt;
//formatterPerc_St1_1.formatToStave([stave17_1Voice], Perc_St1_1);&lt;br /&gt;
formatterPerc_St1_1.format([Perc_St1_1Voice], nStaveWidth - 30);&lt;br /&gt;
Perc_St1_1Voice.draw(ctx, Perc_St1_1);&lt;br /&gt;
&lt;br /&gt;
Perc_beam1_1_1.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_2.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_3.setContext(ctx).draw();&lt;br /&gt;
Perc_beam1_1_4.setContext(ctx).draw();&lt;br /&gt;
&lt;br /&gt;
Perc_note1_1_0.x = Perc_notes1_1[0].getAbsoluteX();&lt;br /&gt;
Perc_note1_1_0.y = Perc_notes1_1[0].getStave().getYForLine(1);&lt;br /&gt;
&lt;br /&gt;
shiftPerc1 = addShift(&lt;br /&gt;
  Perc_notes1_1, &lt;br /&gt;
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],&lt;br /&gt;
  [4, 4, 4, 4, 4, 4, 4, 4, 4, 4,  4,  4,  4,  4,  4,  4]&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
const Perc_St2 = new Stave(Perc_St1.width + Perc_St1.x, Perc_St1.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St2.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St2.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_St3 = new Stave(Perc_St2.width + Perc_St2.x, Perc_St2.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St3.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St3.draw();&lt;br /&gt;
&lt;br /&gt;
const Perc_St4 = new Stave(Perc_St3.width + Perc_St3.x, Perc_St3.y, nStaveWidth).setContext(ctx);&lt;br /&gt;
for (var i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
  if (i == 2) continue;&lt;br /&gt;
  Perc_St4.setConfigForLine(i, {visible: false} );&lt;br /&gt;
}&lt;br /&gt;
Perc_St4.draw();&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
const svgElement2 = document.querySelector('#yonet202403Mid_Output01 svg');&lt;br /&gt;
svgElement2.style.backgroundColor = '#F5F5F5';&lt;br /&gt;
var svgContainer = document.getElementById('yonet202403Mid_Output01');&lt;br /&gt;
var svgElement = svgContainer.querySelector('svg');&lt;br /&gt;
&lt;br /&gt;
var VocalText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Vocal&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;VocalText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Vocal.x,&lt;br /&gt;
    Stave_y: Vocal.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(VocalText_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitarText_options = {&lt;br /&gt;
    textContent: [&amp;quot;E.Guitar1&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitarText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar1Inst.x,&lt;br /&gt;
    Stave_y: Guitar1Inst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitarText_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitarTab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitarTab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Stave9Pos.x,&lt;br /&gt;
    Stave_y: Stave9Pos.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 80,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitarTab_options);&lt;br /&gt;
&lt;br /&gt;
insertTrilPathToSVG(shiftGuitar1_1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_tr_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｔｒ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes4_tr&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_1[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_1[0].y,&lt;br /&gt;
    Stave_x_Offset: 25,&lt;br /&gt;
    Stave_y_Offset: -50,&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_tr_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_option = {&lt;br /&gt;
    textContent: [&amp;quot;０&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;２&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [10, 0, 10, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab1[4].x - 40, y:shiftGuitar1_tab1[4].y + 30}, {x:shiftGuitar1_tab1[4].x - 5, y:shiftGuitar1_tab1[4].y});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab1[4].x - 40, y:shiftGuitar1_tab1[4].y + 30 - 110}, {x:shiftGuitar1_tab1[4].x - 5, y:shiftGuitar1_tab1[4].y - 110});&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_g_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｇ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: -30,&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_g_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes1_g_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｇ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: -30,&lt;br /&gt;
    Stave_y_Offset: 0 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes1_g_option);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_Arpeggio_option = {&lt;br /&gt;
    textContent: [&amp;quot;┌ Ａｒｐｅｇｇｉｏ ──────┐&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_Arpeggio_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes1_Arpeggio_option = {&lt;br /&gt;
    textContent: [&amp;quot;┌ Ａｒｐｅｇｇｉｏ ──────┐&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1_g&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40 - 110 - 20,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab1[4].x, y:shiftGuitar1_tab1[4].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes1_Arpeggio_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes1_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF7C&amp;quot;], // 必須文字列 4和音コード2分音符&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1_ele0&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab1[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab1[0].y,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes1_0_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_option = {&lt;br /&gt;
    textContent: [&amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;９&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;７&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [-30, -40, 0, -10, 0, -10, 0, 0, 10, 0, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab2, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_c_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ．Ｃ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[1].x -30, y:shiftGuitar1_tab2[1].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_c_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes2_c_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ．Ｃ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 0,&lt;br /&gt;
    Stave_y_Offset: -40 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[1].x -30, y:shiftGuitar1_tab2[1].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes2_c_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes2_a_option = {&lt;br /&gt;
    textContent: [&amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;, &amp;quot;．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes2&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, 0, 0, 0, 0, 0],&lt;br /&gt;
    Stave_y_Offset: [-15, -15, -15, -15, 15, 15, 15, 15],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab2[3].x, y:shiftGuitar1_tab2[3].y},&lt;br /&gt;
              {x:shiftGuitar1_tab2[5].x, y:shiftGuitar1_tab2[5].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[6].x, y:shiftGuitar1_tab2[6].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[7].x, y:shiftGuitar1_tab2[7].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[8].x, y:shiftGuitar1_tab2[8].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[10].x, y:shiftGuitar1_tab2[10].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[11].x, y:shiftGuitar1_tab2[11].y}, &lt;br /&gt;
              {x:shiftGuitar1_tab2[12].x, y:shiftGuitar1_tab2[12].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes2_a_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab2[0].x - 20 - 10, y:shiftGuitar1_tab2[0].y + 10}, {x:shiftGuitar1_tab2[0].x, y:shiftGuitar1_tab2[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab2[0].x - 20 - 10, y:shiftGuitar1_tab2[0].y - 40}, {x:shiftGuitar1_tab2[0].x, y:shiftGuitar1_tab2[0].y - 40}, -1);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_option = {&lt;br /&gt;
    textContent: [&amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, 0, 0, 0, 0, 5],&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab3, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_H_P_H_P_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;, &amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_H_P_H_P_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes3_H_P_H_P_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;, &amp;quot;Ｈ&amp;quot;, &amp;quot;Ｐ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y},&lt;br /&gt;
{x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes3_H_P_H_P_option);&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[0].x , y:shiftGuitar1_tab3[0].y + 10}, {x:shiftGuitar1_tab3[1].x + 5, y:shiftGuitar1_tab3[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[1].x , y:shiftGuitar1_tab3[1].y + 10}, {x:shiftGuitar1_tab3[2].x + 5, y:shiftGuitar1_tab3[1].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[2].x , y:shiftGuitar1_tab3[2].y + 10}, {x:shiftGuitar1_tab3[3].x + 5, y:shiftGuitar1_tab3[2].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[3].x , y:shiftGuitar1_tab3[3].y + 10}, {x:shiftGuitar1_tab3[4].x + 5, y:shiftGuitar1_tab3[3].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab3[6].x , y:shiftGuitar1_tab3[6].y + 15}, {x:shiftGuitar1_tab3[6].x + 35, y:shiftGuitar1_tab3[6].y + 15});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes3_7_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF7F&amp;quot;], // 必須文字列 1音2分音符&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3_ele7&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab3[7].x - 7,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab3[7].y,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes3_7_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_option = {&lt;br /&gt;
    textContent: [&amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;５&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;７&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;６&amp;quot;, &amp;quot;４&amp;quot;, &amp;quot;．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes3&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: [0, 0, 0, -20, 0, 0, 0, 0, 0,   0],&lt;br /&gt;
    Stave_y_Offset: [0, 0, 0,   0, 0, 0, 0, 0, 0, -15],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: shiftGuitar1_tab4, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_notes4_P_C_H_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｐ&amp;quot;, &amp;quot;Ｃ&amp;quot;, &amp;quot;Ｈ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab4[1].x + 10 , y:shiftGuitar1_tab4[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[3].x - 20, y:shiftGuitar1_tab4[3].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[6].x , y:shiftGuitar1_tab4[6].y - 60}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_notes4_P_C_H_option);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_st1_notes4_P_C_H_option = {&lt;br /&gt;
    textContent: [&amp;quot;Ｐ&amp;quot;, &amp;quot;Ｃ&amp;quot;, &amp;quot;Ｈ&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_st1_notes1&amp;quot;, // 必須&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 35 - 110,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    fontSize: 50,&lt;br /&gt;
    shift_x: [{x:shiftGuitar1_tab4[1].x + 10 , y:shiftGuitar1_tab4[1].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[3].x - 20, y:shiftGuitar1_tab4[3].y},&lt;br /&gt;
{x:shiftGuitar1_tab4[6].x , y:shiftGuitar1_tab4[6].y - 60}], // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_st1_notes4_P_C_H_option);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[0].x, y:shiftGuitar1_tab4[0].y + 10}, {x:shiftGuitar1_tab4[1].x + 2, y:shiftGuitar1_tab4[0].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[1].x, y:shiftGuitar1_tab4[1].y + 10}, {x:shiftGuitar1_tab4[2].x + 2, y:shiftGuitar1_tab4[1].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[4].x - 15, y:shiftGuitar1_tab4[4].y + 10}, {x:shiftGuitar1_tab4[4].x + 2, y:shiftGuitar1_tab4[4].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[4].x, y:shiftGuitar1_tab4[4].y + 10}, {x:shiftGuitar1_tab4[5].x + 2, y:shiftGuitar1_tab4[4].y + 10});&lt;br /&gt;
&lt;br /&gt;
insertTiePathToSVG({x:shiftGuitar1_tab4[6].x, y:shiftGuitar1_tab4[6].y - 10}, {x:shiftGuitar1_tab4[7].x + 2, y:shiftGuitar1_tab4[6].y - 10}, -1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
insertTrilPathToSVG(shiftGuitar1_tab4_tr);&lt;br /&gt;
&lt;br /&gt;
var Guitar1_tab_notes4_tr_option = {&lt;br /&gt;
    textContent: [&amp;quot;ｔｒ．&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Guitar1_tab_notes4_tr&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: shiftGuitar1_tab4_tr[0].x,&lt;br /&gt;
    Stave_y: shiftGuitar1_tab4_tr[0].y,&lt;br /&gt;
    Stave_x_Offset: 25,&lt;br /&gt;
    Stave_y_Offset: -50,&lt;br /&gt;
    fontSize: 40,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Guitar1_tab_notes4_tr_option);&lt;br /&gt;
&lt;br /&gt;
var EGuitar2Text_options = {&lt;br /&gt;
    textContent: [&amp;quot;E.Guitar2&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitar2Text&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar2Inst.x,&lt;br /&gt;
    Stave_y: Guitar2Inst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitar2Text_options);&lt;br /&gt;
&lt;br /&gt;
var EGuitar2Tab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;EGuitar2Tab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Guitar2Tab1.x,&lt;br /&gt;
    Stave_y: Guitar2Tab1.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 80,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(EGuitar2Tab_options);&lt;br /&gt;
&lt;br /&gt;
var BaseText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Base&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;BaseText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: BaseInst.x,&lt;br /&gt;
    Stave_y: BaseInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(BaseText_options);&lt;br /&gt;
&lt;br /&gt;
var BaseTab_options = {&lt;br /&gt;
    textContent: [&amp;quot;＠&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;BaseTab&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: BaseTab1.x,&lt;br /&gt;
    Stave_y: BaseTab1.y,&lt;br /&gt;
    Stave_x_Offset: 10,&lt;br /&gt;
    Stave_y_Offset: 90,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(BaseTab_options);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase1);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase2);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase3);&lt;br /&gt;
insertBaseEndBarPathToSVG(StaveBase4);&lt;br /&gt;
&lt;br /&gt;
var DrumText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Drum&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;DrumText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: DrumInst.x,&lt;br /&gt;
    Stave_y: DrumInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(DrumText_options);&lt;br /&gt;
&lt;br /&gt;
var PercText_options = {&lt;br /&gt;
    textContent: [&amp;quot;Perc.&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;PercText&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: PercInst.x,&lt;br /&gt;
    Stave_y: PercInst.y,&lt;br /&gt;
    fontFamily: &amp;quot;Arial, sans-serif&amp;quot;,&lt;br /&gt;
    fontSize: &amp;quot;20pt&amp;quot;,&lt;br /&gt;
    Rotate: -90&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(PercText_options);&lt;br /&gt;
&lt;br /&gt;
var note13_2_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF65&amp;quot;, &lt;br /&gt;
                  &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF68&amp;quot;, &amp;quot;\uFF66&amp;quot;, &amp;quot;\uFF67&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF0B&amp;quot;, &amp;quot;\uFF65&amp;quot;, &amp;quot;\uFF0F&amp;quot;], // 必須文字列&lt;br /&gt;
                 //x      ,   half_o,         ,        &amp;gt;,         ,       + ,         ,        o&lt;br /&gt;
    strID: &amp;quot;note13_2_0&amp;quot;, // 必須&lt;br /&gt;
    Stave_y_Offset: [   -5,       -5,       -5,       -5,&lt;br /&gt;
                        -5,      -60,       -5,      -60,       -5,      -60,       -5,      -60],&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: shiftDrum1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(note13_2_0_option);&lt;br /&gt;
&lt;br /&gt;
var Perc_notes1_1_0_Shaker_option = {&lt;br /&gt;
    textContent: [&amp;quot;＜ Ｓｈａｋｅｒ ＞&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Perc_notes1_1_0_shaker&amp;quot;, // 必須&lt;br /&gt;
    Stave_x: Perc_note1_1_0.x,&lt;br /&gt;
    Stave_y: Perc_note1_1_0.y,&lt;br /&gt;
    Stave_x_Offset: -20,&lt;br /&gt;
    Stave_y_Offset: 0,&lt;br /&gt;
    fontSize: 60,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: [0] // xのオフセット値配列&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Perc_notes1_1_0_Shaker_option);&lt;br /&gt;
&lt;br /&gt;
var Perc_notes1_1_0_option = {&lt;br /&gt;
    textContent: [&amp;quot;\uFF69&amp;quot;], // 必須文字列&lt;br /&gt;
    strID: &amp;quot;Perc_notes1_1_0&amp;quot;, // 必須&lt;br /&gt;
    Stave_y_Offset: -5,&lt;br /&gt;
    fontFamily: &amp;quot;YonetMuFL, Arial&amp;quot;, // オプション、デフォルトは&amp;quot;Bravura, Arial&amp;quot;&lt;br /&gt;
    shift_x: shiftPerc1, // xのオフセット値配列&lt;br /&gt;
    IsOffset_x_Abs: true&lt;br /&gt;
};&lt;br /&gt;
insertTextToSVG(Perc_notes1_1_0_option);&lt;br /&gt;
&lt;br /&gt;
if(allUniqueIds !== &amp;quot;undefined&amp;quot;){&lt;br /&gt;
// 透明にするIDの配列&lt;br /&gt;
// 例としてここでIDを指定&lt;br /&gt;
let autoUniqueIds = allUniqueIds.map(id =&amp;gt; &amp;quot;vf-&amp;quot; + id);&lt;br /&gt;
&lt;br /&gt;
// 各IDに対して処理&lt;br /&gt;
  autoUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
    // 該当するIDの要素を取得&lt;br /&gt;
    let element = svgElement.getElementById(id);&lt;br /&gt;
    if (element) {&lt;br /&gt;
      // 該当する要素があれば、描画内容を透明にする&lt;br /&gt;
      let paths = element.querySelectorAll(&amp;quot;path&amp;quot;);&lt;br /&gt;
      paths.forEach(path =&amp;gt; {&lt;br /&gt;
          var dAttribute = path.getAttribute('d');&lt;br /&gt;
          // カンマで区切られた数値の数を数えます&lt;br /&gt;
          var numberOfValues = (dAttribute.match(/,/g) || []).length + 1; // カンマの数 + 1 = 数値の数&lt;br /&gt;
&lt;br /&gt;
          if (numberOfValues === 9) {&lt;br /&gt;
            var firstCoord = dAttribute.split(',')[0];&lt;br /&gt;
            if (dAttribute.startsWith('M')) {&lt;br /&gt;
              var CnumberOfValues = (dAttribute.match(/C/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
              var LnumberOfValues = (dAttribute.match(/L/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
                // 座標の差を計算します&lt;br /&gt;
              if(CnumberOfValues &amp;gt; 0){&lt;br /&gt;
                var coords = dAttribute.match(/[-+]?[0-9]*\.?[0-9]+/g).map(parseFloat);&lt;br /&gt;
                var xdiff = coords[0] - coords[2]; // xの差を計算&lt;br /&gt;
                var ydiff = coords[1] - coords[3]; // yの差を計算&lt;br /&gt;
&lt;br /&gt;
                // xが0でyが0より大きい場合、描画内容を透明にします&lt;br /&gt;
                if (xdiff &amp;lt;= -3.590) {&lt;br /&gt;
                if (xdiff &amp;gt;= -3.599) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                if (xdiff &amp;lt;= -2.369) {&lt;br /&gt;
                if (xdiff &amp;gt;= -2.374) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                if (xdiff &amp;lt;= 1.000) {&lt;br /&gt;
                if (xdiff &amp;gt;= -1.000) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
                else {&lt;br /&gt;
                  if(ydiff === 1.123){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else if (numberOfValues === 1) {&lt;br /&gt;
            var firstCoord = dAttribute;&lt;br /&gt;
            if (dAttribute.startsWith('M')) {&lt;br /&gt;
              var LnumberOfValues = (dAttribute.match(/L/g) || []).length; // カンマの数 + 1 = 数値の数&lt;br /&gt;
                // 座標の差を計算します&lt;br /&gt;
              if(LnumberOfValues &amp;gt; 0){&lt;br /&gt;
                var coords = dAttribute.match(/[-+]?[0-9]*\.?[0-9]+/g).map(parseFloat);&lt;br /&gt;
                var xdiff = coords[0] - coords[2]; // xの差を計算&lt;br /&gt;
                var ydiff = coords[1] - coords[3]; // yの差を計算&lt;br /&gt;
&lt;br /&gt;
                // xが0でyが0より大きい場合、描画内容を透明にします&lt;br /&gt;
                if (xdiff &amp;lt; -10) {&lt;br /&gt;
                if (xdiff &amp;gt; -18) {&lt;br /&gt;
                  if(ydiff === 0){&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                }&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else if (numberOfValues === 21 || numberOfValues === 35 || numberOfValues === 95 || numberOfValues === 41) {&lt;br /&gt;
                    path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
                    path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(allFlagUniqueIds !== &amp;quot;undefined&amp;quot;){&lt;br /&gt;
  let autoFlagUniqueIds = allFlagUniqueIds.map(id =&amp;gt; &amp;quot;vf-&amp;quot; + id);&lt;br /&gt;
  autoFlagUniqueIds.forEach(id =&amp;gt; {&lt;br /&gt;
    // 該当するIDの要素を取得&lt;br /&gt;
    let element = svgElement.getElementById(id);&lt;br /&gt;
    if (element) {&lt;br /&gt;
      // 該当する要素があれば、描画内容を透明にする&lt;br /&gt;
      let flagpaths = element.querySelectorAll('path');&lt;br /&gt;
      flagpaths.forEach(path =&amp;gt; {&lt;br /&gt;
        var dAttribute = path.getAttribute('d');&lt;br /&gt;
        // カンマで区切られた数値の数を数えます&lt;br /&gt;
        var numberOfValues = (dAttribute.match(/,/g) || []).length + 1; // カンマの数 + 1 = 数値の数&lt;br /&gt;
&lt;br /&gt;
        // 数値の数が23であれば、このpath要素は求めるものです&lt;br /&gt;
        if (numberOfValues === 23) {&lt;br /&gt;
          path.setAttribute(&amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
          path.setAttribute(&amp;quot;stroke&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
})();&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜''' ===&lt;br /&gt;
　五線譜を描いてみます。目安になる線を引きました。左上の角の頂点が(x, y)対応で(1, 1)、そこから時計回りに(499, 1)→(499, 199)→(410, 100)→(10, 40)という線です。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のとおり。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//2023-09Mid:&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
//2024-03Mid:Version&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.2.2/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div = document.getElementById('output');&lt;br /&gt;
const renderer = new Renderer(div, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer.resize(500, 200);&lt;br /&gt;
const context = renderer.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave.addClef('treble').addTimeSignature('C');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave.setContext(context).draw();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　最初に、div に 出力するタグを取得する。ここでは &amp;amp;lt;div id=&amp;quot;output&amp;quot;&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt; のタグ全体要素を取得している。次にnew Renderer(div, Renderer.Backends.SVG); でSVGでの描画処理をしてくれるようになります。他にもRenderer.Backends.CANVASという指定もできます。自分はSVGバージョンが好みです。なんか問題報告が少ない。CANVASはスケールサイズ表示がおかしいとか言ってる人もいます。renderer.resize(500, 200); は描画エリアのサイズを指定しています。そして、この描画エリアに五線譜のオブジェクトとして構築した stave を配置します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　New Stave(10, 40, 400)で、描画エリアの x = 10, y = 40の位置に幅 400 の五線譜を描きます。(410, 100)の頂点位置をみればわかりますが、きっちり 10+400 の大きさになっています。五線譜の真ん中の第三線が中央になっており縦 200 が 1 行にちょうど良いようです。楽譜部分の表示スケールを変更して小さくする予定なので、その時にまた、描画領域について考えてみたいと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　stave.addClef('treble').addTimeSignature('4/4'); で treble ト音記号 4/4 つまり4分の4拍子という五線譜になります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　自分は、持っているPCが12型で1920x1280を使っていますので、表示倍率を150%にしています。その関係で、実質は横サイズが1920の66%で、横は1280pxと変わらない表示領域です。したがって、Wikiの横幅も最大にして、1000pxくらいがちょうどいい限界の大きさです。しかし、そのサイズでは、4小節くらいを1行にするには楽譜が大きすぎるので、もうちょっと小さくしないといけないなとは思っていますが、その処理も、もうちょっと後でやるとします。続けて、実際の音符を配置してみます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　拍子記号は以下のようなものが使えます。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;C&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cを表示（4/4拍子）&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;C|&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Cの横中央に縦棒を表示（2/2拍子）&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n1/n2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n2 分の n1 拍子&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置''' ===&lt;br /&gt;
　目安になる線を引きました。左上の角の頂点が(x, y)対応で(1, 1)、そこから時計回りに(499, 1)→(499, 199)→(360, 100)です。&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
スクリプトは以下のようなものです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Formatter&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const div2 = document.getElementById('output2');&lt;br /&gt;
const renderer2 = new Renderer(div2, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer2.resize(500, 200);&lt;br /&gt;
const context2 = renderer2.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave2 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave2.addClef('treble').addTimeSignature('C|');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave2.setContext(context2).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes2 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voice2 = new Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
voice2.addTickables(notes2);&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices([voice2]).format([voice2], 350);&lt;br /&gt;
&lt;br /&gt;
// Render voice&lt;br /&gt;
voice2.draw(context2, stave2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　変数名が最初の楽譜とダブるところは数字を付けました。一番最初の  StaveNote, Voice, Formatterの部分は最初のと共通なので書き換えが必要です。あとの部分で2重で定義してもダメです。最初のがエラーになって、致命的エラーで何も描画処理がされなくなります。コード全体としては、音符を付ける部分は、五線譜に付け足すので、すべて、最初のコードより後ろに付け足す感じです。const notes2 以降が付け足した部分です。ここまで書いて言えるのは VexFlow はプログラミングに近いです。音楽や楽譜しか知らない人が、この方式で楽譜を描くのは難しいと感じると思います。ABC記述方式のモノが好まれる理由が少しわかります。ただVexflowの方が複雑な記述であるゆえに、複雑な楽譜が書ける言えるのかもしれない。まるで配列の中にひとつづつの音符を生成している感じで、ひとつの音符ごとに区切って new StaveNote() 関数に引数としてオブジェクト値(自分はこれをPerlの連想配列と似ているので連想配列とちょくちょく呼んでいます)を指定しています。プロパティ名にkeys: とduration: が指定されます。プロパティ名であることがわかりやすいように:までつけていますが名前自体は keys と duration です。keys プロパティ名に対応するものとして、配列が指定されるようです。値が一つしかなくてもです。そこに音の高さ相当する値、音階名と段階番号を付けます。実音記号のA(ラ), B(シ), C(ド), D(レ), E(ミ), F(ファ), G(ソ)に対応していて、/ で区切って段階の番号を付与します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ピアノと同じで88音の下から1, 2, … , 10, 11 まであります。ピアノ譜のト音記号の五線譜に下に一つ補助線を付けたドが C/4 に相当します。通常、ト音記号の五線譜には E/3 が最低音、 最高の音しても G/6 までくらいを使います。C/6 から 上の音での演奏が続くときは オクターブ記号を使って、その下に描くことがあります。ギターも同じです。ギターは4オクターブしかありません。が一番上の音付近を使うときは、オクターブ記号を置いて、一段階下げて表記します。どの楽器もピアノの88鍵盤には負けます。ギターの一番低い音でもE/3です。クラリネットの音域もギターに似ていますが、最高音はギターよりも狭い範囲が一般的です。最高音のあたりはかなりうまい人だと出せなくはない音ですが狙うのはスゴイ難しいです。ベースとピアノの最低音あたりはヘ音記号の五線譜に書かれることが普通です。ピアノはト音記号とヘ音記号の二つ同時に使うこともあります。音域やばいっす。バイオリンあたりはテノール記号(ハ音記号)というト音記号でもヘ音記号でもないものを使う場合があります。この3種類しかないと思います。あとは変則の五線譜として、通常の位置とは異なる部分に、記号を配置する手法があります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　durationの値には文字列が設定されて、 q が四分音符、h が2分音符、w が全音符を表します。8, 16, 32, 64 がそれぞれ8分音符、 16分音符、 32分音符、64分音符に対応しますが、連符もありますので、ひとことで言えるほど簡単ではないです。後ろに r をつけると休符になります。rest の r だそうです。 voice2.draw(context2, stave2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　このようにして作った notes2 を Voiceという単位に格納するため new Voice({ num_beats: 4, beat_value: 4 }); でプロパティ名 num_beats と beat_value を持ったオブジェクトを引数にしています。ともに 4 拍子の中に 4つの拍子をもった音だと定義されていて、その中に、notes2 を取り込むべく、voice2.addTickables(notes2); としています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　そして、これらを400pxの五線譜の中に納まるように、new Formatter().joinVoices([voice2]).format([voice2], 350); としています。x = 350のところに最後の音符が収まっていることも確認できます。このように処理した voice2 を context2 の描画領域に stave2 の 五線譜に描画します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　duration に設定できる値は以下のようなものです。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 400px; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;w&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;全音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;h&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;q&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;4分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32分音符&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 2Voices''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Formatter&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div3 = document.getElementById('output3');&lt;br /&gt;
const renderer3 = new Renderer(div3, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer3.resize(500, 200);&lt;br /&gt;
const context3 = renderer3.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave3 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave3.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave3.setContext(context3).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes3 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes32 = [new StaveNote({&lt;br /&gt;
  keys: ['c/4'],&lt;br /&gt;
  duration: 'w'&lt;br /&gt;
})];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voices3 = [&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes3),&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes32),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices(voices3).format(voices3, 350);&lt;br /&gt;
&lt;br /&gt;
// Render voices.&lt;br /&gt;
voices3.forEach(function(v) {&lt;br /&gt;
  v.draw(context3, stave3);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　和音を除いて、通常、一人では演奏できないような記譜法を2Voicesと呼んでいます。和音を引けない楽器ならそれだけで2Voices 3Voicesとも言えますが、この例のように1小節の中を休符と音符とで分かち合うのを1Voiceとした考え方を保有する記譜の場合は、特別な記述が必要です。別の音という意味付けになります。スコア譜なんかではよく2Voiceや3Voiceの記述が入ります。アレンジするうえで、音を足していくことはよくあるためです。ただしスコア譜では、一小節を短くして |1Voice(2Voice)|のように記譜している方式もよくあります。パートを増やせばいいじゃんと思いますが、限られたスペースにちょっとした音のためだけにパートを増やすことは通常は、実施しません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　const notes32の部分の定義のように、音符の定義を別で実施します。Voiceを生成するときに、2つの音符をまとめるときに配列に個別のオブジェクトとして定義します。そして作られた配列2の大きさのVoiceをFormatter関数を呼び出して、そのメンバ関数 joinVoices で結合します。joinVoices 関数は返り値が formatter 形式で .format も Formatter のメンバ関数です。そして 350px の中に描画するようになります。そして、2要素の配列の Voices それぞれを繰り返し処理によって、引数の描画エリア context3 五線譜 stave3 に音符を配置して描画します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 付点臨時記号''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div4 = document.getElementById('output4');&lt;br /&gt;
const renderer4 = new Renderer(div4, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer4.resize(500, 200);&lt;br /&gt;
const context4 = renderer4.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave4 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave4.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave4.setContext(context4).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes4 = [&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c##/5'],&lt;br /&gt;
    duration: '8d'&lt;br /&gt;
  }).addModifier(new Accidental('##'))),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['db/4'],&lt;br /&gt;
    duration: '16'&lt;br /&gt;
  }).addModifier(new Accidental('b')),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['b/4', 'd/5', 'f/5'],&lt;br /&gt;
    duration: 'h'&lt;br /&gt;
  }).addModifier(new Accidental('#'),0),[0, 2]),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: '8'&lt;br /&gt;
  })),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context4, stave4, notes4);&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　付点を付けるにはDot.buildAndAttach([ staveNoteオブジェクト ], { index: 数値 }) といった関数を実行する必要があります。例では何度も呼び出すのが面倒なので、ユーザ関数を定義しています。公式では、特定のひとつの音符にしか、付点をつけることができないユーザ関数になっていたので、引数に数値単独の値を付与するところに、数値配列に、何番目の音符に付点をつけるかを指定するようなものに変更しています。Formatter.FormatAndDraw(context4, stave4, notes4); だけでも五線譜に音符を描画できるという便利な一面も紹介してくれています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　臨時記号をつける処理をしているが、keys: ['c##/5']のように指定しても描画には反映されない。描画に影響しているのは、.addModifier(new Accidental('#'), 0) という部分です。一つ目の引数で Accidental オブジェクトのコンストラクタ引数に臨時記号の種類を与えています。##が二重シャープ。#がシャープ。bがフラット。bbが二重フラットです。今回は使いませんでしたが、ナチュラルはnです。.addModifier の2つめの引数はコードになっているときの、何番目の音に適用するかを指定しています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　改めてまとめると、臨時記号の種類は以下のようになっています。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;n&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ナチュラル&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;#&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;シャープ(半音上げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;##&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ダブルシャープ(半音2回上げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;b&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;フラット(半音下げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;bb&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ダブルフラット(半音2回下げる)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　Dot.…によって付点をつけるだけで、長さに不整合が起こっても記譜に問題は起こりません。どちらかというと一小節の中に納まるように配置されるかは、durationの組み合わせのほうが重要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今回はト音記号 treble からヘ音記号 bass に変えました。他にも以下のような記号があります。&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; text-align: left; border-collapse: collapse; border-spacing: 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #778ca3; border-right: solid 1px #778ca3; color: #ffffff;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th style=&amp;quot;width: 200px;&amp;quot;&amp;gt;シーケンス&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;意味&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;treble&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ト音記号 &amp;amp;#x1D11E;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;bass&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号 &amp;amp;#x1D122;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;alto&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(アルト) &amp;amp;#x1D121;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;percussion&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;打楽器記号&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;tenor&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(テナー) &amp;amp;#x1D121;一つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;soprano&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(ソプラノ) &amp;amp;#x1D121;二つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;mezzo-soprano&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(メゾソプラノ) &amp;amp;#x1D121;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;baritone-c&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ハ音記号(バリトン) &amp;amp;#x1D121;二つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;baritone-f&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号(バリトン) &amp;amp;#x1D122;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot; background: #dddddd;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;subbass&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ヘ音記号(サブバス) &amp;amp;#x1D122;一つ上にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;french&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;ト音記号(フレンチ) &amp;amp;#x1D11E;一つ下にシフト&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 連桁(れんこう)・ビーム・梁  new Beam()による方法''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div5 = document.getElementById('output5');&lt;br /&gt;
const renderer5 = new Renderer(div5, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer5.resize(500, 200);&lt;br /&gt;
const context5 = renderer5.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave5 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave5.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave5.setContext(context5).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes51 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes52 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes53 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;a/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes54 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54);&lt;br /&gt;
&lt;br /&gt;
// Create the beams for the first three groups.&lt;br /&gt;
// This hides the normal stems and flags.&lt;br /&gt;
const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context5, stave5, allNotes5);&lt;br /&gt;
&lt;br /&gt;
// Draw the beams and stems.&lt;br /&gt;
beams5.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context5).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　音符の旗を描画せずにつなぐのを連桁といいます。表紙のひと固まりを繋ぎ演奏しやすいような表記にしています。8分音符の場合4つをつないで、2分音符のかたまりにしたりもします。例の楽譜では3拍目が16分音符で四分音符1つ分のひとかたまりになっています。16分音符の3つ目が32分なっています。キッチリ演奏しようとすると32分はめちゃくちゃ短いのでアタックからの立ち上がりが早い楽器でかつ技術力が要求される奏法になってきます。そんな演奏面の話はどうでもよいでしょうか。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　連桁は、Beam というシーケンスによって描画されます。Notesを連桁にしたい塊でひとつになるように作ると、const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];という記法によって、連桁のかたまりごとに配列にすることができます。このそれぞれの要素について関数、new Beam(notes51).setContext(context5).draw();のような操作によって蓮桁の描画準備がされます。小節の全体は const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54); のように結合されたものを.FormatAndDraw(context5, stave5, allNotes5);のようにして描画されます。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 連桁(れんこう)・ビーム・梁  Beam.generateBeams()による方法''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div6 = document.getElementById(&amp;quot;output6&amp;quot;);&lt;br /&gt;
const renderer6 = new Renderer(div6, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer6.resize(500, 500);&lt;br /&gt;
const context6 = renderer6.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave6 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave6.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave6.setContext(context6).draw();&lt;br /&gt;
&lt;br /&gt;
const notes6 = [&lt;br /&gt;
    dotted(new StaveNote({ keys: [&amp;quot;e##/5&amp;quot;], duration: &amp;quot;8d&amp;quot; }).addModifier(new Accidental(&amp;quot;##&amp;quot;))),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams6 = Beam.generateBeams(notes6);&lt;br /&gt;
Formatter.FormatAndDraw(context6, stave6, notes6);&lt;br /&gt;
beams6.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context6).draw();&lt;br /&gt;
});&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　notesで一小節分をまとめて定義した後、const beams6 = Beam.generateBeams(notes6); とするだけです。自動なので、思い通りになっていない可能性もありますが、8分音符4つは最大で二分音符にそれ以下は四分音符単位で連桁してくれるようです。連桁に含まれるので、ここまでの知識では連符には対応できないです。3連とか5/6/7/9/10/11/12…連とかは違う表記が必要です。また別の項目で確認するつもりなので、それまでは我慢です。自分もまだ知らないし。知らんけどじゃないし。本当に知らないし。本当に知らんけど。なんだけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　連符って演奏上においては最難関だね。3連でも、2分三連はさらにムズイ。2分三連くらいの長さになると、適当だとさすがにだめだし、あってないことを多い。ビート分割して、感じないとね。2分三連の中抜きみたいに1個あるいは2個だけ鳴らすとか、ありえないくらいむずかしい。心で刻むのつらいな。演奏家としては向いてないんだろうな。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''五線譜に音符を配置 タイ''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output7&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output7&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div7 = document.getElementById(&amp;quot;output7&amp;quot;);&lt;br /&gt;
const renderer7 = new Renderer(div7, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer7.resize(500, 200);&lt;br /&gt;
const context7 = renderer7.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave7 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave7.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave7.setContext(context7).draw();&lt;br /&gt;
&lt;br /&gt;
const notes7 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams7 = Beam.generateBeams(notes7);&lt;br /&gt;
Formatter.FormatAndDraw(context7, stave7, notes7);&lt;br /&gt;
beams7.forEach(function (b) {&lt;br /&gt;
    b.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const ties7 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[4],&lt;br /&gt;
        last_note: notes7[5],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[5],&lt;br /&gt;
        last_note: notes7[6],&lt;br /&gt;
        first_indices: [1],&lt;br /&gt;
        last_indices: [1],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
ties7.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
//********前の記譜と共通の関数です。2重定義しないように注意******&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
//********ここまで&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　タイは、notes に対してconst ties7 = [ new StaveTie({ first_note: notes7[4], last_note: notes7[5], first_indices: [0],        last_indices: [0],}) ] という具合に StaveTie() の引数にオブジェクトを定義していて、主に4つのプロパティを設定します。first_noteがタイの始まり、last_noteがタイの終わりの音符です。和音を構成していない場合は必ず 0 ですが、first_indicesとlast_indicesにどの和音に対してタイを描画するかを指定しています。高さの異なる音に対して指定した場合はスラーになりそうですが、本当にそうなるかどうか確かめてみました。そしたら、やっぱりスラーと同じ役割になりそうでした。ついでに和音に2番目の音、配列番号1番に対してタイを描画する例は最後のA/3に対しての描画が参考になるでしょう。スラーについて言及したドキュメントもありそうなので、はっきりしたことはそれを確かめてみてからですね。何か不都合があるかもしれないし。タイでスラーを描画するのはね。どうなんだろうね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　あー。いっけん大丈夫そうだけど、駄目だ。スラーは旗の根元からとか自由に描くこともありました。タイは音符で接続するだけで大丈夫な法則があったんですね。なるほど。気が付かなかった。やるなVexFlow。楽譜をじっくり眺めないと気付かないことだな。どうやらslurというキーワードではなく、その柔軟さを必要とするため、curveという名前で実現しているっぽい。またその時がきたら説明できると思います。VexFlow作者も大変だな。かなり完璧だけど、できないこともあるんだろうね。ここまで網羅されていると、できないことがあってもしゃーねぇな。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ここまで書いて思ったんだけど、(function(){ コード記述部 })();の中に書けば、変数を名前空間で分け隔てることができるんじゃねと思えてきた。変数に番号とかつけてるのってカッコ悪いのかな。次の記事で試してみよう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''タブ譜''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output8&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output8&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie,&lt;br /&gt;
  TabStave, &lt;br /&gt;
  TabNote, &lt;br /&gt;
  Bend, &lt;br /&gt;
  Vibrato&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div8 = document.getElementById(&amp;quot;output8&amp;quot;);&lt;br /&gt;
const renderer8 = new Renderer(div8, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer8.resize(500, 300);&lt;br /&gt;
const context8 = renderer8.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a tab stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave8 = new TabStave(10, 40, 400);&lt;br /&gt;
stave8.addClef(&amp;quot;tab&amp;quot;).setContext(context8).draw();&lt;br /&gt;
&lt;br /&gt;
const notes8 = [&lt;br /&gt;
    // A single note&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 3, fret: 7 }],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
&lt;br /&gt;
    // A chord with the note on the 3rd string bent&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [&lt;br /&gt;
            { str: 2, fret: 10 },&lt;br /&gt;
            { str: 3, fret: 9 },&lt;br /&gt;
        ],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }).addModifier(new Bend(&amp;quot;Full&amp;quot;), 1),&lt;br /&gt;
&lt;br /&gt;
    // A single note with a harsh vibrato&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 2, fret: 5 }],&lt;br /&gt;
        duration: &amp;quot;h&amp;quot;,&lt;br /&gt;
    }).addModifier(new Vibrato().setHarsh(true).setVibratoWidth(70), 0),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context8, stave8, notes8);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　タブの文字フォントが公式の例と違うな。淋しい。どれが何音符かわからないダサい。2分音符には〇と棒が、全音符には〇が、四分音符いかにも旗は必要だと思う。あとタブは指番号だけでなくフレットの一部抜粋でコードの図が記入できた方がいいんじゃね。あとこんな大げさなFullとかいうチョーキングってダサくない。W.C と Cho. または C やH.Cでいいよ。あと数字は手書きフォントのがいいね。総じていえばシンコーミュージックがやっぱさえてると思う。シンコーミュージックのは綺麗なスコアだけど内容がダメダメっていうね。何かしらデメリットあるわ。どの立場から言ってるのかとお思いでしょうけど。なんでスコア譜ってあんなにダメダメなんだろうね。お金出して買ってる人もいるのに。ここに。耳コピができないというややる気もない子がここにいるのに。スコア譜命なんだけど。Youtubeのスコア出してる神レベルの人だけが最強だとおもう。あれは弾いていて本当に楽だし、現実的な運指になってるし、弾き心地最高。ロックを感じれる。時代が味方してくれている。あとは市販のスコア譜がもっと魂のはいったものになってほしい。弾きにくいとこをちょっと考えるくらいは自分でできるけど、なんか違うんだよなが解決できない。何が違うんだろうな。差分を埋め合わせる技術力が付かない。悲しい。という愚痴。あと音作りもよくわからないんだよな。でかい音出して練習できないからな。あと、ずっとヘッドフォンでやってると耳おかしくなるから生音だけで練習する時間も結構あって、あれはあれで淋しい。運指の練習にはなるけど、最後の弾き方の練習はやっぱヘッドフォンでやるしかなくて、結局、いい音作りできなくて、折れるということを繰り返してる。悔しいな。小さい才能の引き出し方がまったくわからないから、全く開花しないのな。もんくばっかりしか思いつかないもん。やだよな。こんな志向の奴の音楽なんて聴きたくないよな。わかるよ。だから、部屋にこもってめいわくかけないくらいのことしか思いつかない。つまんない。結局そこに落ち着く。つまんない。でも音楽もクラリネットもギターも大好き！これだけは譲れない。でも、どうすんのコレって感じだね。ハハハ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　何が変わったかっていうと、Stave が TabStaveに変わった。Notes が TabNote に、Keysが positions になって、[{ str: 3, fret: 7 }] っていう指定に変わった。str が弦番号ね。1弦が細い方、6弦が太い方。なので、弦番号の数字の小ささ大きさが弦の幅に'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;比例&amp;lt;/span&amp;gt;'''していると覚えておきましょう。そしたら、どっちが1弦だっけ問題はなくなるね。fret がタブ譜に書かれる数字そのもの、あとでこれを手書き調のフォントに変える方法を考えてみたいと思います。あとは数字を〇で囲ったりできるんかな。無理かな。旗つけたり。やえもするとフレット図いれたり。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　音符の装飾は、addModifier()で同じなんだけど、臨時記号の#のようなAccidentalではなく、new Bend(&amp;quot;Full&amp;quot;), 1のような指定でチョーキング。new Vibrato().setHarsh(true).setVibratoWidth(70) で、長さ70のビブラート。setHarsh(true)でカクカクのビブラート。falseなら丸みを帯びた波線です。falseのほうが好きだな。Harshはヒドイとかっていう意味だそうで荒々しくをON OFFみたいな感じですね。その他についてはまた後ほどですね。ビブラートは通常の楽譜でも描画できるべきなので、五線譜の方でもできるかためしておきますか。いや、試してみたら簡単にはいかないな。同じではないのだな。五線譜上に表示させるのはまた考えないとだめですね。なんか方法はありそう。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''小節線''' ===&lt;br /&gt;
&amp;lt;div id=&amp;quot;output9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　スクリプトは以下のようなものです。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
//******************ここから複数の楽譜表示における共通のスクリプト**&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Stave, &lt;br /&gt;
  StaveNote, &lt;br /&gt;
  Beam, &lt;br /&gt;
  Formatter, &lt;br /&gt;
  Renderer&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
//******************ここまで共通**&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div9 = document.getElementById(&amp;quot;output9&amp;quot;);&lt;br /&gt;
const renderer9 = new Renderer(div9, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer9.resize(890, 130);&lt;br /&gt;
const context9 = renderer9.getContext();&lt;br /&gt;
&lt;br /&gt;
// Measure 1&lt;br /&gt;
const staveMeasure91 = new Stave(10, 0, 470);&lt;br /&gt;
//staveMeasure91.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;).setContext(context9).draw();&lt;br /&gt;
staveMeasure91.addClef(&amp;quot;treble&amp;quot;);&lt;br /&gt;
staveMeasure91.addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
staveMeasure91.setContext(context9).draw();&lt;br /&gt;
&lt;br /&gt;
const notesMeasure91 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;qr&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;q&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Helper function to justify and draw a 4/4 voice&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure91, notesMeasure91);&lt;br /&gt;
&lt;br /&gt;
// Measure 2 - second measure is placed adjacent to first measure.&lt;br /&gt;
const staveMeasure92 = new Stave(staveMeasure91.width + staveMeasure91.x, 0, 400);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part2 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create the beams for 8th notes in second measure.&lt;br /&gt;
const beam91 = new Beam(notesMeasure92_part1);&lt;br /&gt;
const beam92 = new Beam(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
staveMeasure92.setContext(context9).draw();&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure92, notesMeasure92);&lt;br /&gt;
&lt;br /&gt;
// Render beams&lt;br /&gt;
beam91.setContext(context9).draw();&lt;br /&gt;
beam92.setContext(context9).draw();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2小節の楽譜にしました。まずは描画エリアを広くしないといけないので、横890にしました。1小節目は470。2小節目を400としてみました。記譜する内容はもっとも短い部分で8分音符なので、1小節あたり400は余裕があります。1小節目にはト音記号と拍子記号をおくので70ほど大きくします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　したがって、const staveMeasure91 = new Stave(10, 0, 470); が1小節目。2小節目の始まりは10ではないので、staveMeasure91.width + staveMeasure91.xとして、const staveMeasure92 = new Stave(470 + 10, 0, 400); という内容で作られます。staveMeasure91.width が 470 で、staveMeasure91.width が 10 です。細かい計算があっていないと乱れるってことだな。abcjsとかはこんなこと気にしなくても自動で小節線が引かれますそのかわり、今回のように余裕を持っていひくとかバランスよくするとか、細かい指示は自動ではできません。結局、VexFlowくらい細かい指示をしないと思い通りにはならないですね。描く人の気持ちを込めれるのがVexFlowだな。AI？まだまだ無理だな。はやくAIに楽譜を描かせればいいのに。MIDI情報だけで完璧に描けるようになるんじゃね。シンコーミュージックファンなので、シンコーの楽譜で学習した奴がいいな。シンコーミュージックに潜入してどうやって描画してるのか見てみたいくらいだよ。入社したいわー。1年くらいかな。コピー譜つくる才能が無くて放り出されそうだけど。編集作業の一員くらいならやれるでしょ。コピする人の下で働くみたいなね。そんな奴いらんか。しかも1年とかなめたこといってるやつ採用するわけねぇな。シンコーミュージックは好きなんだけどな。間違ってますねコレとか偉そうにギター弾きながらコピしているひとにグサグサいってみたりね。すぐ解雇だな。どんだけシンコー好きやねんって感じだね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２小節目は8分音符四つを繰り返すので、notesMeasure92_part1とpart2を作ってますね。全く同じだから、notesMeasure92_part1.concat(notesMeasure92_part1);で繰り返せないのかな。だめか無限ループみたいになるわな。手前でコピーだから const notesMeasure92_part2 = notesMeasure92_part1;ってすれば、省略できんのかもな。やってみるか。はい。ダメでしたー。意味わからん。できそうなのにできない。なんか違うんだな。8分音符を4つのやつどうしを繋ぐときは、const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2); とします。これは前までにやった 4つのNotesを繋ぐときに使ったときと同じことです。自動でやる方法なら notesMeasure92_part1 とか2つ作らず1つに8音まとめてから、const beam9 = Beam.generateBeams(notesMeasure92)とかだな。そんな感じで2小節は足し算が必要になるという地味な方法でした。横には4小節くらいを描くのがせいぜいなので普通はそれほど複雑にはならないでしょうね。ページとか縦という概念を覚えないといけないのでしょう。ページは描画領域を分けるのでしょう。タブレット端末とかを楽譜にして演奏する目的なら横に8小節くらいとかで、縦にふやしていく感じのパート譜を作れば便利そうだね。改行部分を柔軟に設定するのはできないな。柔軟にしようとしたら、これまたJavaScriptで自力で制御するんでしょう。そこまでやれる人いたら、使いこなしが凄そうだな。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[VexFlow 使い方]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const {&lt;br /&gt;
  Renderer,&lt;br /&gt;
  Stave,&lt;br /&gt;
  StaveNote,&lt;br /&gt;
  Voice,&lt;br /&gt;
  Accidental,&lt;br /&gt;
  Beam,&lt;br /&gt;
  Formatter,&lt;br /&gt;
  Dot,&lt;br /&gt;
  StaveTie&lt;br /&gt;
} = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div = document.getElementById('output');&lt;br /&gt;
const renderer = new Renderer(div, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer.resize(500, 200);&lt;br /&gt;
const context = renderer.getContext();&lt;br /&gt;
&lt;br /&gt;
context.beginPath(); // start recording our pen's moves.&lt;br /&gt;
context.moveTo(0, 0);&lt;br /&gt;
context.lineTo(499, 0);&lt;br /&gt;
context.lineTo(499, 199);&lt;br /&gt;
context.lineTo(410, 100);&lt;br /&gt;
context.lineTo(10, 40);&lt;br /&gt;
context.closePath();&lt;br /&gt;
context.stroke();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave.addClef('treble').addTimeSignature('C');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave.setContext(context).draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div2 = document.getElementById('output2');&lt;br /&gt;
const renderer2 = new Renderer(div2, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer2.resize(500, 200);&lt;br /&gt;
const context2 = renderer2.getContext();&lt;br /&gt;
&lt;br /&gt;
context2.beginPath(); // start recording our pen's moves.&lt;br /&gt;
context2.moveTo(0, 0);&lt;br /&gt;
context2.lineTo(499, 0);&lt;br /&gt;
context2.lineTo(499, 199);&lt;br /&gt;
context2.lineTo(360, 100);&lt;br /&gt;
context2.closePath();&lt;br /&gt;
context2.stroke();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave2 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave2.addClef('treble').addTimeSignature('C|');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave2.setContext(context2).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes2 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voice2 = new Voice({ num_beats: 4, beat_value: 4 });&lt;br /&gt;
voice2.addTickables(notes2);&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices([voice2]).format([voice2], 350);&lt;br /&gt;
&lt;br /&gt;
// Render voice&lt;br /&gt;
voice2.draw(context2, stave2);&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div3 = document.getElementById('output3');&lt;br /&gt;
const renderer3 = new Renderer(div3, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer3.resize(500, 200);&lt;br /&gt;
const context3 = renderer3.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave3 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave3.addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave3.setContext(context3).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes3 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/5'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['d/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['b/4'],&lt;br /&gt;
    duration: 'qr'&lt;br /&gt;
  }),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: 'q'&lt;br /&gt;
  }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes32 = [&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
  keys: ['c/4'],&lt;br /&gt;
  duration: 'w'&lt;br /&gt;
  })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create a voice in 4/4 and add above notes&lt;br /&gt;
const voices3 = [&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes3),&lt;br /&gt;
  new Voice({&lt;br /&gt;
    num_beats: 4,&lt;br /&gt;
    beat_value: 4&lt;br /&gt;
  }).addTickables(notes32),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Format and justify the notes to 400 pixels.&lt;br /&gt;
new Formatter().joinVoices(voices3).format(voices3, 350);&lt;br /&gt;
&lt;br /&gt;
// Render voices.&lt;br /&gt;
voices3.forEach(function(v) {&lt;br /&gt;
  v.draw(context3, stave3);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div4 = document.getElementById('output4');&lt;br /&gt;
const renderer4 = new Renderer(div4, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer4.resize(500, 200);&lt;br /&gt;
const context4 = renderer4.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave4 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave4.addClef('bass').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave4.setContext(context4).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes4 = [&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c##/5'],&lt;br /&gt;
    duration: '8d'&lt;br /&gt;
  }).addModifier(new Accidental('##'))),&lt;br /&gt;
  new StaveNote({&lt;br /&gt;
    keys: ['db/4'],&lt;br /&gt;
    duration: '16'&lt;br /&gt;
  }).addModifier(new Accidental('b')),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['b/4', 'd/5', 'f/5'],&lt;br /&gt;
    duration: 'h'&lt;br /&gt;
  }).addModifier(new Accidental('#'),0),[0, 2]),&lt;br /&gt;
  dotted(new StaveNote({&lt;br /&gt;
    keys: ['c/4', 'e/4', 'g/4'],&lt;br /&gt;
    duration: '8'&lt;br /&gt;
  })),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context4, stave4, notes4);&lt;br /&gt;
&lt;br /&gt;
function dotted(staveNote, noteIndex = -1) {&lt;br /&gt;
  if (noteIndex &amp;lt; 0) {&lt;br /&gt;
    Dot.buildAndAttach([staveNote], {&lt;br /&gt;
      all: true&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    for(noteIndexValue of noteIndex){&lt;br /&gt;
      Dot.buildAndAttach([staveNote], {&lt;br /&gt;
        index: noteIndexValue&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return staveNote;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div5 = document.getElementById('output5');&lt;br /&gt;
const renderer5 = new Renderer(div5, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer5.resize(500, 200);&lt;br /&gt;
const context5 = renderer5.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave5 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave5.addClef('bass').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave5.setContext(context5).draw();&lt;br /&gt;
&lt;br /&gt;
// Create the notes&lt;br /&gt;
const notes51 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes52 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes53 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;e/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;a/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;32&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;g/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notes54 = [&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const allNotes5 = notes51.concat(notes52).concat(notes53).concat(notes54);&lt;br /&gt;
&lt;br /&gt;
// Create the beams for the first three groups.&lt;br /&gt;
// This hides the normal stems and flags.&lt;br /&gt;
const beams5 = [new Beam(notes51), new Beam(notes52), new Beam(notes53)];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context5, stave5, allNotes5);&lt;br /&gt;
&lt;br /&gt;
// Draw the beams and stems.&lt;br /&gt;
beams5.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context5).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div6 = document.getElementById(&amp;quot;output6&amp;quot;);&lt;br /&gt;
const renderer6 = new Renderer(div6, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer6.resize(500, 200);&lt;br /&gt;
const context6 = renderer6.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave6 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave6.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave6.setContext(context6).draw();&lt;br /&gt;
&lt;br /&gt;
const notes6 = [&lt;br /&gt;
    dotted(new StaveNote({ keys: [&amp;quot;e##/5&amp;quot;], duration: &amp;quot;8d&amp;quot; }).addModifier(new Accidental(&amp;quot;##&amp;quot;))),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;e/4&amp;quot;], duration: &amp;quot;16&amp;quot; }).addModifier(new Accidental(&amp;quot;#&amp;quot;)),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;a/4&amp;quot;], duration: &amp;quot;32&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;g/4&amp;quot;], duration: &amp;quot;16&amp;quot; }),&lt;br /&gt;
    new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams6 = Beam.generateBeams(notes6);&lt;br /&gt;
Formatter.FormatAndDraw(context6, stave6, notes6);&lt;br /&gt;
beams6.forEach((b) =&amp;gt; {&lt;br /&gt;
    b.setContext(context6).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element named &amp;quot;boo&amp;quot;.&lt;br /&gt;
const div7 = document.getElementById(&amp;quot;output7&amp;quot;);&lt;br /&gt;
const renderer7 = new Renderer(div7, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer7.resize(500, 200);&lt;br /&gt;
const context7 = renderer7.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave7 = new Stave(10, 40, 400);&lt;br /&gt;
&lt;br /&gt;
// Add a clef and time signature.&lt;br /&gt;
stave7.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Connect it to the rendering context and draw!&lt;br /&gt;
stave7.setContext(context7).draw();&lt;br /&gt;
&lt;br /&gt;
const notes7 = [&lt;br /&gt;
    dotted(&lt;br /&gt;
        new StaveNote({&lt;br /&gt;
            keys: [&amp;quot;e##/5&amp;quot;],&lt;br /&gt;
            duration: &amp;quot;8d&amp;quot;,&lt;br /&gt;
        }).addModifier(new Accidental(&amp;quot;##&amp;quot;))&lt;br /&gt;
    ),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;b/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }).addModifier(new Accidental(&amp;quot;b&amp;quot;)),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;c/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;8&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;16&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;A/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveNote({&lt;br /&gt;
        keys: [&amp;quot;d/4&amp;quot;, &amp;quot;B/3&amp;quot;],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const beams7 = Beam.generateBeams(notes7);&lt;br /&gt;
Formatter.FormatAndDraw(context7, stave7, notes7);&lt;br /&gt;
beams7.forEach(function (b) {&lt;br /&gt;
    b.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const ties7 = [&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[4],&lt;br /&gt;
        last_note: notes7[5],&lt;br /&gt;
        first_indices: [0],&lt;br /&gt;
        last_indices: [0],&lt;br /&gt;
    }),&lt;br /&gt;
    new StaveTie({&lt;br /&gt;
        first_note: notes7[5],&lt;br /&gt;
        last_note: notes7[6],&lt;br /&gt;
        first_indices: [1],&lt;br /&gt;
        last_indices: [1],&lt;br /&gt;
    }),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
ties7.forEach((t) =&amp;gt; {&lt;br /&gt;
    t.setContext(context7).draw();&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { TabStave, TabNote, Bend, Vibrato } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div8 = document.getElementById(&amp;quot;output8&amp;quot;);&lt;br /&gt;
const renderer8 = new Renderer(div8, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer8.resize(500, 300);&lt;br /&gt;
const context8 = renderer8.getContext();&lt;br /&gt;
&lt;br /&gt;
// Create a tab stave of width 400 at position 10, 40 on the canvas.&lt;br /&gt;
const stave8 = new TabStave(10, 40, 400);&lt;br /&gt;
stave8.addClef(&amp;quot;tab&amp;quot;).setContext(context8).draw();&lt;br /&gt;
&lt;br /&gt;
const notes8 = [&lt;br /&gt;
    // A single note&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 3, fret: 7 }],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }),&lt;br /&gt;
&lt;br /&gt;
    // A chord with the note on the 3rd string bent&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [&lt;br /&gt;
            { str: 2, fret: 10 },&lt;br /&gt;
            { str: 3, fret: 9 },&lt;br /&gt;
        ],&lt;br /&gt;
        duration: &amp;quot;q&amp;quot;,&lt;br /&gt;
    }).addModifier(new Bend(&amp;quot;Full&amp;quot;), 1),&lt;br /&gt;
&lt;br /&gt;
    // A single note with a harsh vibrato&lt;br /&gt;
    new TabNote({&lt;br /&gt;
        positions: [{ str: 2, fret: 5 }],&lt;br /&gt;
        duration: &amp;quot;h&amp;quot;,&lt;br /&gt;
    }).addModifier(new Vibrato().setHarsh(true).setVibratoWidth(70), 0),&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Formatter.FormatAndDraw(context8, stave8, notes8);&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
// Create an SVG renderer and attach it to the DIV element with id=&amp;quot;output&amp;quot;.&lt;br /&gt;
const div9 = document.getElementById(&amp;quot;output9&amp;quot;);&lt;br /&gt;
const renderer9 = new Renderer(div9, Renderer.Backends.SVG);&lt;br /&gt;
&lt;br /&gt;
// Configure the rendering context.&lt;br /&gt;
renderer9.resize(890, 130);&lt;br /&gt;
const context9 = renderer9.getContext();&lt;br /&gt;
&lt;br /&gt;
// Measure 1&lt;br /&gt;
const staveMeasure91 = new Stave(10, 0, 470);&lt;br /&gt;
//staveMeasure91.addClef(&amp;quot;treble&amp;quot;).addTimeSignature(&amp;quot;4/4&amp;quot;).setContext(context9).draw();&lt;br /&gt;
staveMeasure91.addClef(&amp;quot;treble&amp;quot;);&lt;br /&gt;
staveMeasure91.addTimeSignature(&amp;quot;4/4&amp;quot;);&lt;br /&gt;
staveMeasure91.setContext(context9).draw();&lt;br /&gt;
&lt;br /&gt;
const notesMeasure91 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;q&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;qr&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;q&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Helper function to justify and draw a 4/4 voice&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure91, notesMeasure91);&lt;br /&gt;
&lt;br /&gt;
// Measure 2 - second measure is placed adjacent to first measure.&lt;br /&gt;
const staveMeasure92 = new Stave(staveMeasure91.width + staveMeasure91.x, 0, 400);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part1 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92_part2 = [&lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;d/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;b/4&amp;quot;], duration: &amp;quot;8&amp;quot; }), &lt;br /&gt;
  new StaveNote({ keys: [&amp;quot;c/4&amp;quot;, &amp;quot;e/4&amp;quot;, &amp;quot;g/4&amp;quot;], duration: &amp;quot;8&amp;quot; })&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create the beams for 8th notes in second measure.&lt;br /&gt;
const beam91 = new Beam(notesMeasure92_part1);&lt;br /&gt;
const beam92 = new Beam(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
const notesMeasure92 = notesMeasure92_part1.concat(notesMeasure92_part2);&lt;br /&gt;
&lt;br /&gt;
staveMeasure92.setContext(context9).draw();&lt;br /&gt;
Formatter.FormatAndDraw(context9, staveMeasure92, notesMeasure92);&lt;br /&gt;
&lt;br /&gt;
// Render beams&lt;br /&gt;
beam91.setContext(context9).draw();&lt;br /&gt;
beam92.setContext(context9).draw();&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow_%E4%BD%BF%E3%81%84%E6%96%B9&amp;diff=13542</id>
		<title>VexFlow 使い方</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow_%E4%BD%BF%E3%81%84%E6%96%B9&amp;diff=13542"/>
		<updated>2026-07-20T14:15:40Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VexFlow]]に戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　名曲のソロ部分とか有名な部分を引用しながら、使い方をまとめていきたいと思います。著作権との闘いだな。引用の範囲を超えないように頑張ろう。権利団体にすべてを還元すればいいんでしょ。やってやるよ。っていう感じの意気込みです。この項目の目的は日本のWebsiteに楽譜を描画しているページを増やすということだな。難しすぎるよな楽譜描画。一か所でも間違ったら、そこから先、何も描画されません！恐るべしなんだよVexFlow。&amp;lt;s&amp;gt;絶賛挫折中&amp;lt;/s&amp;gt;。2024年3月中旬再始動中。ほんとか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow 入門その1]]&lt;br /&gt;
*[[VexFlow 連符]]&lt;br /&gt;
*[[VexFlow 描画エリアと5線譜と小節]]&lt;br /&gt;
*[[VexFlow 音部記号]]&lt;br /&gt;
*[[VexFlow 拍子記号]]&lt;br /&gt;
*[[VexFlow 調号]]&lt;br /&gt;
*[[VexFlow 音符]]&lt;br /&gt;
*[[VexFlow 連桁]]&lt;br /&gt;
*[[VexFlow 休符]]&lt;br /&gt;
*[[VexFlow 連符]]&lt;br /&gt;
*[[VexFlow タイ]]&lt;br /&gt;
*[[VexFlow スラー]]&lt;br /&gt;
*[[VexFlow 小節開始終了線]]&lt;br /&gt;
*[[VexFlow 演奏順序記号]]&lt;br /&gt;
*[[VexFlow セクション記号]]&lt;br /&gt;
*[[VexFlow 小節番号]]&lt;br /&gt;
*[[VexFlow 小節の上下の接続]]&lt;br /&gt;
*[[VexFlow 楽器名記載]]&lt;br /&gt;
*[[VexFlow 楽曲タイトルの挿入]]&lt;br /&gt;
*[[VexFlow テキスト挿入]]&lt;br /&gt;
*[[VexFlow テンポ]]&lt;br /&gt;
*[[VexFlow 強弱表示]]&lt;br /&gt;
*[[VexFlow アクセント・テヌート・スタッカート]]&lt;br /&gt;
*[[VexFlow クレシェンド・デクレシェンド]]&lt;br /&gt;
*[[VexFlow アルペジオ]]&lt;br /&gt;
*[[VexFlow ビブラート]]&lt;br /&gt;
*[[VexFlow オクターブ]]&lt;br /&gt;
*[[VexFlow 和音表示省略のスラッシュノート]]&lt;br /&gt;
*[[VexFlow 装飾音符]]&lt;br /&gt;
*[[VexFlow 複数小節にわたる長い休符]]&lt;br /&gt;
*[[VexFlow 小節の繰り返し]]&lt;br /&gt;
*[[VexFlow 打楽器譜]]&lt;br /&gt;
*[[VexFlow タブ譜]]&lt;br /&gt;
*[[VexFlow タブ譜 フレット番号と旗表示]]&lt;br /&gt;
*[[VexFlow タブ譜 プリングオフ・ハンマリング・スライド・チョーキング・グリッサンド]]&lt;br /&gt;
*[[VexFlow タブ譜 カッティング]]&lt;br /&gt;
*[[VexFlow タブ譜 同一コード連続弾き]]&lt;br /&gt;
*[[VexFlow タブ譜 コードフォーム]]&lt;br /&gt;
*[[VexFlow タブ譜 ミュート]]&lt;br /&gt;
*[[VexFlow タブ譜 ハーモニクス]]&lt;br /&gt;
*[[VexFlow タブ譜 アームダウン・アームアップ]] '''ここで力尽きました。管理人には無理です。&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;簡易楽譜CADのためのアプリ作ります。&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow テンプレート Vocal Guitar1 2 Base Drum Perc]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
説明が不足していると感じている記事&lt;br /&gt;
*トレモロ、ロール&lt;br /&gt;
*トリル&lt;br /&gt;
*ベースタブ譜の演奏順序記号&lt;br /&gt;
*VexFlowでは不完全な描画になったコーダやダルセーニョといった演奏順序記号のBravuraフォントでの描画&lt;br /&gt;
*ボーカル、歌詞&lt;br /&gt;
*コード記号&lt;br /&gt;
*2xや3x、D.S.1xやD.S.2xのときだけ違う演奏をするカッコつき楽譜&lt;br /&gt;
*スコア・楽譜テンプレート数種類をPDFで提供。&lt;br /&gt;
*楽曲サンプル譜の作成&lt;br /&gt;
*YonetMuFL自作楽譜描画補助フォントの整備と公開とコードポイント表の作成。&lt;br /&gt;
*ピアノ譜用のペダル操作記号&lt;br /&gt;
*ピアノ譜のための上下連結の連桁描画。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VexFlow test content]]&lt;br /&gt;
*[[VexFlow test content2]]&lt;br /&gt;
*[[VexFlow ベースヘ音記号練習]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[VexFlow]]に戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13541</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13541"/>
		<updated>2026-07-20T14:15:01Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは'''[[STMK ScoreTemplateMaker(ja)]]'''からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13540</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13540"/>
		<updated>2026-07-20T14:14:32Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。結局、納得いくものを作るために、'''&amp;lt;span style=&amp;quot;color: darkred;&amp;quot;&amp;gt;自分でSVG出力テンプレートアプリを作りました。&amp;lt;/span&amp;gt;'''詳しくは[[STMK ScoreTemplateMaker(ja)]]からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13539</id>
		<title>VexFlow</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=VexFlow&amp;diff=13539"/>
		<updated>2026-07-20T14:13:23Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　MathJaxの楽譜版みたいな。MathJax？な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。タブ譜も描けますが、管理人はデザインに納得していません。結局、納得いくものを作るために、自分でSVG出力テンプレートアプリを作りました。詳しくは[[STMK ScoreTemplateMaker(ja)]]からどうぞ。VexFlowで苦労するよりはIllustratorでポチポチ楽譜記号をペタペタする方が柔軟性が高くて美しいものがつくれるということに気づきましたね。VexFlowを極めたい人は極めていただければと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　詳しい使い方は'''[[VexFlow 使い方|VexFlow使い方]]'''の記事を参照して下さい。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''簡単な使い方''' ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  // ここにあなたのコードを書く。&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
　とすると結果として以下のように&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　が得られます。肝心なのは出力するためのタグを与えなければならないことです。&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;&amp;lt;div id=&amp;quot;output&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;が出力先です。出力先のタグはスクリプトの手前に必要なようです。描画コードの中で出力先のid名を指定するところがありまして、&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; inline&amp;gt;renderer: { elementId: 'output'}&amp;lt;/syntaxhighlight&amp;gt;のoutputと記述しているところが対応しています。1ページに沢山の楽譜を載せる場合はoutputという文字列の部分などの変数に通し番号を付けるとか、楽譜のタイトルにするとか変数名がユニークになるような工夫が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2つ目&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;output2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とまぁこんな具合に2個目を配置することができます。変数名を分けるのはわりかし面倒なので、もっと賢いやり方もあるはずです。まだ知りません。ちなみにサンプルで使ったのは easyscore という仕組みで、VexFlow の記述よりも簡単な方法らしいですが、文献がきれいにそろっていないので、どういう風に書けばよいのかがわかりません。VexFlow もわかりやすい文献はありません。少なくとも日本語の使いこなしているような巨大説明サイトは現時点ではありませんでした。頑張ればVexFlowの日本支部を作れますよ。今なら日本のTopの座は空いています。英語ですが、本家には、API の説明がありますが、なかなか冷たい。サンプルを解析して勉強するしかないね。VexFlow &amp;amp;gt; Test &amp;amp;gt; flow.html というのがあります。膨大なサンプルで、描画するのに1、2分はかかります。html のソースを見てもサンプルコードは記述されていません。ファイルに分散して配置されているようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに2つ目の楽譜は12連符を書きたかったのですが、easyscore の仕組みが対応していないようで、描けませんでした。描く方法もあるのかもしれませんが、簡単ではなさそうです。どこが easy やねん！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　とは、言いつつも頑張って調べてたら何となく使い方わかって来たので使い方を纏めます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちな、変数が重複しても大丈夫な様に一つの楽譜事に関数化しておけば変数名の重複を気にせず使えます。即時実行関数(function(){コード})();の中に書くだけです。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''関連情報''' ==&lt;br /&gt;
*[[VexFlow 使い方]]&lt;br /&gt;
*[[音楽理論 和音の種類]]&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;yjavascript&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js --&amp;gt;&lt;br /&gt;
&amp;lt;script id =&amp;quot;vexflow&amp;quot; src=&amp;quot;https://cdn.jsdelivr.net/npm/vexflow@4.1.0/build/cjs/vexflow.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
const { Factory, EasyScore, System } = Vex.Flow;&lt;br /&gt;
&lt;br /&gt;
const vf = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output', width: 500, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
const vf2 = new Factory({&lt;br /&gt;
  renderer: { elementId: 'output2', width: 700, height: 200 },&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const score = vf.EasyScore();&lt;br /&gt;
const system = vf.System();&lt;br /&gt;
&lt;br /&gt;
system&lt;br /&gt;
  .addStave({&lt;br /&gt;
    voices: [&lt;br /&gt;
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),&lt;br /&gt;
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),&lt;br /&gt;
    ],&lt;br /&gt;
  })&lt;br /&gt;
  .addClef('treble')&lt;br /&gt;
  .addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
vf.draw();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const score2 = vf2.EasyScore();&lt;br /&gt;
const system2 = vf2.System();&lt;br /&gt;
&lt;br /&gt;
system2.addStave({&lt;br /&gt;
  voices: [&lt;br /&gt;
    score2.voice(&lt;br /&gt;
      score2.tuplet(score2.beam(score2.notes('G#5, E5, F#5, C#5, D#5, B4, C5, G#4, F#4, B4, C5, D5')))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
        .concat(&lt;br /&gt;
          score2.tuplet(score2.beam(score2.notes('A4/8, E4, C4'))))&lt;br /&gt;
    )&lt;br /&gt;
  ]&lt;br /&gt;
}).addClef('treble').addTimeSignature('4/4');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vf2.draw();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/yjavascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13538</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13538"/>
		<updated>2026-07-20T12:41:21Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりの機能をシンプル五線譜のみのテンプレートで実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13537</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13537"/>
		<updated>2026-07-20T12:32:38Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* ライセンス認証の手順 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりのシンプル機能をシンプル五線譜のみのテンプレートでも実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、ScoreTemplateMaker.exeを起動して、立ち上がるアプリケーションのメニュー[ヘルプ]-[ライセンス認証]の項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13536</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13536"/>
		<updated>2026-07-20T12:27:06Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりのシンプル機能をシンプル五線譜のみのテンプレートでも実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635263 https://yonetech-studio.booth.pm/items/8635263] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8635291 https://yonetech-studio.booth.pm/items/8635291])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、FTCK_FontStructChecker.exeを起動して、立ち上がるアプリケーションのグリフ上を右クリックして表示されるLicense Authorizeの項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13535</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13535"/>
		<updated>2026-07-20T12:13:44Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりのシンプル機能をシンプル五線譜のみのテンプレートでも実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543586 https://yonetech-studio.booth.pm/items/8543586] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8151586 https://yonetech-studio.booth.pm/items/8151586])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、FTCK_FontStructChecker.exeを起動して、立ち上がるアプリケーションのグリフ上を右クリックして表示されるLicense Authorizeの項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 009 LicenceAuthorizeStart.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_009_LicenceAuthorizeStart.png&amp;diff=13534</id>
		<title>ファイル:STMK 009 LicenceAuthorizeStart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_009_LicenceAuthorizeStart.png&amp;diff=13534"/>
		<updated>2026-07-20T12:13:11Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13533</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13533"/>
		<updated>2026-07-20T12:10:35Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりのシンプル機能をシンプル五線譜のみのテンプレートでも実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543586 https://yonetech-studio.booth.pm/items/8543586] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8151586 https://yonetech-studio.booth.pm/items/8151586])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、FTCK_FontStructChecker.exeを起動して、立ち上がるアプリケーションのグリフ上を右クリックして表示されるLicense Authorizeの項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:FTCK 002 LicenseAuthorize.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 006 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 007 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:STMK 008 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_007_OrderNumberResist.png&amp;diff=13532</id>
		<title>ファイル:STMK 007 OrderNumberResist.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_007_OrderNumberResist.png&amp;diff=13532"/>
		<updated>2026-07-20T12:10:09Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_008_SuccessAuthorize.png&amp;diff=13531</id>
		<title>ファイル:STMK 008 SuccessAuthorize.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_008_SuccessAuthorize.png&amp;diff=13531"/>
		<updated>2026-07-20T12:09:20Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_006_LicenseAuthorizeDialog.png&amp;diff=13530</id>
		<title>ファイル:STMK 006 LicenseAuthorizeDialog.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:STMK_006_LicenseAuthorizeDialog.png&amp;diff=13530"/>
		<updated>2026-07-20T12:05:56Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13529</id>
		<title>STMK ScoreTemplateMaker(ja)</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=STMK_ScoreTemplateMaker(ja)&amp;diff=13529"/>
		<updated>2026-07-20T10:20:49Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: /* 概要 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;br /&gt;
&lt;br /&gt;
== '''概要''' ==&lt;br /&gt;
　STMK ScoreTemplateMakerは価格154円という値段設定から始まる&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;楽譜テンプレートアプリケーション・楽譜レイアウト生成エンジン(楽譜SVGや清書に興味がある方向け、Illustrator/Inkscapeで楽譜を清書するための補助ツール)&amp;lt;/span&amp;gt;です。&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;2026/7/27にリリース予定&amp;lt;/span&amp;gt;です。無料でも使えます。但し保存機能無し、SVG出力機能無しです。シンプル五線譜テンプレート機能のみのリリース154円から始まって、機能追加して、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)のテンプレートを追加することによって、一つづつ機能追加する耽美に値段が上がっていって最終的に1200円くらいになる予定です。154円で買った人は機能追加されても154円のみで全部の機能が使えるようになる予定です。どれくらいの時間で機能追加されるかは未定ですので、期待しすぎないで下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ひととおりのシンプル機能をシンプル五線譜のみのテンプレートでも実装できたので、機能拡張はたぶんできると思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:001 STMK ScreenShot.png|400px|thumb|none|スクリーンショット]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみにシンプル五線譜で作ったテンプレートをもとに生成された楽譜記号SVGと五線譜SVGと補助線SVGを活用してIllustrator/Inkspaceで楽譜要素をペタペタ貼っていくと以下のようなものが作れます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:002 SimpleStaff SkechAfter Content.png|400px|thumb|none|完成図]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　もちろん、楽譜記号要素をSVGで貼り付ける前の、手書き用の五線譜のみのPDFも出力できるので、それを使ってクリエイティブな作業に徹することもできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜の段数や小節線の有無や音部記号(ト音/へ音/ハ音の選択)の表示・非表示も選べますし、譜間の調整や五線全体の横幅長さ、用紙設定(A3/A4/B4/B5 縦配置/横配置)も選べます。上寄せ配置・均等配置も選べますし、描画した五線譜にオフセットをもたせて配置することもできます。なかなかイカス。五線譜テンプレートアプリになっていると思います。欲しかった五線譜を生み出すことができます。そしてたくさん印刷すれば、あなただけの楽譜帳ができあがるわけです。今はシンプルな五線譜しか作れないので154円です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:003 SimpleStaff Dialog.png|400px|thumb|none|シンプル五線譜ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:004 Staff Settings Dialog.png|400px|thumb|none|段設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:005 Measure Settings Dialog.png|400px|thumb|none|小節設定ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　今、買えば、154円ぽっきりで、あとから機能追加されて、ピアノ譜(高音/低音の2段構成)、ギタータブ譜(タブ6線譜付き)、ベースタブ譜(タブ譜4線譜付き)、ベースタブ譜(タブ譜5線譜付き)、バンドスコア(ボーカル(1)・Other(1)・ギタータブ譜(2)・ベースタブ譜(2)・ドラム譜(1)の計7段構成を2段組)、クラシックスコア譜(各種楽器の計n段を1段組)もつくれるようになるかもしれないという感じです。あとから欲しいと思ってもそのときには1200円くらいになっているので、154円で1200円分の機能が手に入るという計算ですね。たぶんですけどね。今はシンプル五線譜のみですが、たぶん、それほど時間はかからずにのこりの機能は追加できると思っています。アプリケーションの基礎はできあがったので、ちょちょいと頑張れば機能追加できると思っています。信じるか信じないかはあなた次第。先行投資ですね。できあがってから1200円程度で買ってもさほどの出費ではないと思いますけど。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　楽譜出版社がやっているレベルの楽譜作成を自分でもやれなくはないレベルのものを提供するっていうのが、このアプリのミソですね。自分の設定した譜間スケールの楽譜記号要素のSVGも出力できるというね。今までにはなかったよ。まぁねIllustratorやInkspaceでの作業は、なかなか地獄のような作業ではあるので、それをやらせるというアプリはこれからも登場しないだろうね。地獄のような作業を強いるアプリおそろしいよね。でも出来ないより出来た方がいい。アイデア次第で出来上がる楽譜は無限大になっていく。吹奏楽部部員がInkspaceを使って、ペタペタする可能性もあるよね。ちなみにサンプルで提示した楽譜は作業時間12時間くらいかかってる。はじめてのIllustratorレベルの知識だったので、仕方ないよね。得意な人はもっと早くやれる可能性もある。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOTH商品ページ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543586 https://yonetech-studio.booth.pm/items/8543586] (無料版)&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
== '''使い方''' ==&lt;br /&gt;
=== '''購入手順''' ===&lt;br /&gt;
●まずBOOTHにログインします。&lt;br /&gt;
&lt;br /&gt;
*https://booth.pm/users/sign_in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●BOOTH IDを保有していない場合&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．PIXIVに登録してない場合はこちらの下の「PIXIVアカウントを作ってログイン」ボタンを押下(押し)ます&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene01pxiveIDGeneStartBtn.png|400px|thumb|none|PIXIVアカウント作成開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．PIXIVアカウントを作るには「メールアドレスでアカウントを作成」ボタンを押します&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene02pixiveacountselect.png|400px|thumb|none|PIXIVアカウント作成選択]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．メールアドレスを入力して、ロボットでないことを証明するチェックを手動で入れて「次へ」ボタンを押す。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene03InputMail.png|400px|thumb|none|メールアドレス入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．先の画面で入力したメールアドレス宛に以下のような認証コードが記載されたメールが届いているので確認します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene04CheckAuthCode.png|400px|thumb|none|認証コードの確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．認証コードを入力して、「次へ」へボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene05AuthCode.png|400px|thumb|none|認証コード入力]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．ニックネーム、性別、生年月日を入力し、規約の同意チェックを入れ、「アカウントを作成」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene06NicknameRegist.png|400px|thumb|none|ニックネーム性別生年月日登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．ログインされた状態でBOOTHの画面が開きますが、まだアカウントにパスワードが設定されていないので、パスワードを設定するためにアカウント設定を開きます。画面の右上のニックネームの部分をクリックして展開されるメニューから「アカウント設定」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene07acountsetting.png|400px|thumb|none|アカウント設定を開く]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．「パスワードの変更」を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene08ChangePass.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　９．新しいパスワード情報を入力し「パスワードの変更」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothIDGene09ChangePassInput.png|400px|thumb|none|パスワードの変更]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でID・パスワードの作成ができたことになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　154円以上の買い物が可能なクレジットカードなどを準備して商品ページにアクセスします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://yonetech-studio.booth.pm/items/8543665 https://yonetech-studio.booth.pm/items/8543665] (有料版154円)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　１．商品ページから「カートに入れる」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy01BuyBtn.png|400px|thumb|none|購入のためカートに入れる]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　２．カートの中身を見ている状態の画面に遷移するので、この「ショップのレジに進む」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy02Kert.png|400px|thumb|none|カート画面]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　３．支払方法の選択画面になるので「クレジットカード」ラジオボタンを選択した状態にして、「クレジットカードの登録」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy03CreditResist.png|400px|thumb|none|クレジットカード登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　４．クレジットカード情報を入力する画面になるので番号()、名義(TARO YAMADA)、期限(月/年)、セキュリティコードを入力して「登録して使用」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy04CreditInfoResist.png|400px|thumb|none|クレジットカード情報登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　５．「ご注文の確認」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy05OrderComfarm.png|400px|thumb|none|注文の確認]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　６．「ご注文の確定」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy06BuyDecision.png|400px|thumb|none|注文の確定]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　７．これで製品のページ([https://yonetech-studio.booth.pm/items/8151586 https://yonetech-studio.booth.pm/items/8151586])に戻ると「購入済み」ボタンがあるので、これを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy07Bought.png|400px|thumb|none|購入済みへ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　８．遷移したページで「ダウンロード」ボタンがあるのでここからダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:BoothHowtoBuy08Download.png|400px|thumb|none|ダウンロード]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　BOOTHからダウンロードしたら任意のフォルダーに配布zipファイルを解凍してできるファイル一式を、よくつかうアプリケーションとして適切なディレクトリに対して、同一のディレクトリの中で展開します。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''ライセンス認証の手順''' ===&lt;br /&gt;
　本製品はコピー処理をするためにライセンスが必要で、FTCK_FontStructChecker.exeを起動して、立ち上がるアプリケーションのグリフ上を右クリックして表示されるLicense Authorizeの項目から操作をします。BOOTHから発番される注文番号を知っている人に対して、ライセンス認証ができる仕組みを提供していて、今後は発番されたライセンスIDを知っていることこそが購入者であることの証明になります。注文番号はBOOTHが発番する連番ですので、第三者が予測することは難しいですが、ずっと数か月ほど放置していれば乗っ取られる可能性のある番号となります。購入後は速やかにライセンス認証をすることをお勧めします。乗っ取られた場合はBOOTHにメッセージ投稿することで、購入時に届いたメールの情報を伝達するなどで、購入者であることを証明していただければ、ライセンス発行依頼に応じます。購入者のライセンスを有効にし、悪意ある第三者が手にした乗っ取られた番号は判明次第、Ban(禁止・取り除き)します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　つまり、初回利用時はBOOTH注文番号によってライセンス認証処理が必要になるということになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以下に手順を示します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●まず、ScoreTemplateMaker.exeを起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●起動したらメニューから「ヘルプ-ライセンス認証」の項目を選択します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:FTCK 002 LicenseAuthorize.png|400px|thumb|none|認証開始]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●以下のようなライセンス認証用のダイアログが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:FTCK 003 LicenseAuthorizeDialog.png|400px|thumb|none|ライセンス認証ダイアログ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●注文番号欄に購入時BOOTHより届いたメールに記載されている注文番号を記載し、「Regist」ボタンを押します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:FTCK 004 OrderNumberResist.png|400px|thumb|none|注文番号による登録]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
●正常にLicense認証が終了すると下のLicensID番号欄に発番されたLicense番号が表示されます。このとき、PCにもlicense.datが保存されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ファイル:FTCK 005 SuccessAuthorize.png|400px|thumb|none|認証結果]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　以上でLicense認証は完了です。1台目は注文番号の一致によってライセンス発行がされ、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　1回目のRegist後、ReAuthorizeボタンが押せるようになるので、押してしまいたくなりますが、同一PCで認証する分には新しいlicense.datが生成されるだけで、押してしまっても問題ないですが、必要のない行為です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　また、1回目のRegistが終わった後、注文番号でResistはもうできません。エラーになります。つまり、BOOTHで入手したアプリケーションが何らかの方法で第三者の手に渡って、さらに他の人が注文番号を知りえたとしても何も起こらないことを意味しています。これは&amp;lt;span style=&amp;quot;color:darkred; font-weight:bold;&amp;quot;&amp;gt;購入した人の権利を守るための仕組み&amp;lt;/span&amp;gt;です。買った人だけが使えるようにしています。ただし、154円という価格に似合わない高度な解析によって改変されたプログラムが&lt;br /&gt;
出回る可能性を完全に排除することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　2台目以降はライセンスIDを入力して、ReAuthorizeしたときにコードが一致することによって、プログラムが利用可能な状態になります。×ボタンでライセンス認証ダイアログを閉じて、アプリケーションの利用を開始できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ちなみに存在しない注文番号やライセンス番号で続けて認証すると24時間ライセンス認証ができなくなるので注意して下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ライセンス仕様&lt;br /&gt;
&lt;br /&gt;
*BOOTH注文番号で初回認証&lt;br /&gt;
&lt;br /&gt;
*同時使用：3台&lt;br /&gt;
&lt;br /&gt;
*登録可能PC：最大15台&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　違うPCを含めて3台まで同時に使えますが、認証可能台数は15台までです。連絡なしには15台以上の登録はできません。連絡をもらってから何日後に対応になるかわかりませんが、BOOTHメッセージより注文番号とLicense番号を連絡してもらえれば認証可能台数をリセットする対応は実施します。3カ月もたたないのに15台使うような異常な頻度、日本各地にIPアドレスの分散が見受けられるライセンス番号でのリセットは受け付けません。そのような行為が見受けられた場合は対象のライセンスIDについてBanします。消費された認証PC数はライセンス番号の横に表示されます。全てのPCで消費された認証PC数を一致させたい場合はReAuthorizeすると認証PC数を取得することができます。同時利用可能台数は3台なので、4台以降の認証では、一番古い認証処理へのアクセスのPCが弾き出されます。弾き出されたくないPCに対してReAuthorizeしてから、新しいPCでの認証をすると弾き出されずに済みます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　オフラインで使うソフトウェアですので、認証して弾き出されてもlicense.datを保持していれば、使うには使えますが、license.datが消えたら、再認証しないと使えないので、弾き出されたPCを再認証すると消費認証PC数は増えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　同時に使えるのは3台。弾き出されたくない2台はReAutorize処理してから、新しいPCのReAuthorizeをすると良いでしょう。&lt;br /&gt;
新しいPCでも同じLicenseIDを使うからReAuthorizeと呼んでいます。Authorizeボタンが無いことに戸惑わないでください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　発番されたライセンス番号を他人に漏らしたり共有することは、認証可能台数が消費されるだけで、権利を棄損することになりますので、漏洩には注意して各自でしっかり管理して下さい。PCで認証や再認証が成功した時、新しいPCで再認証するときに発番されたライセンス番号の内容を使って、再認証すると実行ファイルのクリップボード変換プログラムが使えるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　ライセンスシステムの運営の継続が困難になった場合はフリーソフト化される可能性があります。ご承知おきください。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
=== '''アプリケーションの主要な使い方''' ===&lt;br /&gt;
==== '''アプリケーションの起動''' ====&lt;br /&gt;
　ダウンロードしたファイルを解凍するとScoreTemplateMaker.exeがあるので、これを起動するとアプリケーションが起動します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== '''インターフェイス紹介''' ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は以上です。&lt;br /&gt;
&lt;br /&gt;
　&lt;br /&gt;
&lt;br /&gt;
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
	<entry>
		<id>https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:005_Measure_Settings_Dialog.png&amp;diff=13528</id>
		<title>ファイル:005 Measure Settings Dialog.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yo-net.jp/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:005_Measure_Settings_Dialog.png&amp;diff=13528"/>
		<updated>2026-07-20T10:19:35Z</updated>

		<summary type="html">&lt;p&gt;Yo-net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yo-net</name></author>
	</entry>
</feed>