The UMP Manual

14版 (1.6向け) 2023/3/27

UMPの基本、上手に使うためのヒントやありそうな質問の答えなどを書いていきます。逆引き的ななにか強化中です。加筆・修正・翻訳提案受け付けています。

UMPとは?

UMP (Ultralight MIDIPlayer, 超軽量MIDIプレイヤー) は、MIDI動画づくりを助ける超軽量・多機能なMIDIプレイヤーです。MIDIの再生に加え、ラグなし動画の出力やノートカウントなどのたまに便利な機能と、きれいなGUIを特徴とします。

クイックスタート

1. いい感じのPCを用意

これくらいあればUMPはスムーズに動くはずです:

2. Javaをインストール

インストーラーをJavaのサイトからダウンロードし実行します。

インストールするJavaはお使いの環境に最も適したものを選んでください。例えば、64ビットWindowsなら64ビットとはっきり書かれているもの、AppleシリコンMacならaarch64版です。違うJavaをインストールするとパフォーマンスに影響が出ることがあります。

Windows用インストーラーのリンク。

3. MIDIシンセを用意

MIDIを聴くにはMIDIシンセサウンドフォントが必要です。

シンセはOmniMIDI (プロ向け高パフォーマンスシンセ) あたりがおすすめです。Javaを入れるとついてくるGervillなどのシンセは黒MIDIには向かないのでやめておきましょう。

サウンドフォントは調べるといっぱいでてきます。ダウンロードして、シンセを設定しておきましょう (このマニュアルでは触れません。お使いのシンセの説明書をご覧ください)。

4. UMPを起動!

UMPメインページから本体をダウンロードし空のフォルダに展開します。

UMPフォルダ。一部のフォルダは起動時に自動で作られたり、必要なときに手動で作ったりします。

WindowsではMIDIPlayer.batを開きます。

他のOSではコマンドを実行します:

ターミナル
$ java -jar MIDIPlayer.jar

インストールしたMIDIシンセを選んだら準備完了!

5. MIDIを再生

メニューバーの[ファイル]→[開く]を選ぶか、.midファイルをドラッグ&ドロップすると再生します。

一応、.zipファイルやフォルダをドロップすることもできます。この場合、UMPはその中の最初の.midファイルを開きます。

6. 次のステップ

9. アンインストール

UMPフォルダを消すだけ。簡単だね!

気になる方向け: UMPはシステム設定やレジストリをいじらないので、アンインストールは本当にこれだけです。

UMPランチャー

UMPランチャーはWindowsでUMPを起動するシンプルなバッチファイル (MIDIPlayer.bat) です。テキストエディタで編集することで設定を変えることができます。

設定

設定項目は5行目から始まります。名前と値は= (前後にスペースなし) で区切られます。

MIDIPlayer.bat
set INITIAL_MEMORY=2G
set MAX_MEMORY=2G
set JVM_ARGS=-XX:+UseG1GC
set UMP_OPTIONS=
set PAUSE_AFTER_EXIT=false
set CRASH_ON_OUT_OF_MEMORY=true

INITIAL_MEMORY

MAX_MEMORY

JVM_ARGS

UMP_OPTIONS

PAUSE_AFTER_EXIT

CRASH_ON_OUT_OF_MEMORY

コマンドラインからの使い方

ランチャーを使わない方向けの解説です。

構文

java [JVMオプション] -jar MIDIPlayer.jar [UMPオプション] [[--] <MIDIファイル>]

JVMオプション

JVMオプションはUMPの管轄外ですが、よく使うものを少しだけ紹介します。もっと知りたい方はjava -helpしてください。

-Xms<size>, -Xmx<size>

記述例: -Xms1560M -Xmx8G (1.5GB initial, 8GB max)

それぞれ、UMPが使えるメモリの量の初期値と上限です。サイズの最後にMやGをつけるとメガバイトやギガバイトにできます。巨大MIDIを読み込むときはこの値を増やしましょう。

-XX:+UseG1GC

記述例: -XX:+UseG1GC

ガベージファースト・ガベージコレクター(G1GC)を使用します。多分このGCが一番速いと思います。ガベージコレクションについて詳しくはWiki先輩へ。

UMPオプション

--no-april
4月1日~3日の間にUMPの動作が改変されないようにします。
-h, --help
ちょうどこれみたいなコマンドラインのヘルプを表示して終了します。
--version
UMPバージョンを表示して終了します。
[--] <MIDIファイル>
UMPの起動後にMIDIファイルを再生します。必要な場合、ファイルパスをオプションと区別するための--だけの引数を前に入れることができます。

レンダラー

DefaultMIDIRenderer

デフォルトです…

TickBasedDefaultMIDIRenderer

デフォルトです…が、描画間隔がテンポと連動します。120BPMで描画間隔プレビューと同じ速度になります。

最後の一瞬テンポが2倍になっているのに合わせてノートが速く動いているね!

KeyMIDIRenderer

MIDIチャンネルごとに押されている鍵盤だけを単色で表示します。テクスチャは使いませんが、リソースパックのノート色情報は使います。

HorizontalMIDIRenderer

ノートが右から左に流れます。画面中央の白い線が再生位置で、押されているノートは光ります。テクスチャは使いませんが、リソースパックのノート色情報は使います。

HexMIDIRenderer

全てのノートとテンポイベントを1トラックにまとめたときのMIDIファイルの中身をシミュレートして表示します。透明背景で動画出力した場合と暗い背景で再生した場合は文字色が白くなります。文字だけなのでリソースパックは全く使いません。完全等幅フォントが必要です。

動画をつくる

動画をつくるダイアログ。

FFmpeg

動画をつくるにはFFmpeg実行ファイルが必要です。FFmpegのサイトからパッケージ (ソースコードではなく) をダウンロードしておきましょう。

UMPフォルダにffmpeg.exeを置いておくと自動で選択されます。

種類・コーデック

種類ごとに使えるコーデックが変わります。また、動画ソフトごとに開ける種類とコーデックが変わります。使っている動画ソフトに合わせましょう。

動画開けるプログラム
種類コーデック透明背景WindowsOSXAfter Effects CC
映画&テレビMedia PlayerAVIUtlQuickTime Player
mp4x264
x265
movpng
qtrle
avipng

プリセット

  1. ultrafast
  2. superfast
  3. veryfast
  4. faster
  5. fast
  6. medium
  7. slow
  8. slower
  9. veryslow
  10. placebo

リストの上に行くほどエンコードが速く、動画ファイルが大きくなります。placeboその遅さの割には効果が薄いらしいです。

画質を良くする

設定を何も変えずにmp4を保存した場合、動画のビットレートは自動(200kbps?)で設定されます。もしそれで画質が悪かったり、動画がおかしくなっていた場合、高度な設定からビットレートを指定してください。品質基準VBRにCRFを20以下がおすすめです。

左: わざと極端に下げたビットレート(250kbps)。 右: いい感じのビットレート(CRF18)。

MIDI診断

MIDIを診断した例

"ノートカウント&MIDI診断"を使うと、再生するときより少ないメモリでMIDIファイルのノートを数え、問題を見つけることができます。再生できないMIDIがある時はまずこれで診断しましょう。実はほとんどはUMPではなくファイル側の問題だったりします。

名前備考
ファイルサイズ2進接頭辞 (たとえば、1KiBは1000Bではなく1024B、1MiBは1024KiB)
解像度PPQN
トラック
ノート
開くのに必要なメモリ同じMIDIでもConfigmidi.loaderThreadsの設定によって変化
長さ
テンポ途中でテンポが変わるMIDIでは"最小~最大"で表示
瞬間最高NPS計算が合っている自信がない
重なったノート

YAML

YAML (ヤムル、ヤメル) はUMPが設定ファイルなどに採用しているデータ形式です。YAMLは基本的にはキー (名前) と値をコロン (:) で区切ったものだと思っていい…と思います。

ちなみにYAMLは名前が「YAMLはマークアップ言語ではない (YAML Ain't Markup Language)」の略だったりホームページがYAMLで書かれていたりしていろいろ面白いです。

データ型凡例

String

例: "Hello, World!"

テキストです。"または'で挟むことをおすすめしますが、しなくてもほぼ問題ありません。

Integer

例: 77, 0x4d

整数です。

Float

例: 123.45

数です。小数も使えます。

Color

例: 0xffb900(黄), 0x000000(黒), "0xffffff"(白)

RGB色を16進表記したテキストまたは整数です。

Boolean

真理値、論理型とも。true (はい) かfalse (いいえ) のどちらかのみが使えます。

注意点

Config

UMPの設定はUMPのフォルダにあるconfig.ymlに保存されます。

Configを編集する前に必ずUMPを閉じておいてください。

サンプル

config.yml
version: 2
language: ja
midi:
  loaderThreads: 0
  loadNotesOnly: false
  usePlayThread: true
render:
  width: 1280
  height: 720
  fpsLimit: 120
  renderInterval: 5.0
  background: 0xc0c0c0
  usePFAColors: false
  resourcePack: null
  font: Monospaced
  overlay:
    opaque: false
    info:
      scale: 1.0
      type: DEFAULT
      position: TOP_RIGHT
      showDuration: false
    fps:
      type: SHOW_ALL
    desync:
      type: SHOW_NUMBERS
    loading:
      showMemoryUsage: false
ui:
  font: Yu Gothic UI
files:
  midi: null
  ffmpeg: null
  resourcePacks: null
updateChecker:
  checkOnStartup: true
  branch: development

version

Configのバージョンです。変えないでください。

language

UI言語です。日本語("ja")と英語("en")、そしてUMPフォルダにある言語ファイルの名前を設定できます。

参照: 翻訳

midi.loaderThreads

MIDIの読み込みに使うスレッド数です。0以下にすると、使えるだけ使います。

midi.loadNotesOnly

trueにすると、MIDIファイルを開くとき、ノートのみを読み込みます。楽器変更やペダル、ピッチベンドなど他のイベントは全て無視します (1.5.1までの挙動)。

falseにすると、ノート以外のイベントも一部読み込んで再生します。これにより一部のMIDIは、完全ではありませんが聞こえ方が良くなります。

midi.usePlayThread

trueにすると、画面の描画とMIDIをそれぞれ別のスレッドで処理します。この処理はタイミングを合わせることなく独立して行われるため、重いMIDIを再生していると描画だけが先に進み、高いフレームレートを維持する代わりに音がずれることがあります。

falseにすると、描画とMIDIを同じスレッドで交互に処理します (1.2までの挙動)。MIDI処理中に次の描画ができないので、フレームレートが下がる代わりに音がずれなくなります。

render.width

画面の幅です。

render.height

画面の幅です。

render.fpsLimit

フレームレート制限です。0以下にすると、無制限になります。

render.renderInterval

レンダラーの描画間隔パラメーターです。小さくするほどノートが高速で動きます。

render.background

画面の背景色です。

render.usePFAColors

trueにすると、PFAの設定ファイルを読み込み、PFAと同じ色でノートを描画します。これに失敗すると全色ランダムになります。

render.resourcePack

起動時に読み込むリソースパックのファイルまたはフォルダの名前です。nullまたは存在しないファイル名にすると、デフォルトのリソースパックを使います。この設定はUMPメニューからも変更できます。

参照: リソースパック

render.font

オーバーレイに使うフォントの名前です。Java側の問題でうまく表示されないフォントもあるみたいです。

render.overlay.opaque

trueにすると、全オーバーレイの背景が不透明になります。

falseにすると、全オーバーレイの背景が半透明になります。

render.overlay.info.type

再生情報オーバーレイに表示する内容です。以下の値のみ使うことができ、それ以外にするとデフォルト値に変更されます。

render.overlay.info.position

再生情報オーバーレイを表示する位置です。以下の値のみ使うことができ、それ以外にするとデフォルト値に変更されます。

render.overlay.info.scale

再生情報オーバーレイの大きさです。

render.overlay.info.showDuration

trueにすると、再生情報オーバーレイの時間の部分が、再生中のMIDIの長さも表示するようになります。 (例: 27.427.4/02:41.2)。

render.overlay.fps.type

FPSカウンターオーバーレイに表示する内容です。以下の値のみ使うことができ、それ以外にするとデフォルト値に変更されます。

render.overlay.desync.type

MIDIスレッド時間オーバーレイに表示する内容です。以下の値のみ使うことができ、それ以外にするとデフォルト値に変更されます。

ui.font

UIフォントの名前です。ボタンとかの字がダサかったら変えてください。

files.midi

最後に開いたMIDIファイルのパスです。

files.ffmpeg

最後に開いたFFmpeg実行可能ファイルのパスです。

files.resourcePacks

あなたがリソースパックを入れるフォルダです。nullにすると、UMPフォルダ内のresourcepacksフォルダになります。複数バージョンのUMPを同時に使う場合、この値を変更することで、1か所にあるリソースパックを共用できます。

updateChecker.checkOnStartup

trueにすると、UMPは起動時に新しいバージョンがあるか確認します。

updateChecker.branch

アップデートチェッカーに確認させるバージョンの種類です。

リソースパック

リソースパック(パック、または略してリソパ)は、PNG画像とpack.ymlファイルが入ったフォルダまたはzipファイルです。いくつかの画像はあとで着色するため、グレースケールになっているべきです。

UMPが使う画像。パックで全部変えられます。Coloredと付いているものが、グレースケールになっていたほうがいいもの。
実際のパックフォルダー。

notenoteEdgeは一番上の1pxしか使われません。パフォーマンスのため、画像はアンチエイリアス無しで拡大縮小されます。

pack.yml

サンプル

format: 0
name: "Synthesia Note Colors"
version: 1.1.0
author: "PipiraMine"
description: "No random colors."
note:
  loopColors: true
  colors:
    - 0x85f202
    - 0x71aceb
    - 0xf94b3b
    - 0xe18de6
    - 0xffec00
    - 0xffa300
signature: null

format

パックフォーマット。0以外のパックは非対応と表示されます。

name

パックリストに表示される、このパックの名前。

version

パックリストに表示される、このパックのバージョン。書き方は自由です。

author

パックリストに表示される、このパックの作者名。

description

パックリストに表示される、このパックの説明文。

note.loopColors

noteColors.pngまたは後述のnote.colorsで指定した色を繰り返して使うかどうか。falseの場合、色を使い切ったあとはランダム色になります。

true:
false:
note.loopColorsの効果。trueにすると、パックのノート色(このパックでは6色、デフォルトは16色)だけが使われます。

note.colors

トラックごとのノート色。マップを使った書き方の場合、最初のトラックは0番です。

colors:
  - 0xff0000
  - 0x00ff00
  - 0x0000ff
リストで色を指定した例(loopColors true)
colors:
  1: 0xffffff
  3: 0x000000
マップで色を指定。0番と2番のランダム色は、loopColorstrueでも毎回違う色になることに注意してください。

signature

翻訳

UMPは標準で日本語・英語と簡体中国語をサポートしています。UMPフォルダに言語ファイルを置くことで言語を増やすことができます。

de.lang
_lang=Deutsch
welcome.synth=Wählen Sie einen Synthesizer
welcome.synth.none=(Keinen benutzen)
welcome.next=Weiter
UMPフォルダに設置した言語ファイルとそれを認識するUMP。

言語ファイルフォーマット

# 構文:
key=value
# 例:
_lang=English
converter.speedLimit=Slow down render to %s%%
converter.speedLimit.unlimited=No render speed limit
converter.done=Finished rendering to:\n%s

言語メタデータ

メタデータは、UMPの翻訳と区別するため、キーの最初に_がつきます。

_lang

その言語の名前です。[言語]ダイアログや初回起動時の言語選択で使われます。

_lang.xx

その言語の他の言語での名前です。[言語]ダイアログで、言語ファイル名がxx部分と同じ言語の横に表示されます。

ja.lang
_lang=日本語
_lang.en=Japanese
en.lang
_lang=English
zh.lang
_lang=簡体中文
_lang.en=Chinese Simplified
ファイル名がen.langの言語を選択したので、他の言語の横には_lang.enの値が表示されている

_font

その言語を表示するのに適したフォント名です。より多くのOSをサポートするため、カンマ区切りで複数指定することができます(カンマの前後にスペースは入れないでください)。この中でインストールされている一番最初のフォントが、1つもインストールされていなければデフォルトのサンセリフが使われます。

ja.lang
_font=Yu Gothic UI,Meiryo UI,メイリオ
言語ダイアログでフォントが表示されている様子。Windows 8以前ではYu Gothic UIがないので次のMeiryo UIが使われます。

_createdBy

この翻訳を作った人の名前を格納することになっています。UMP内ではまだ使われていませんが入れておいて損はありません。

チュートリアル的な

簡易もくじ

メモリの割り当て

UMPはJVMというプログラム上で動作しますが、このJVMは使えるメモリの上限を決めてきます。これがメモリ割り当てです。大きなMIDIを開くためには、JVMにより多くのメモリを割り当てる必要があります。

割り当ての制約

はじめる前に、PCが使えるメモリの量を確認しておきましょう。これより大きい割り当ては意味がなく、UMPが起動すらしなくなる可能性があります。

お使いのPCが32ビットの場合、2GBを超える割り当てを試みるとUMPは起動しなくなります。これは32ビットPCの物理的な制約で、もっと割り当てるには新しくPCを買ってしまうことをおすすめします。

お使いのJavaが32ビットの場合も、2GBを超える割り当てを試みるとUMPは起動しなくなります。ただし、PCが32ビットでなければ、64ビットJavaをインストールすることでこの制限をなくすことができます。クイックスタートで少し触れているので良ければ見てってや。

PCのメモリの容量や、PCが32ビットかどうかの確認方法はOSによって異なります。このマニュアルでは解説しませんので、ご自身で調べてみてください。

ランチャーで割り当てを変える

  1. MIDIPlayer.batをテキストエディタで開きます。
    メモ帳で開く方法の1つ
  2. ランチャー設定INITIAL_MEMORYMAX_MEMORYの値を新しい割り当て量に変更します。
    MIDIPlayer.bat (before)
    set INITIAL_MEMORY=2G
    set MAX_MEMORY=2G
    MIDIPlayer.bat (after)
    set INITIAL_MEMORY=6G
    set MAX_MEMORY=6G
    6GBのメモリを使うように変えた例
    メモ帳で変えた後の画面はこんな感じ
  3. ファイルを保存し、UMPを再起動します。

コマンドラインで割り当てを変える

ランチャーを使わない方は、以下の例を参考に-Xms-Xmx引数をjava-jarの間に追加します。

ターミナル
# before
$ java -jar MIDIPlayer.jar

# after
$ java -Xms6G -Xmx6G -jar MIDIPlayer.jar
6GBのメモリを割り当ててUMPを起動するコマンド

メモリを使い切ると

ランチャーからUMPを起動している場合、UMPはメモリを使い切ると強制終了します。ランチャー設定CRASH_ON_OUT_OF_MEMORYfalseにすることでこの挙動をOFFにできますが、そもそもメモリ不足は多くのプログラムにとって回復不能なエラーであるため、UMPも動作が不安定になります。

メモリを使い切って強制終了されるとランチャーにメッセージが出るとかでないとか

WinMMパッチを当てる

Windows 10環境はMIDIがめちゃめちゃ重いので、WinMMパッチを当ててめちゃめちゃ軽くしましょう。

UMPはJVMというプログラム上で動作するので、UMPではなくJVMをパッチする必要があります。ちょっと面倒ですが頑張りましょう。

念の為、このパッチはJavaをアップデートするたびにしておくことをおすすめします。
OmniMIDI 14.6.2かそれ以前でパッチした方は、今すぐ最新のOmniMIDIで(UMP以外も全て)もう一度パッチすることを全力でおすすめします。古いパッチはあぶない!

JVMの場所を探す

  1. UMPを動かしておきます。
  2. タスクマネージャーを開きます。
    • ウィンドウの左下に[詳細]がある場合は、クリックして詳細表示にします。
  3. [プロセス]タブで、展開したらUMPが表示されるJVMプロセス("Java(TM) Platform SE binary")を探します。そこで右クリックし[ファイルの場所を開く]をクリックします。
    UMPを実行中のJVMプロセス
  4. エクスプローラーが出てくるので、パスをコピーしておきます。
    エクスプローラーのアドレスバーで右クリック→[アドレスをテキストとしてコピー]でパスをコピーできる

OmniMIDIでパッチ

  1. OmniMIDI Configuratorを管理者として開き、[Tools]→[Windows Multimedia Wrapper]に移動します。
    Windows Multimedia Wrapper
  2. [Patch an application]をクリックします。複数ある場合は、黒MIDI向けっぽいやつを選びます。
  3. ファイル選択ダイアログでJVMフォルダに移動し、java.exeを選択します。
    アドレスバーの空いているところをクリックするか右クリック→[アドレスの編集]で、コピーしておいたパスを貼り付けられるようになる
  4. UMPを再起動します。
  5. Enjoy!

手動パッチ

  1. JVMの種類に応じてパッチファイルをダウンロードします。32ビットならwinmm32wrp.dll、64ビットならまたはwinmm64wrp.dllです。
  2. パッチファイルをJVMフォルダに設置します。ここで管理者権限を求められるかもしれません。
  3. UMPを再起動します。
  4. Enjoy!

ノートの色を変える

リソースパックを使うとノートの色を変えることができます。

  1. 色を変えたいノートのトラックを確認します。ノートが1つもないトラックを飛ばして0から数え何番目かを覚えておいてください。
  2. resourcepacksフォルダを(なかったら作ってから)開き、そこに好きな名前でフォルダを作り、そのさらに中にpack.ymlファイルを作ります。
    このステップのあとのフォルダ構造
  3. pack.ymlをテキストエディタで開いて書き込みます:
    format: 0
    name: (好きな名前)
    version: 1.0
    author: (あなたの名前)
    description: (短い説明文)
    note:
      colors:
        (トラック番号): (変えたい色)
    当たり前ですが本名を書く必要はありません。
    0番からたくさんのトラックの色を変えたい場合は、リスト形式で色を指定できます:
    note:
      colors:
        - (色0)
        - (色1)
        - (色2)
  4. ファイルを保存し、UMPに戻って[設定]→[リソースパック]に移動します。
  5. 作ったパックが表示されるので、選択して[完了]。
  6. Enjoy!

音ズレをなおす

  1. UMPを閉じます。
  2. config.ymlファイルをテキストエディタで開きます。
  3. usePlayThread: trueを探し、usePlayThread: falseに変えます。
  4. ファイルを保存します。
  5. UMPを再起動します。
これにより音はずれなくなりますが、代わりにフレームレートが下がります。

AVIUtl拡張編集でAVIを開く

AVIUtlという名前の割にUMPがつくるAVIは開けないので、入力プラグインの力を使って無理やり開かせます。

  1. L-SMASH Worksをダウンロード。中のReadmeを読みつつインストール。
  2. 設定を開く([ファイル]→[環境設定]→[入力プラグインの設定]→[L-SMASH Works File Readerの設定])。
  3. 一番上の[Libav+L-SMASH]と[LW-Libav]をチェック。
  4. AVIUtlを再起動、またはプロジェクトファイルを開き直す。
  5. 透明背景のAVIを使う時は、動画ファイルの[アルファチャンネルを読み込む]を忘れずにチェック。
L-SMASH Worksは日本からしかダウンロードできません。
タイムラインに動画ファイルをドロップして追加できない場合、右クリック→[メディアオブジェクトの追加]→[動画ファイル]で空の動画オブジェクトを作り、設定ダイアログに動画ファイルをドロップするか[参照ファイル]から開いてください。
夢の透明背景が実現しテンションが上がった人。背景テキストはノートを見づらくする恐れがあるため、絶対に真似しないでください。

4月の機能

UMPには日本時間で4月1日と4月3日の間にだけ使える特別な機能があります。UMPは起動時に日付をチェックします。

この先ネタバレ注意!

2019年 (バージョン1.5以降)
2020年 (バージョン1.6 β2以降)
2021年 (バージョン1.6 β3以降)
2022年 (バージョン1.6 β4以降)
2023年 (バージョン1.6以降)

よくある質問・トラブルシューティング

UMPセットアップ

「上級者向け」について詳しく

UMPは、すでに黒MIDIと長く関わっているProfessional Blackerや、高度なプログラムを自分で探検して使っちゃうような人がすぐ馴染めるように作っています。

こんな方にはUMPはおすすめできません:

UMPがおすすめじゃないなら何がいいの?という場合は次の質問もご覧ください。

一応、このマニュアルはかなり詳しく書いたつもりなので、文字が怖くない方なら多少は使えるはずなんですけどね…

初心者がいきなり特大MIDIを開いてUMPが落ち、目の前に思いっきり「メモリが足りません」と表示されているのにバグったと騒いでいるのをよく見てきました。あなたもそうならないように気をつけて。

代替品は?

プレイヤー (UMPがわからない、動かないという方におすすめ):

プレイヤー 難易度 日本語 特徴
MIDITrail ★☆☆ 3D表示できる。ノートカウントあり。
Piano From Above (PFA) ★☆☆ 王道プレイヤー。これが重かったことがUMP制作のきっかけのひとつ。
Kiva ★★☆ 軽さが最も重要ならこれ。再生するMIDIによってはUMPより軽い。WinMMパッチ不要。

レンダラー (動画出力したい方におすすめ):

レンダラー 難易度 日本語 特徴
Zenith ★★★ Kivaとおなじ作者。設定とカスタマイズが豊富。故にちょっと複雑。おまけ機能でちょっとだけMIDI再生もできる。

シンセ (何を入れたらいいかわからない、OmniMIDIが難しい、動かないという方におすすめ):

シンセ 難易度 日本語 特徴
VirtualMIDISynth ★☆☆
(サイト英語)
サウンドフォント入れるだけでとりあえず動く。設定も簡単。
スマホ/タブレットで動く?

動きません。PC買えオラァァァ!!!

Mac (Appleシリコン) で動く?

動きます。ただしJavaがAppleシリコン用じゃないと少し重くなるかもです。

Linuxで動く?

動きます。Java 8が動けばなんでもいけるはずです。

Java 9/10/11/12/13/14/15/16/17/18で動く?

多分動きますが、UMPがJava 8でできていることは覚えておきましょう。なにか問題が起きたら報告する前にJava 8を試しましょう!

Java 7で動く?

動きません。

UMPを使う

音出ないんだけど?

シンセを正しく使えていません。以下を再確認してください:

シンセやサウンドフォントが何なのかわからない方は、目を大きく開いてクイックスタートをもう一度読むことをおすすめします。

音遅れるんだけど?

音ずれを許容してFPSを高く保つ機能によるもので、正常な動作です。MIDIパフォーマンスを最大化するために、以下をおすすめします:

それでも音が遅れる場合は、再生しているMIDIが強すぎるのかもしれません。もっといいPCを買うか、技術の進歩を待ちましょう。

FPSが低くなる代わりにこの機能をOFFにすることもできます。

他のプレイヤーだと別に音遅れないけど?

一部のMIDIプレイヤーはノートをそもそも再生せずにすっ飛ばすことで音の遅れから回復する機能を持ちます。UMPにその機能を付ける予定はありません。

他のプレイヤーと音の聞こえ方が違う

メモリ使用量を抑えながら再生できる限界です。動画を作るときはKMCなど音声出力するツールで作った音を使うことをおすすめします。

大きいMIDIを開けない・UMPが急に閉じる・メモリが足りなくなったと言われる

UMPが使えるメモリの量には上限があり、到達するとUMPは自動で強制終了するか動作が不安定になります。お使いのPCにもっと大きなMIDIを読み込めるだけのメモリが物理的に刺さっているのであれば、メモリ割り当てチュートリアルを参考に上限を変更してください。

重い!

軽くする方法がいくつかあります:

これでだめだったら…再生しているMIDIが強すぎるか、UMPがそのPCで動けるほど強くありません…ごめんね。でも動画出力はできるよ!

たまに一瞬固まるんだけど?

Javaがメモリのお掃除(GC)してます。完全に取り除くのは難しそう。動画出力はこれの影響を受けません。

GC設定に詳しい方はランチャーの中身を適当にいじってください。

FPS制限かけるとガクガクするんだけど?

UMPはVSyncに対応していないため、現状が限界です。ごめんね。一応、若干改善するかもしれないポイントを書いておきます:

UMPの機能

他のプレイヤーだと開けるMIDIファイルがUMPだと対応してないって言われるのは?

そのファイルは本当は壊れているからです。これらの読み込みに対応する予定はありません。作者に修正をお願いしてください。

PFAで鍵盤の上にある赤い棒つけないの?

つけません。PFAとひと目で見分けられるように。つけようともしないように。

半透明/角丸ノートできる?

できません。UMPってノートに透明部分が一切ないことが前提の技術を使っているんですよね。

88鍵/256鍵対応しないの?

今のところ対応する予定はありません。ノートや鍵盤の幅が変わることで見た目が崩れるからです。というか256鍵とか端っこの音聞こえないでしょ。

動画と一緒に音も出力しない?

音はあんまり重視してないのでその予定はありません。MIDIの音声を作るツールは既にいいものが出てるし、それをUMPに組み込んだところでそんなに動画編集で時短できなそうなので。

その他

クレジット書かないとだめとかある?

必須ではありませんが、書いてくれると喜びます。動画出力を使う場合、動画の最初のクレジットが映っていれば充分です。

正直これが映ってればそれだけでいい
Player: UMP
Video rendered with UMP 1.5
https://pipiraworld.web.fc2.com/ump/
書き方の例。参考程度にどうぞ。リンクを貼るならUMPトップページ(https://pipiraworld.web.fc2.com/ump/)だけにしてほしいかな…!
なぜにJava?

開発開始時一番 (というか唯一) 慣れてた言語。実は最近C++で試作プレイヤー作ったんですよね…もしかすると…? (まぁ一生完成しないかもしれないんですけど!)

読み込めるノートの限界は?

計算があってれば23,455,889,992,365ノートです。これだけのノートをMIDIファイルに入れるとサイズは127.9TiB、UMPが読み込みに使うメモリは1PB近くにもなります!

MIDIファイルに入るノート限界はこの倍くらいなので、UMPは実はあんまり読み込めない方です。

ソースは?

自分が更新し続ける限り非公開としています。その後公開するかはその時の自分次第。デコンパイルは許可していません。だめだよ。

寄付できる?

こんなのに寄付したがる人居るの?てか、お金もらう方法持ってないんだけど?どうしてくれんの?

UMP Discordサーバーに入ってるなら私にDMできるはずだから、本気ならNitroくれてもいいんですよ(チラッ)

おまけ

1.5.1

2019/4/29

1.5

2019/4/1

1周年

2018/11/17

1.4.1

2018/9

1.4

2018/7

1.3

2018/4

いい動画作りやがれアップデート。

Discordサーバーオープン

2018/2/11

1.2.2

2017/12

1.2.1

2017/12

1.2

2017/12

The color boost update.

1.1

2017/11

1.0.1

2017/11

1

2017/11/17

最初の配布。発表動画は最初の1週間で620再生を獲得。小さいチャンネルなので、普段の3倍くらいありそうな伸び方をされてちょっと引いた。

UMP 0

2017/11/8

なんとなく動画あげたらすごい伸びて大変なことになった。

MIDIPlayerTest

??? ~ 2017/7

PFA風の動画を作る最初のプロジェクトが始まったっぽーい!

First MIDI Project

2015/12/28

MIDI関連のプロジェクトで作った、現存する最も古いファイルの作成日。

Menu
inserted by FC2 system