Minecraft【動く装置】タイマー楽譜で演奏(鍵盤付き)。No.8
Java版1.21、統合版はv1.21.2で動作確認。
タイマー楽譜でメロディ再生。曲や音色も簡単切り替え。鍵盤が動く自動演奏付き。
タイマー楽譜で演奏。v1.20
タイマー楽譜に鍵盤が動く、自動演奏機能を追加しました。装置は少し難しくなりましたが、見た目は面白くなったと思います。楽譜は音の長さとクリック回数を入力。一箇所にブロックを置くだけで音色も変更出来ます。統合版の仕様により、Java版と同じ装置に出来ませんが、楽譜は両方で使えます。座標入力は多いですが、コマンドは簡単なので中級者向けの装置となります。※ファンクションを使用。楽譜の作成はJava版、統合版はWindowsを推奨。
◻︎装置の特徴
・鍵盤が動く自動演奏。
・入力簡単、タイマー楽譜。
・ファンクションの読み込み。(新旧サンプル曲、全8曲付き)
・execute if blocksとif blockの違い。
更新履歴
2024-7-19/v1.21以降に対応。完成データも追加しました。
2024-4-1/自動演奏追加。演奏に合わせて鍵盤が動きます。
2023-2-18/新設計!鍵盤装置。統合版の新コマンドにも対応しました。※完成動画は旧式のタイマー楽譜で演奏です。
完成動画。v1.20
1.作成準備
・ログの非表示。・スコアボードの作成。
2.コマンドブロックの設置
3.装置全体図
・タイマー楽譜で演奏の装置全体図。
4.鍵盤装置
・防具立ての設置。・音符ブロックの設置。
5.ファンクション
・鍵盤の設置。・鍵盤用ファンクション「key」。・鍵盤用ファンクション「key2」。
6.視聴エリア
・視聴台。・サンプル曲。
7.コマンド
・コマンド入力。・コマンド変更(統合版)。
8.仕上げ
・低音と高音。・仕上げ。・遊び方。
9.タイマー楽譜
・鍵盤表。・楽譜の作成。
10.楽譜の読み方
・記号や拍子の種類。・音符と音の長さ。・Onpuの入力例。
11.ワールドデータ
・完成データのダウンロード。
12.フォルダの場所
・ファンクションフォルダの場所。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
作成準備
コマンドは1人用で作成しています。マルチプレイで使う場合は、ターゲットセレクタを変更してください。 ※「tag」や、防具立てを指定。
ログの非表示。
◻︎ログの非表示とコマンドブロック入手。
/gamerule commandBlockOutput false /give @s command_block |
スコアボードの作成。
◻︎スコアボード「Onpu」を作成。
/scoreboard objectives add Onpu dummy |
◻︎削除する場合。
/scoreboard objectives remove Onpu
コマンドブロックの設置
コマンドブロックは画像に合わせて配置。「ブロック種類」「レッドストーン」を変更します。 変更がある場合は、個別に解説していきます。
◎配置したコマンドブロックの状態/すべて無条件。※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス | 動力が必要 |
青色 | チェーン(鎖) | 常時実行 |
紫色 | リピート | 常時実行 |
装置全体図
タイマー楽譜で演奏の装置全体図。
フラットワールドを作成したら、座標(0 -60 0)へ移動して開花したツツジの葉を設置。装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。
開始点は座標(0 -60 0)。
❶視聴エリア ❷鍵盤装置
◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
/give @s structure_block
鍵盤装置
防具立ての設置。
音符ブロックや音色を簡単に変更出来るように、防具立てを設置しておきます。
防具立て「O」は座標(1 -60 0)、「R0」は座標(0 -60 3)。
防具立て「O」に数字持たせタイマーにします。白・黒鍵盤に合わせ「R0〜R24」の名前で防具立てを設置(全25個)。「T」の防具立ては、名前を全て「T」にして設置。音色変更に使用(全25個)。※「O」はアルファベットのオー。Rはレッドストーンの略。数字は音符ブロックのクリック回数と合わせます。
【Java版】
/summon armor_stand 1 -60 0 {CustomName:"\"O\""} /summon armor_stand 0 -60 2 {CustomName:"\"T\""} /summon armor_stand 0 -60 3 {CustomName:"\"R0\""} |
【統合版】
/summon armor_stand O 1 -60 0 /summon armor_stand T 0 -60 2 /summon armor_stand R0 0 -60 3 |
画像を参考に、チャットコマンドで設置していきます。
音符ブロックの設置。
音階を変えた音符ブロックを、あらかじめ設置しておきます。
「い、う、え、お、か」の座標を確認。
防具立て「T」の頭上に、音符ブロックを設置。数字に合わせてクリック回数を変更します。「い」はレッドストーンブロック。「う」はクォーツブロック、「え」はクォーツのハーフブロック。「お」はブラックストーン、「か」はブラックストーンのハーフブロック。
ファンクション
テキストエディタを使って、鍵盤用のファンクションを作ります。※鍵盤用のファンクションを作らなくても、曲は再生出来ます。
鍵盤の設置。
レッドストーンブロックで音符ブロックを鳴らした時、連動して鍵盤が動く装置を作ります。
白色の「G1」は座標(1 -58 2)。 黄色の「G1」は座標(1 -59 9)。
クォーツブロックで白鍵盤、ブラックストーンで黒鍵作ります。※見た目を整えるためダミー鍵盤も設置。防具立て「R0〜R24」の頭上の座標、白・黒鍵盤の座標を確認。
鍵盤用ファンクション「key」。
レッドストーンブロックを検知して、鍵盤をハーフブロックにします。※鍵盤の数だけ、コマンドが必要になります。
【Java版/統合版 共通】
①execute if block 0 -58 3 redstone_block run clone 8 -60 0 8 -60 0
0 -58 8 ②execute if block 1 -58 4 redstone_block run clone 5 -60 0 5 -60 0 1 -59 9 |
①白色の「F0」にレッドストーンブロックがある時、黄色の「F0」に「か」をクローン。
②白色の「G1」にレッドストーンブロックがある時、黄色の「G1」に「え」をクローン。
①②を参考に座標を変え、全25個のコマンドを作ります。ファイル名は「key.mcfunction」で保存します。
鍵盤用ファンクション「key2」。
空気ブロックを検知して、鍵盤を通常ブロックにします。※鍵盤の数だけ、コマンドが必要になります。
【Java版/統合版 共通】
①execute if block 0 -58 4 air run clone 7 -60 0 7 -60 0
0 -58 8 ②execute if block 1 -58 4 air run clone 4 -60 0 4 -60 0 1 -59 9 |
①白色の「F0」が空気ブロックの時、黄色の「F0」に「お」をクローン。
②白色の「G1」が空気ブロックの時、黄色の「G1」に「う」をクローン。
①②を参考に座標を変え、全25個のコマンドを作ります。ファイル名は「key2.mcfunction」で保存します。
◎execute if block
指定したブロックが座標にある時、信号を出す。座標にレッドストーンブロックがあるか無いかを検知しています。
視聴エリア
視聴台。
視聴エリアでは、音楽の再生と停止、音色や曲が変更出来ます。
「あ」「A」①②は地面下。「あ」は座標(7 -61 14)。①③④⑤⑥は動力が必要。「A」はレッドストーンダスト。①はレッドストーントーチを設置。③④⑤⑥はレバーを設置。
【Java版/統合版 共通】
①scoreboard players add @e[name=O] Onpu 1 ②scoreboard players reset @e[name=O] Onpu |
【音符タイマー】
①信号がある時、防具立て「O」に「Onpu」を1を足す。
②信号がない時「Onpu」をリセット。
「A」の上にオークの原木と感圧版、レバーを設置。①②はハーブブロックや苔のカーペットで隠す。「あ」にブロックを置いた時、音色が変わるようにします(座標確認)。③④⑤⑥にはサンプル曲やオリジナル曲を入力。
サンプル曲。
低音、高音の入った新しいサンプル曲。
【Java版/統合版 共通】
③function note:athens4 ④function note:korobushka ⑤function note:nutcracker ⑥function note:oklahoma |
※統合版は「:」を「/」に変更。
③「アテネの廃墟」 第4曲
④「コロブチカ」 ロシア民謡
⑤「くるみ割人形」 行進曲
⑥「オクラホマミキサー」 アメリカ民謡
----------------------------------------------
低音、高音無し。旧サンプル曲。
----------------------------------------------
function note:mart
function note:mario
function note:mickey
function note:mayim
ファミリーマート入店曲、初代マリオ、ミッキーマウスマーチ、マイムマイム。
コマンド
コマンド入力。
コマンド使って鍵盤に動きを付けたり、音を鳴らします。
②③は動力が必要。※統合版は③が不要。音符ブロック内側の「き、く」の座標を確認。範囲座標「C」とします。
【Java版】
①execute unless blocks 0 -58 3 14 -58 4
0 -53 3 all ②function note:key2 ③fill 0 -58 3 14 -58 4 air ------ ④function note:key ⑤execute at @e[name=T] run clone 7 -60 14 7 -60 14 ~ ~1 ~ |
【統合版】①⑤はJava版と同じ。③は不要。
②function note/key2 ④function note/key |
①「C」の範囲座標が、5ブロック上の範囲座標と同じかどうかを検知。
②ファンクション「key2」を実行。
③信号がある時「C」の範囲座標に空気ブロックを設置。
------
④ファンクション「key」を実行。
⑤視聴台「あ」の座標にあるブロックを、防具立て「T」の1ブロック上にクローン。
◎execute unless blocks
ブロックの種類は問わず、指定した範囲元と範囲先が同じかを比較。違いがあれば信号を出す。今回は「if」ではなく「unless」を使い、範囲元にレッドストーンブロックが置かれた時を検知しています。※単体は「if block」で検知。範囲を比較するには「if blocks」を使用します。
コマンド変更(統合版)。
統合版は処理速度が遅いため「execute unless blocks」の代わりに「setblock air」を使います。
①は座標(0 -59 5)。リピートコマンドブロックは全て動力が必要。
◻︎チャットコマンド使ってブロックを設置。
①setblock 0 -59 3 repeating_command_block ["facing_direction"=2]
②setblock 1 -59 4 repeating_command_block ["facing_direction"=3]
【統合版】
①setblock 0 -58 3 air |
①信号がある時、座標に空気ブロックを設置。
音を鳴らすために召喚したレッドストーンブロックを消します。①を参考に座標を変え、コマンドを入力していきます(全25個)。
仕上げ
低音と高音。
低音と高音を作るには、装置を増設するのが簡単ですが、今回の追加のサンプル曲はコマンドで再生しています。音を鳴らすには、追加で防具立てを設置します。
防具立て「D」は座標(1 -60 6)、「E」は座標(15 -60 6)。
【Java版】
/summon armor_stand -1 -60 6 {CustomName:"\"低音\""} /summon armor_stand 15 -60 6 {CustomName:"\"高音\""} |
【統合版】
/summon armor_stand 低音 -1 -60 6 /summon armor_stand 高音 15 -60 6 |
防具立ての頭上に音符ブロックを設置します。
仕上げ。
鍵盤の周りをブロックで囲みキーボード風に仕上げます。
遊び方。
【曲の選択】 ①のレバーを押し、ファンクションを実行。
【再生と停止】 「A」の感圧版に乗ると曲を再生、降りると停止。※レバー操作も可。
【音色の変更】 ブロックを「あ」に設置すると、音色の変更が出来ます。
【テンポの変更】 tickコマンドで、テンポを変更出来ます。※Java版のみ。 /tick rate 20
タイマー楽譜
鍵盤表。
音階と音符ブロックのクリック回数が分かる鍵盤表。
音符コマンド。
テキストエディタを使って、タイマー楽譜を作ります。コマンドはコピーして音符を入力していきます。
【Java版/統合版 共通】
①execute as @e[scores={Onpu=12}] at @e[name=R6] run clone 2 -60 0 2 -60 0 ~ ~4 ~ ②scoreboard players reset @e[scores={Onpu=24..}] Onpu |
①防具立て「O」のスコア「Onpu」に合わせて「え」のレッドストーンブロックを防具立て「R6」の4ブロック上にクローン。 ※「Onpu=12」は音の長さ。「name=R6」は音符ブロックのクリック回数(音階)。
②防具立て「O」の「Onpu」が24以上になった時「Onpu」をリセット。 ※曲をループする時に使います。
タイマー楽譜で「ドレミ」と鳴らす場合)
♯ドレミ execute as @e[scores={Onpu=12}] at @e[name=R6] run clone 2 -60 0 2 -60 0 ~ ~4 ~ execute as @e[scores={Onpu=24}] at @e[name=R8] run clone 2 -60 0 2 -60 0 ~ ~4 ~ execute as @e[scores={Onpu=36}] at @e[name=R10] run clone 2 -60 0 2 -60 0 ~ ~4 ~ . . . scoreboard players reset @e[scores={Onpu=48..}] Onpu |
※ファンクションの場合、コマンド以外のコメントには「♯」を付けておきます。
楽譜はファイルの拡張子を「.mcfunction」で保存。※ファイル名は半角英数。
楽譜の読み方
記号や拍子の種類。
音符と音の長さ。
Onpuの入力例。
開始のスコアが「Onpu=0」だと音が出せないので、0以上の数字にします。 休符やタイも音は鳴らさず足していく。割り切れない数字は、小節の長さを優先し調整します。 ※16音符や連符などうまく音が鳴らない場合があります。音符を減らしたりして誤魔化します。
ワールドデータ
完成データのダウンロード。
ワールドデータは、コマンド入力不要。「開始レバー」を下げると装置が起動。サンプル曲と鍵盤用ファンクションが入ったデータをダウンロード出来ます。
◎ダウンロード先/タイマー楽譜で演奏
□統合版【動く装置】タイマー楽譜で演奏v1.20.mcworld(ビヘイビアーパック込み)
iOS、Android/Minecraftで開く。Windows/ダブルクリックでインポート。
□Java版【動く装置】タイマー楽譜で演奏v1.20.zip(データパック込み)
解凍後、ワールド内の「saves」フォルダに入れる。
※二次配布は禁止です。
フォルダの場所
オリジナル曲を追加するには、ファンクションフォルダの中にタイマー楽譜を入れます。
ファンクションフォルダの場所。
【Java版】
タイマー楽譜で演奏.zipを解凍。「datapacks」→「Onpu」→「data」→「note」→「function」
※Java版1.21から「functions」→「function」に変更。
【統合版】
アドオンをインポートしたら、導入したいワールドで一度ビヘイビアーパックを有効化します。ファンクションフォルダの場所は、デバイスによって異なります。
◻︎ワールドの場所
日付順に並び替え→日付の一番新しいワールドを開く。「behavior_packs」→「Onpu」→「functions」→「note」
◎iOS
「ファイル」アプリから、ブラウズ→「minecraftWorlds」で検索。
◎Android
Minecraftの設定→プロフィール→ファイルストレージの場所を外部にチェック。
「ファイルマネージャー」などのアプリから
メインストレージ\Android\data\com.mojang.minecraftpe\files\games\com.mojang\minecraftWorlds |
◎Windows ※AppDataは隠しファイルになっています。
C:\Users\ユーザー名\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds |
※マインクラフトを起動中に修正した場合は、/reload コマンド。タイマー楽譜を追加した場合は再起動する必要があります(統合版)。