2022年12月16日金曜日

MIDI を Waterfall + ピアノで楽しむアプリを作った

MIDI を Waterfall + ピアノで楽しむアプリ Waterfall Piano を作りました。 中国はこの形式でピアノを学ぶことが一般的になったらしいので、 似たようなことをしてみたいと思って作りました。音楽教室などでも使えるかも知れません。



実装上は UI の苦労が多かったです。ピアノロールの綺麗な表示自体、かなり苦労しました。 最初はピアノロールを可変表示にしたほうがゲーム性があって良いかと思っていたのですが、 長さが短くなり過ぎると UI が崩れて使いにくくなると気付きました。 処理をいじって綺麗な表示にしようとするのは、かなり大変そうです。 とはいえ 88鍵盤すべて表示するとタブレットでは遊べなくなってしまいます。 人間の世界は基本的に可変長 UI では動いていないので、 ゲーム化するにはある程度の固定長 UI にしないと、成立させにくいです。

どうするのがいいか悩んだ挙句、可変長表示に対応しつつ、現状ではゲームではなく楽譜としての利用をメインにすることにしました。 今は Waterfall 型の楽譜をタブレットで表示しながら、本物のピアノか MIDI キーボードで遊ぶことを想定しています。 機能的には途中から再生したり、速度を変えて練習する機能があると嬉しいと思ったので加えています。 音ゲー的な要素はほとんどありませんが、 本物のピアノか MIDI キーボードで遊べれば十分とも思ったので、ひとまず良しとしています。

とはいえ将来的には MIDI キーボードの入力にも興味はあります。 ピアノロールの長さを制限したピアノのアプリなども興味はあります。 特に最近 Firefox が Web MIDI API に対応したので、MIDI キーボードはだいぶ希望が見えてきたように思います。 ただ現状では、どちらも検討材料が多いのが現状です。 MIDI 系のアプリは手探りのところが大きいので、 簡単にできることを一歩ずつ固めながら作っていきます。

再生自体は ほぼすべての MIDI ができると思います。 音質に関しては、クラシックなら完璧です。 とはいっても真面目に聞くと若干ノイズはある。 ゲーム音楽は音量調整か残響音あたりに少し違和感があるかも。 まあライブラリの限界ということで現状は仕方ないです。 それでも個人的には、何の準備もなしに古の名作ゲームの MIDI をピアノと一緒に眺められるようになっただけで、割と満足はしています。 Nepheshel はいいぞ。

0 件のコメント: