
ゲーム紹介
*1weekどころか4weekでも完成してなくてごめんなさい*
*動かない場合はブラウザのサイトデータを一回消去すると直る...はず!*
譜面読み込んでピアノ弾くぞいゲーム(?)HikuscoreのLow spec edition ”Re"makeです。
「Auto Tune」モードなら誰でも練習なしでもピアノほぼ弾けちゃいます。
タッチ操作OK、キーボード操作は「Auto Tune」か「Easy」モードなら初見でもいけるはず。
メモリ1Gレベルの低スぺ機(旧Fire7とか)でも動くのでタブレット端末でも遊べるよ。
「Pre-ImportMode」はモバイル(低メモリ)勢用なので一般人はオフでOK
【requestMIDIAccess(= MIDIキーボードの接続許可)がうまくできない場合】
モバイル表示時のようにページ内のiframe(id="webgl-frame")のsrc
(現時点では、https://object-storage.tyo1.conoha.io/v1/nc_df3bdbc45bc04950b558834f5728517a/unityroom_production/game/35045/webgl/play.html )
を別タブで開いていただければ大丈夫になるはず
(オレ環:一度ダメだったのですが、なんか別タブで開いて許可取ったからなのか現時点ではこのページ上でも接続できてる)
【更新情報】
0.9.9e:
修正:「QueBlockTP」のキー判定バグ修正→再調整するかも
変更:「QueBlock」の左手の基準音=C4の位置をFからSに変更
新規:ゲームパッド操作対応→想像してたより弾き心地悪かった。再調整するかも(D-Padの押し感の悪さは調整でどうにかなると思えないが)
---------------
0.9.9d
修正:プリセット修正
---------------
0.9.9c
追加:新規レイアウト、「QueBlockTP」、「QueBlock」追加
変更:Dailyは廃止、プリセット増量
---------------
0.9.8f
修正:.sf2のインポートバグ修正
---------------
追加:Midiキーボード入力対応
修正:細かいとこいろいろ
---------------
修正:canvasのIDがデフォルトテンプレとunityroomと違うのに今更気づいたので取得方法変更(タッチ操作とかできてなかったかも?
変更:インポートの方式を保存なしのシンプルな形式に変更
追加:インスタンス読み込み前にインポート用のファイル選択ダイアログを開ける「Pre-ImportMode」を追加(モバイル(低メモリ)勢用)
---------------
変更:webglでの出音方式を.sf2ファイル読み込んでsynthesizeする.jsのライブラリに変更。
修正:いつの間にか消えてたプリセットの『ジングルベル』を復活
修正:インポートしたファイルのセーブが上手くできてなかったの修正
修正:daily ??? の読み込み後の名前入れ替えの時にインポートがあった場合に場所が違ったの修正
修正:タッチ操作でリリース処理がうまくいかなかった時の「保険メソッド(タッチ数ゼロになったら全部リセットする)」の呼び出しが失敗することがあったの修正
--------------------
修正:weekly ???が日付計算を間違えて日替わりになっていたのでいっそのことDailyに変更
--------------------
追加:モードに「Side(キーボードを両端配置、カップルでも遊べるバレンタインモード?)」と「Side B(ノートは下へ)」を追加
タッチ判定微変更:キー端の両押し判定を「移動」の時だけに変更&レイアウトも少し変更
譜面追加:週替わりで変わる「Weekly」を追加
AutoTune微修正:そのセグメントの音を全部押すとターゲットが次に移るように変更(次の次にはいかない)
--------------------
主に外部アセットとか置く用で内容はまったく同じやつ(MIDIキーボード接続OK)→https://hikuscorele.pages.dev/
【Mode: Easy】は鍵盤の音階とは非連動、 2 / 3ボタン式で弾いてる感だけ味わっていただければ
【Daily???】プリセット曲の「Daily ???」は日替わりで自動で入れ替わります。外部アセット化しているので置き場(cloudflare)が落ちてる等で拾えない時は「Silent Night」になります。
【Mode: AutoTune】は「左右それぞれ押してる鍵盤の数」が合っていれば適当に弾いてても自動的に正しい鍵盤を押してることになるシステムです。そのセグメントごとに押されるべき鍵盤のリストが作られ、優先順位に従って押さえ・離されます。ノートの長さが0.3秒未満の短いもの(黄色で表示されるやつ)はタイミングがムズィので注意だね。
【譜面読み込み機能】
想定操作方法は「Settings」画面上に「.xml / .sf2」のファイルが入ったフォルダをドロップする感じ。
「Settings」画面右上のテキストをクリックで選択ダイアログのファイル(複数可) / フォルダを切り替えられます。
選択されたファイルの中から「.xml」と「.sf2」ファイルだけまとめてインポートされます。
インポート後に「Reset >>>」を選んで右の「?」を全消去できます。
読み込めるのはMusicXml = 「.xml」ファイルでピアノソロのもの
midi_num 0~127(=C-1~G9)まで、トリル記号は非対応(反映しないだけでバグりはしない)、日本語フォントはあえて入れてないのでwork titleに日本語は未使用希望。
片手それぞれ2声部まで対応(越えるとバー重なる)
現時点では同音オクターブ違いの声部(長さ)違いは非対応(バー重なる)
Musescoreに無料でDLできるpublic domainのものでもイイ曲結構あるんで是非
(お勧めセットは制作中)
(タイトル画面右下「Pre-ImportMode」はオンにするとゲームロード前にファイルを選べるようになります(低メモリ勢?モバイル勢?向けのモード)
ちなにみ、.sf2ファイル(https://hikuscorele.pages.dev/SE/Full%20Grand.sf2)をローカル保存しておいてインポートして使うと「settings -> play」遷移の初回音源ダウンロード時間が短縮できます。
【タッチの両押し判定について】
それぞれの鍵盤の両端には、「移動」の時だけ、隣のキーとの両押し判定があります。これは、「二本の指を揃えてタッチすると真ん中1点を押したことになる」対策です。二本の指を揃えて二つのキーをタッチするときは、完全に同時ではなく一瞬(1フレーム以上)タイミングをずらしてタッチ(または1本指で端をこするようにタッチ)していただければ、1点押しになったとしても移動判定で両押しが発生します。
【キーボード】
左手:黒 2~7 ( & 9 - ^), 白 Q ~ U ( & I - [), "@, ^"はキーコードが機種?によって変わってて使えないかも?
右手:黒 G~; ( & A - F), 白 V ~ . ( & Z - C). ";, :"はキーコードが機種?によって変わってて使えないかも?
Back Space:ポーズ
←→:左手側のキーボードシフト
↑↓:右手側のキーボードシフト
マウス:ボタン押したり(鍵盤は押せない)
【MIDIキーボード入力】
Midi Keybord入力機能は実験段階
Velocityは127固定
C4以上が右手側として入力されます
Left hand < note number 60(C4) >= Right hand
プレイ中は、CC(176)のオールオフ(120)でポーズ
ポーズ中は、
C~F#までドロップリスト開いてる時は表示されてる上からキー番目(C = 0, C# = 1, B = 2)の曲を選択
リスト開いてない時は現在からC=-1、B=+1の曲を選択
Gでスコアのドロップリスト開いたり閉じたり
G#でドロップリスト五個分上にスクロール
Aでドロップリスト五個分下にスクロール
A#でリセット
Bでプレイ
CC(176)のオールオフ(120)でプレイ
ちなみに、MIDI機器を繋いでからブラウザを起動しないと認識されないぽい(firefox)
接続(許可)に成功すると、f12のコンソールで「requestMIDIAccess: successCallback」、
認識されているMIDI機器の数だけ「Connect MIDI Device: ${n}」が出力されます
ゲーム内で使用させていただいている楽譜です。
提供様ありがとうございます。
上記の条件検索で出てくる(無料DL可)の楽譜はだいたいインポートできる(難易度Beginnerにチェック入れれば適合性アップ!)はず?
Download > MusicXml > 解凍後フォルダ直下のscore.xml("score"が別の名前の場合もある)をインポートしてください。
(極々たまにmusicscoreで開くと「音符の長さが合わない」などの警告がでるような微妙に壊れてるのもあるので注意。読み込みが終わらない時はこれの可能性)。
.sf2ファイルを読み込んで音を出すところで使用しています。
GNU Lesser General Public Licenseなのでjsは外部に置いてあります。
https://hikuscorele.pages.dev/js/libfluidsynth-2.3.0.js
https://hikuscorele.pages.dev/js/LICENSE.fluidsynth.txt
感謝感謝。
fluidsynth.jsをjs-synthesizer.worklet.min.jsを通して使用しています。
使用していないメソッドをカットしただけで、基本的には完全にほぼそのまま使用しています。
大変、参考になりました。
感謝感謝。
QueBlockTP / QueBlockモードでmusicxml情報読み込みと譜面画像作成に使用
コメント
コメントを残すには、ログインが必要です。 新規ユーザー登録 / ログイン