オンゲキのオプションと演出

以前オンゲキのレーンカラーについて書いたことがありましたが、それに加えていろいろと仕様周りについて分かったことがあるのでメモついでに書いておきます。
長くなりそうなので見出し要素も使ってみよう。

レーンカラーオプション

レーンカラーのオプションで設定できるTYPE-AからTYPE-F、色覚サポートまでそれぞれのボタン色の組み合わせは以下の通りです(左中右ボタンの順)。

  • TYPE-A: 赤緑青
  • TYPE-B: 赤青緑
  • TYPE-C: 緑赤青
  • TYPE-D: 緑青赤
  • TYPE-E: 青赤緑
  • TYPE-F: 青緑赤
  • 色覚サポート: 赤緑青(赤が暗め、緑が明るめ)

またサイドボタンの色は標準で左が青紫、右が赤紫色で、これも4パターンの組み合わせから選択できます。

自分はレーンカラーは右に赤が来る方がしっくりくるので、基本的にTYPE-Fでプレイしています。

レーンカラーと演出

さてオンゲキバトル中は音符や敵弾が流れてくる他に、レーンの線を用いてお絵描きをしたような演出が流れてくることがあります。
空や海を歌う箇所では青いラインが広がったり、歌っているキャラクターのイメージカラーに合わせた色に統一させたりと広い表現の幅があるわけですね。

この線の色はオプションの設定に従って変わるので、自分の設定だと赤い海や赤い空が広がったり、またエンディングテーマの最初に赤い糸が垂れている様子を再現した譜面では青い糸が垂れてきます。
オプション設定次第で曲の演出が意図されたものにならないという問題なのですが、元の色を想像できるのでさほど大した影響はありません。

基本的にレーンカラーが原因でプレイに支障が出ることはありませんが、画面いっぱいに青いホールドノートを敷き詰めた状態で弾がばらまかれるluna bluに関しては赤いラインの上に赤紫の弾が散らばる状態になるため、視認性がそこそこ下がったりします。

ノートの描画優先度

画面にあるノート同士が重なるとき、基本的には手前側にある(時刻が早い)オブジェクトが上に描画されます。
同じ時刻にあるノートが重なっているときは、
敵弾>フリック>=ノート(ホールド始点)>ホールド終点>ホールド途中のライン
の順に優先されているようです。

ホールドのライン同士が重なったときの描画順についてはやや特殊で、

  • 色覚サポート以外: 赤>緑>青
  • 色覚サポート: 青>赤>緑

の優先度で上に表示されます。つまり 赤>緑>青>暗赤>明緑 の順ですかね。
ただし、ホールドの終点位置が違う場合は「画面に見えている終点の位置」が奥にあるホールドが優先して描画されるようです(要検証)。

以下特殊なホールド描画が見られる箇所の例。
続きを読む オンゲキのオプションと演出

BeMidiSlicer更新

書こうと思っていた内容はあるものの、何もないまま8月が終わり9月に入ってしまいました。毎回こんな感じですねー。

9月になって早速、完全に自分用のツールBeMidiSlicerをVer.0.96に更新しました。
更新点は複数トラックのオプションをまとめて編集できるようになったところです。
他にも色々追加したい機能はあるのでちまちまと作業したいところではありますが、如何せん(主にGUI周りが)なかなか面倒で腰が重い問題。

現状追加したいと思っている内容は

  • キースイッチ
  • サイドチェイン(複数トラックをひとまとまりとみなす)

の二つ。どちらもMIDI出力が多少ややこしくなりそうで腰が重いという。
現状でも曲を書き出す時点でトラックを分ければ手間は掛かれど一往の対応ができてしまうというところも、優先順位が下がっている要因となってしまっています。

これと併せて全く進んでいない音楽ゲーム作りの方も少しずつ取り掛かっていきたいですね。
BeMidiSlicerが音切り補助ツールにあたるので、後々は譜面配置補助ツールも欲しいところ。
……まずはゲーム自体が形にならないと駄目ですか。

音楽ゲームに音は必要か

というのも、各種音楽ゲームにいい曲が収録されているkamome sano氏の以下のツイートが引っかかっているからなのですけれども。


本人にとっては何気ない発言だとは思いますが、少なくとも2020年1月半ばあたりまでは音楽ゲームに音があると思っていなかった、ということでしょう。たぶん。
それぞれのゲームのボタン配置やシステムに合わせた曲も作る方なのですが、それらはあくまで(音以外の)レベルデザインのひとつである、ということでしょうか。

そもそも音楽ゲームに音の要素が必須であるかというと、プレイしやすくなるだけで大半のゲームはそうでもなかったりします。
音符が判定エリアに重なったらボタンを押す系統のゲームは極端な話、目視だけでタイミングを計ることは可能です。譜面停止が入ったり、リズム天国やスペースチャンネル5みたいなゲームになると視覚だけで対処することが困難な場面が出てきます。

スクロール式の音楽ゲームで譜面のスピードを速くしている人は目視でタイミングを測りやすくしているのだと思いますが、高速で大量の音符を捌くような高難度の譜面を無音でプレイするとスコアがどれくらい変わるのかは気になるところです。無音でもスコアが変わらないならば、ゲームに音が無くても問題ないと言えるかもしれません。
体でリズムを覚えている場合はまた話が違ってきそうですね。音とリズムを分けて考えるかどうか。

続きを読む 音楽ゲームに音は必要か

ビットレート変換の段

前回Waveファイルのサンプリングレート変換らしいことをしてみたので、次はビットレートの変換もできるようにしました。ビットレートというよりはビット深度ですか。
前回軽く解説的なことをしたので、今回もメモ的に残してみます。とはいえややこしいところは少ないので、周波数の変換に比べればだいぶ楽ですね。

Waveファイルのフォーマットではだいたい8ビット、16ビット、24ビット、32ビットの4種類が使われていて、
それぞれsigned char, short, int, floatの型で表すことができます(32ビット整数型もありますがややこしいのでスルー)。

それぞれのビットレートで持てる値の範囲は以下の通り。

8bit
0 ~ 255
16bit
-32768 ~ 32767
24bit
-8388608 ~ 8388607
32bit float
-1.0 ~ 1.0(範囲外の値も持てる)

基本的に値が0の時に無音なのですが、8ビットのみ128で無音になるので注意が必要ですね。

続きを読む ビットレート変換の段

サンプリングレート変換の段

今作っているゲームでは音声の再生にWASAPIを使ってみているのですが、
PCの設定次第で出力される音声フォーマットが違うのでそれぞれ対応する必要があることに気付きました。

用意している音声データは16bit/44100Hzで、同じ出力フォーマットの環境だと問題ないものの
HDMI側の音声出力を使ってサウンドコントロールパネルから16bit/48000Hzの形式に変えると音が間延びして再生されます。
これを正しく再生させるための対応として、44100Hzの音声データを別のサンプリングレートに変換する必要が出てきました。
Unity等だとこの辺りは自動でやってくれそうですね。

というわけでサンプリングレート変換の方法は大まかに下の二つの模様。

  • 音声データをn倍したり1/nに間引く
  • フーリエ変換して周波数成分を取り出し、逆変換して戻す

……このあたりの知識はあまり無いのですが、後者の方法は見るからに大変そうな上にちゃんと戻せるのか不安なところがあります。
というわけで前者の方法を取ることにしました。(10/4 フーリエ変換の方法を試してみました
続きを読む サンプリングレート変換の段

音楽ゲーム作りの段

もう5月も終わりですね。
COVID-19による緊急事態宣言も一往は解除されたということで、徐々にステイホームしなくてもいい感じになりますね。しっかり手洗いをしたり適度に距離を開けたりといった自己防衛は引き続き大事です。

自宅にいる期間が長かったこともあり、去年の5月にほんの少しだけ作りかけて放置していた音楽ゲーム(予定)の続きを進めてみました。
ひとまず曲を読み込めて演奏できるところまで。曲はアレっぽい風味でとりあえず。

……動画で見ても分かりにくいかもしれませんが、譜面のスクロールは手動で行う形です。曲の現在の演奏箇所も基本的には表示されず、練習時のアシスト機能としては自動スクロールと合わせて表示できる形にする予定。

この動画の状態からスコアの計算を入れたら一往は音楽ゲームらしい形になりそうです。多分。
続きを読む 音楽ゲーム作りの段

TwitterとJASRAC

現在流行しているCOVID-19の影響で、このところの外出頻度が大幅に落ちています。外に出ないに越したことはないので、この機会にゲーム等の製作が進むことが期待されますね。
しかし実際の進捗は今までと大して変わらない気がする謎。


先日、星野源氏が「うちで踊ろう」という曲の動画をinstagram、後にTwitterで発表して話題になっていました。

伴奏やコーラス、イラストやダンスを重ねてくださいねとある通り、実際に合わせてパフォーマンスをした動画が数多く投稿されているようです。とてもいい取り組みだと思います。

これに関して、先日調べてみたこともあり、コラボしてみた動画の投稿がJASRAC的にはどういう扱いになるのか改めて確認してみました。
続きを読む TwitterとJASRAC

Lo-Fiというもの

スマートフォンから記事を更新するようになったとは言うものの、電車やバス等で長めに座っている時間が無いとなかなか更新できませんねー。
書こうと思っている内容は溜まっているくらいなのですが、時期を過ぎてしまうとさらに動きづらくなるという。

先日、所謂Lo-Fi的な感じの曲を試しに作ってみました。

boorx-lのステージとして作ると効果音で不協和音のような音が生まれる点はどうしようもないですね。
効果音もランダムでいくつか鳴らす形なので、曲に展開があってもそれに合わせて変更することができないという問題もあります。
展開をつけられない故に1分くらいの曲をさくっと作って組み込めるというあたりは利点。
曲を作った段階では効果音について考えていないので蛇足となりがちなあたりは難点。

続きを読む Lo-Fiというもの

ツール(WaveEffectSplit-er)公開&BeMidiSlicer更新

前回の更新が1月6日で、今日が3月3日です。
1月が行くどころか2月が完全に逃げてしまいましたね。なんとも早。

さて、WaveEffectSplit-erなるツールを公開しました。
変な名前ですがWavファイルを無音部分で分割するというありがちなツールです。
自分用のツールなので他の人が使えるかは分かりませんが、折角なのでGUIとして形を整えてみたという感じですね。

このツールと同時に、以前見切り公開していたBeMidiSlicerも更新しました。
こちらも自分用ツールなのですが、こちらの更新の方がメインです。
更新内容は

  • BPM変化がある際の出力ミス修正
  • コントロールチェンジに対応(動作未確認)
  • ウィンドウサイズが可変になった

という感じ。この更新でGUIがある程度作りやすくなったので、先のWaveEffectSplit-erを併せて作ったようなものです。

コントロールチェンジには対応しましたが、RPNやNRPNには対応していません。
後のバージョンアップで対応する……のかは分かりません。
目下更新したいところとしては、設定が保存されたテキストファイルをJSONかTOML形式あたりにしたいというところ。
近いうちにMidi2.0の仕様も定まりそうで、そちらに対応する必要もあるのでしょうかねー。

続きを読む ツール(WaveEffectSplit-er)公開&BeMidiSlicer更新

→2020

一月も1%が過ぎまして、今年もよろしくお願いいたします。
ほとんど動きのないこのサイトですが、徐々に何かしていきたい所存です。毎年こう書いている気もする。


昨日はTVアニメの「映像研には手を出すな!」が放送開始ということで、第一話を観てみました。

原作の漫画自体はしっかり読んだことがなく、吹き出しにパースが付いている程度の知識しか無い状態でしたが、最初の入りからかなり完成度が高いように感じました。
学園の青春ものとしてこれでもかとロマンが詰め込まれた舞台や演出が好いですねー。我々はモラトリアムに守られている故にノーリスクであるとか。

NHKのアニメは気になるものこそあれあまり通して観たことがない中(電脳コイルとか)、これは時間帯的にも都合が悪くなさそうなので次回も観てみる所存です。