The UMP Manual
第12版 (1.6向け)
2020/3/22
UMPの基本、上手に使うためのヒントやありそうな質問の答えなどを書いていきます。逆引き的ななにか強化中です。加筆・修正・翻訳提案受け付けています。
UMPとは?
UMP (Ultralight MIDIPlayer, 超軽量MIDIプレイヤー) は、MIDI動画づくりを助ける超軽量・多機能なMIDIプレイヤーです。MIDIの再生に加え、ラグなし動画の出力やノートカウントなどのたまに便利な機能と、きれいなGUIを特徴とします。
クイックスタート
1. いい感じのPCを用意
これくらいあればUMPはスムーズに動くはずです:
- マルチコア、2GHz以上のCPU
- GPU
- 1GB以上の空きメモリ
- Windows 7, 8, 10, OSX または Ubuntu 16+ (SierraとかMojaveとかではテストしてません☆)
2. Javaをインストール
インストーラーをJavaのサイトからダウンロードし実行します。

3. シンセを用意
仮想MIDIシンセを入れたことがない方は1つ入れましょう。CoolSoft VirtualMIDISynth (使いやすい) やOmniMIDI (むずい) あたりが有名です。
多くの仮想シンセはサウンドフォントを必要とします。適当に探し、シンセを設定しておきましょう。
4. UMPを起動
UMPメインページから本体をダウンロードし空のフォルダに展開します。

config.yml
は起動時に自動で作られます。WindowsではMIDIPlayer.bat
を開きます。
他のOSではコマンドを実行します:
$ java [JVM引数...] -jar MIDIPlayer.jar [MIDIファイルパス]
OSX/MacOSでは初回起動時にJDKのインストールを求められる場合があります。インストールしましょう。
5. MIDIを再生
[ファイル]メニューを使うか、.mid
ファイルをドロップします。
.zip
アーカイブやフォルダをドロップすることもできます。この場合、UMPはその中の最初の.mid
ファイルを開きます。
6. 次のステップ
- Windows10の方は忘れずにJavaをパッチしましょう。黒MIDI再生時、パフォーマンスの向上が期待できます。
- UMPが使えるメモリ量の変え方を覚えておきましょう。大きいMIDIを開くときに使います。
- メニューバーを探検し、オプションをいじってみましょう。
- Configとその書き方を読むといい暇つぶしになります。
- チュートリアルでUMPの賢く楽しい使い方を学びましょう。
9. アンインストール
UMPフォルダを消すだけ。簡単だね!
UMPランチャー
UMPランチャーはUMPを起動するシンプルなバッチファイル (MIDIPlayer.bat
) です。テキストエディタで編集することで設定を変えることができます。
設定
設定項目は5行目から始まります。名前と値は=
(前後にスペースなし) で区切られます。
set INITIAL_MEMORY=3G
set MAX_MEMORY=3G
set JVM_ARGS=-XX:+UseG1GC
set PAUSE_AFTER_EXIT=false
set CRASH_ON_OUT_OF_MEMORY=true
INITIAL_MEMORY
- デフォルト:
3G
UMPに割り当てるメモリの初期量。JVMオプション
-Xms
になります。
MAX_MEMORY
- デフォルト:
3G
UMPに割り当てるメモリの最大量。JVMオプション
-Xmx
になります。
JVM_ARGS
- デフォルト:
-XX:+UseG1GC
メモリ割り当て以外のJVMオプションをスペース区切りで。
PAUSE_AFTER_EXIT
- デフォルト:
false
true
にすると、UMPが正常に終了したあと、なにかキーを押すまでランチャーウィンドウが開いたままになります。UMPが異常終了したときは、この設定にかかわらずキーを押すまで開いたままになります。
CRASH_ON_OUT_OF_MEMORY
- デフォルト:
true
true
にすると、JVM引数-XX:+ExitOnOutOfMemoryError
が追加され、UMPは割り当てられたメモリを使い切るとすぐにクラッシュします。他の値にするとUMPは一応開き続けるので、Configを保存して終了できるかもしれません。
JVMオプション
よく使いそうなJVMオプション
-Xms<サイズ>, -Xmx<サイズ>
記述例 (初期1.5GB最大8GB): -Xms1560M -Xmx8G
それぞれ、UMPが使えるメモリの量の初期値と上限です。サイズの最後にMやGをつけるとメガバイトやギガバイトにできます。巨大MIDIを読み込むときはこの値を増やしておきましょう。
MIDI診断を使うとあるMIDIを読み込むのに必要なメモリがだいたいわかりますが、MIDIのみのサイズのため、UMP本体が使う分少し多めにメモリを割り当てましょう。
-XX:+UseG1GC
記述例: -XX:+UseG1GC
ガベージファースト・ガベージコレクター(G1GC)を使用します。多分このGCが一番速いと思います。ガベージコレクションについて詳しくはWiki先輩へ。
オプションを付けて起動
-jar
引数の前にオプションを書きます:
$ java -Xms8G -Xmx8G -Xmn6G -XX:+UseG1GC -jar MIDIPlayer.jar
レンダラー
DefaultMIDIRenderer
デフォルトです…
TickBasedDefaultMIDIRenderer
デフォルトです…が、描画間隔がテンポと連動します。120BPMで描画間隔プレビューと同じ速度になります。
KeyMIDIRenderer
MIDIチャンネルごとに押されている鍵盤だけを単色で表示します。テクスチャは使いませんが、リソースパックのノート色情報は使います。
HorizontalMIDIRenderer
ノートが右から左に流れます。画面中央の白い線が再生位置で、押されているノートは光ります。テクスチャは使いませんが、リソースパックのノート色情報は使います。
HexMIDIRenderer
全てのノートとテンポイベントを1トラックにまとめたときのMIDIファイルの中身をシミュレートして表示します。透明背景で動画出力した場合と暗い背景で再生した場合は文字色が白くなります。文字だけなのでリソースパックは全く使いません。完全等幅フォントが必要です。
動画をつくる

FFmpeg
動画をつくるにはFFmpeg実行ファイルが必要です。FFmpegのサイトからパッケージをダウンロードするか、自分でビルドするかしてください。

ffmpeg.exe
を置いておくと自動で選択されます。種類・コーデック
種類ごとに使えるコーデックが変わります。また、動画ソフトごとに開ける種類とコーデックが変わります。使っている動画ソフトに合わせましょう。
- AVIUtlでは第三者作成の入力プラグインが必要です。
- QuickTime Playerでは開くときに自動で変換されるものがほとんどで、Quick Lookで見るには変換後の動画を保存する必要があります。
- After Effects CCでは必要なコーデックなどが自動でインストールされるものがあります。
動画 | 開けるプログラム | ||||||
---|---|---|---|---|---|---|---|
種類 | コーデック | 透明背景 | Windows | OSX | After Effects CC | ||
映画&テレビ | Media Player | AVIUtl | QuickTime Player | ||||
mp4 | x264 | ✔ | ✔ | ✔ | ✔ | ✔ | |
x265 | ✔ | ✔ | ✔ | ✔ | |||
mov | png | ✔ | ✔ | ✔ | ✔ | ||
qtrle | ✔ | ✔ | ✔ | ||||
avi | png | ✔ | ✔ |
プリセット
ultrafast
superfast
veryfast
faster
fast
medium
slow
slower
veryslow
placebo
リストの上に行くほどエンコードが速く、動画ファイルが大きくなります。placebo
はその遅さの割には効果が薄いらしいです。
画質を良くする
設定を何も変えずにmp4を保存した場合、動画のビットレートは自動(200kbps?)で設定されます。もしそれで画質が悪かったり、動画がおかしくなっていた場合、高度な設定からビットレートを指定してください。品質基準VBRにCRFを20以下がおすすめです。

MIDI診断

"ノートカウント&MIDI診断"を使うと、再生するときより少ないメモリでMIDIファイルのノートを数え、問題を見つけることができます。再生できないMIDIがある時はまずこれで診断しましょう。実はほとんどはUMPではなくファイル側の問題だったりします。
名前 | 備考 |
---|---|
ファイルサイズ | 2進接頭辞 (たとえば、1KiBは1000Bではなく1024B、1MiBは1024KiB) |
解像度 | PPQN |
トラック | |
ノート | |
開くのに必要なメモリ | 同じMIDIでもConfigmidi.loaderThreads の設定によって変化 |
長さ | |
テンポ | 途中でテンポが変わるMIDIでは"最小~最大"で表示 |
瞬間最高NPS | 計算が合っている自信がない |
重なったノート |
YAMLのデータタイプ
UMPはConfigなどで、以下の型をYAML 1.1で読み書きします。YAMLは基本的には、キーと値をコロン(:
)で区切ったものだと思っていい…と思います…。
String
例: "Hello, World!"
テキスト。"
または'
で挟むことをおすすめしますが、しなくてもほぼ問題ありません。
Integer
例: 77
, 0x4d
整数。16進数使えます。
Float
例: 123.45
数。小数使えます。
Color
例: 0xffb900
(黄), 0x000000
(黒), "0xffffff"
(白)
RGB色。0xRRGGBB
のかたちで書いたテキストまたは整数。
Boolean
真理値、論理型とも。true
(はい)かfalse
(いいえ)のどちらかのみが使えます。
Config
UMPの設定はUMPのフォルダにあるconfig.yml
に保存されます。
サンプル
version: 2
language: ja
midi:
loaderThreads: 0
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
- 型: Integer
- デフォルト:
2
Configのバージョン。変えないでください。
language
- 型: String
- デフォルト:
"ja"
UI言語。日本語(
"ja"
)と英語("en"
)、そしてUMPフォルダにある言語ファイルの名前を設定できます。- 参照: 翻訳
midi.loaderThreads
- 型: Integer
- デフォルト:
0
-
MIDIの読み込みに使うスレッド数。
0以下: 使えるだけ使います。
midi.usePlayThread
- 型: Boolean
- デフォルト:
true
-
描画とは別のスレッドでMIDIを再生をするかどうか。
true
: MIDIを別スレッドで処理します。描画とはあえてタイミングを合わせていないので、MIDIが重いと描画だけが先に進み、高いフレームレートを維持する代わりに音がずれます。false
: 描画とMIDIを同じスレッドで交互に処理します(1.2までの挙動)。MIDI処理中に次の描画ができないので、音は合いますがフレームレートが下がります。
render.width
- 型: Integer
- デフォルト:
1280
- 制限:
128
以上4096
以下 -
画面の幅。
render.height
- 型: Integer
- デフォルト:
720
- 制限:
100
以上2160
以下 -
画面の幅。
render.fpsLimit
- 型: Integer
- デフォルト:
100
-
フレームレート制限。
0以下: 無制限。
render.renderInterval
- 型: Float
- デフォルト:
5.0
- 制限:
0.01
以上20.0
以下 -
[設定]→[描画間隔(落下速度)]オプション。
render.background
- 型: Color
- デフォルト:
0xaaaaaa
-
背景色。
render.usePFAColors
- 型: Boolean
- デフォルト:
false
-
PFAのノート色設定を読み込んで使うかどうか。
true
:~/AppData/Roaming/Piano From Above/config.xml
を読み込み、すべての<Color>
要素のR
、G
、B
属性の値を使ってノート色を設定します。失敗したら全色ランダム。
render.resourcePack
- 型: String
- デフォルト:
null
-
起動時に読み込むリソースパックのファイル(フォルダ)名。
null
または存在しないファイル名: リソースパックを読み込まず、デフォルトを使います。 - 参照: リソースパック
render.font
- 型: String
- デフォルト:
"Monospaced"
-
オーバーレイフォントの名前。うまく表示されないフォントもあるみたいです。
一部のJava 8環境だとNoto CJKの文字が変な場所に描画されて見えません。英字オンリーNotoは問題なく使えます。
render.overlay.opaque
- 型: Boolean
- デフォルト:
false
-
[表示]→[オーバーレイを不透明にする]オプション。
render.overlay.info.type
- 型: String
- デフォルト:
"DEFAULT"
-
[表示]→[再生情報]オプション。
"HIDE"
: 隠す"DEFAULT"
: デフォルト"MIDITRAIL"
: MIDITrail風"BASICS"
: 基本情報のみ他の値: デフォルト
render.overlay.info.position
- 型: String
- デフォルト:
"TOP_RIGHT"
-
[表示]→[再生情報]→[位置]オプション。
"TOP_LEFT"
: 左上"TOP_RIGHT"
: 右上"BOTTOM_LEFT"
: 左下"BOTTOM_RIGHT"
: 右下他の値: 右上
render.overlay.info.scale
- 型: Float
- デフォルト:
1.0
- 制限:
0.25
以上4.0
以下 -
[表示]→[再生情報]→[拡大]オプション。
render.overlay.info.showDuration
- 型: Boolean
- デフォルト:
false
-
[表示]→[再生情報]→[MIDIの長さを表示]オプション。
render.overlay.fps.type
- 型: String
- デフォルト:
"SHOW_ALL"
-
[表示]→[FPSカウンター]オプション。
"HIDE"
: 隠す"SHOW_NUMBERS"
: 数だけ表示"SHOW_ALL"
: ぜんぶ表示他の値: 隠す
render.overlay.desync.type
- 型: String
- デフォルト:
"SHOW_NUMBERS"
-
[表示]→[MIDIスレッド時間]オプション。
"HIDE"
: 隠す"SHOW_NUMBERS"
: 数だけ表示"SHOW_ALL"
: ぜんぶ表示他の値: 隠す
ui.font
- 型: String
- デフォルト:
"Yu Gothic UI"
-
UIフォントの名前。ボタンとかの字がダサかったら変えてください。
files.midi
- 種類: String
- デフォルト:
null
-
最後に開いたMIDIファイルのパス。
files.ffmpeg
- 種類: String
- デフォルト:
null
-
最後に開いたFFmpeg実行可能ファイルのパス。
files.resourcePacks
- 種類: String
- デフォルト:
null
-
リソースパックフォルダ。
null
: UMPフォルダ内のresourcepacks
フォルダ
updateChecker.checkOnStartup
- 型: Boolean
- デフォルト:
true
-
UMPの新バージョンがあるか起動時に自動で確認するかどうか。
updateChecker.branch
- 型: String
- デフォルト:
"stable"
(開発版では"development"
) -
アップデートチェッカーに確認させるバージョンの種類。
"stable"
: 安定版"development"
: 開発版
リソースパック
リソースパック(パック、または略してリソパ)は、PNG画像とpack.yml
ファイルが入ったフォルダまたはzipファイルです。いくつかの画像はあとで着色するため、グレースケールになっているべきです。


note
とnoteEdge
は一番上の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: "44Gq44KT44Go5a2m5qCh44GM5pyd44GuOeaZguOBi+OCieOBquOBruOBoOODvCEK"
format
- 型: Integer
- デフォルト:
0
-
パックフォーマット。0以外のパックは非対応と表示されます。
name
- 型: String
- デフォルト:
null
-
パックリストに表示される、このパックの名前。
version
- 型: String
- デフォルト:
null
-
パックリストに表示される、このパックのバージョン。書き方は自由です。
author
- 型: String
- デフォルト:
null
-
パックリストに表示される、このパックの作者名。
description
- 型: String
- デフォルト:
null
-
パックリストに表示される、このパックの説明文。
note.loopColors
- 型: Boolean
- デフォルト:
false
-
noteColors.png
または後述のnote.colors
で指定した色を繰り返して使うかどうか。false
の場合、色を使い切ったあとはランダム色になります。
true
:

false
:

note.loopColors
の効果。true
にすると、パックのノート色(このパックでは6色、デフォルトは16色)だけが使われます。note.colors
- 型: Color[]またはMap<Integer, Color>
トラックごとのノート色。マップを使った書き方の場合、最初のトラックは0番です。

colors:
- 0xff0000
- 0x00ff00
- 0x0000ff
loopColors true
)
colors:
1: 0xffffff
3: 0x000000
loopColors true
でも毎回違う色になることに注意してください。signature
- 型: String
- デフォルト:
null
-
確認済みパックを証明する署名。署名はUMP作者が発行しています。間違った署名を入れるとパックリストに偽署名の警告が表示されます。
翻訳
UMPは標準で日本語・英語と簡体中国語をサポートしています。UMPフォルダに言語ファイルを置くことで言語を増やすことができます。

_lang=Deutsch
welcome.synth=Wählen Sie einen Synthesizer
welcome.synth.none=(Keinen benutzen)
welcome.next=Weiter
言語ファイルフォーマット
# 構文:
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側で改行が想定されているものは
\n
で改行します。 - 値の中の
%s
がUMPから渡されるデータに、%%
が%
の文字に置き換わります。%s
の代わりに%1$s
や%2$s
とすることで、1番目、2番目、…のデータと指定することもできます。 - キー
_lang
の値が言語名として使われるため、必ず値を入れておきましょう。詳細は次節で。
言語メタデータ
メタデータは、UMPの翻訳と区別するため、キーの最初に_
がつきます。
_lang
その言語の名前です。[言語]ダイアログや初回起動時の言語選択で使われます。
_lang.xx
その言語の他の言語での名前です。[言語]ダイアログで、言語ファイル名がxx
部分と同じ言語の横に表示されます。

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

_font=Yu Gothic UI,Meiryo UI,メイリオ
_createdBy
この翻訳を作った人の名前を格納することになっています。UMP内ではまだ使われていませんが入れておいて損はありません。
チュートリアル的な
簡易もくじ
メモリの割り当て
- マニュアル:
UMPが動作するJVMには使えるメモリの量を決められるものがあり、大きなMIDIを開くためにはより多くのメモリを使っていいように設定する必要があります。
ランチャーの割り当てを変える Windows
MIDIPlayer.bat
をテキストエディタで開きます。- 5行目のメモリ設定を書き換えます。
MIDIPlayer.bat (変更前)
set INITIAL_MEMORY=2G set MAX_MEMORY=2G
MIDIPlayer.bat (変更後)set INITIAL_MEMORY=6G set MAX_MEMORY=6G
6GBのメモリを使うように変えた例 メモ帳で開くとこんな感じ - ファイルを保存し、UMPを再起動します。
コマンドライン引数を変える どのOSでも
メモリ設定ジェネレーター
-
java
と-jar
の間にメモリ設定を入れてUMPを起動します。ターミナル$ java -Xms6G -Xmx6G -jar MIDIPlayer.jar
ここに入れる!(6GBのメモリを使うように変えた例)
ちなみに
- PCが持つ量より大きい割り当てをするとJVMが起動しなくなることがあります。ここでは解説しませんが、仮想メモリを使うとPCのメモリを少し増やせます (windows 10 page fileなどでググってみてください)。
-- Begin JVM/UMP Log ----------- Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000080000000, 1099511627776, 0) failed; error='ページング ファイルが小さすぎるため、この操作を完了できません。' (DOS error/errno=1455) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 1099511627776 bytes for Failed to commit area from 0x0000000080000000 to 0x0000010080000000 of length 1099511627776. # An error report file with more information is saved as: # C:\some\folder\hs_err_pid24532.log -- End JVM/UMP Log ------------- Crashed with exitcode 1. Memory allocation was 1024G initial, 1024G max.
JVMがそもそも起動しなかったときのログ - 1.6ランチャーから、UMPはメモリを使い切るとすぐにクラッシュします。
-=[!]================== UMP Out of Memory ==================[!]=- UMP has ran out of memory and needs to stop! Avoid loading big MIDIs, or increase memory allocation by editing this .bat file. More info: https://pipiraworld.web.fc2.com/ump/manual/#Memory -=[!]=======================================================[!]=- Terminating due to java.lang.OutOfMemoryError: Java heap space -- End JVM/UMP Log ------------- Crashed with exitcode 3. Memory allocation was 1G initial, 1G max.
でかいMIDIを開こうとしてメモリを使い切ったときのログ - 32ビットJVMは4GBまでしか使えません。Windowsが64ビットなら、64ビットJVMをインストールすることでより多く割り当てられるようになります。
WinMMパッチを当てる
Windows 10環境では、WinMMパッチを当てるとMIDIパフォーマンスが大きく改善します。UMPの描画パフォーマンスはパッチしても下がりませんが、上がりもしません。
JavaプログラムであるUMPは直接パッチできず、JVMと呼ばれる、Javaプログラムを動かすソフトウェアのようなものをパッチする必要があります。ちょっと面倒ですが頑張りましょう。
JVMの場所を探す
- UMPを動かしておきます。
-
タスクマネージャーを開きます。
- Windows8以降で左下に[詳細]がある場合は、クリックして詳細表示にします。
-
[プロセス]タブでJVMプロセス("Java(TM) Platform SE binary")を探します。展開してUMPが表示されたら、そこで右クリックし[ファイルの場所を開く]をクリックします。
UMPを実行中のJVMプロセス -
エクスプローラーが出てくるので、パスをコピーしておきます。
エクスプローラーでパス(アドレス)をコピー
OmniMIDIでパッチ
- 必要なもの:
-
OmniMIDI Configuratorを管理者として開き、[Tools]→[Windows Multimedia Wrapper Patch]に移動します。
Windows Multimedia Wrapper Patch (OmniMIDI 7.1.0.1だと"Microsoft"が"MIcrosoft"になってて面白いよ!) - [For Black MIDIs]内の[Patch an application]をクリックします。
-
JVMフォルダの
java.exe
を選択します。コピーしておいたパスをエクスプローラーで貼り付け。こうやってアドレスバーをクリックするとパスのコピーと貼り付けができるの知ってた? - UMPを再起動します。
- Enjoy!
直接パッチ
- 必要なもの: パッチファイル
- JVMの種類に合わせて、パッチファイル内の
WinMM32
またはWinMM64
フォルダの中身をJVMフォルダにコピーします。ここで管理者権限を求められるかもしれません。 - UMPを再起動します。
- Enjoy!
ノートの色を変える
- マニュアル:
-
色を変えたいノートのトラックを確認します。ノートが1つもないトラックを飛ばして0から数え何番目かを覚えておいてください。
-
resourcepacks
フォルダを(なかったら作ってから)開き、そこに好きな名前でフォルダを作り、そのさらに中にpack.yml
ファイルを作ります。このステップのあとのフォルダ構造 -
pack.yml
をテキストエディタで開いて書き込みます:format: 0 name: (好きな名前) version: 1.0 author: (あなたの名前) description: (短い説明文) note: colors: (トラック番号): (変えたい色)
当たり前ですが本名を書く必要はありません。0番からたくさんのトラックの色を変えたい場合は、リスト形式で色を指定できます:note: colors: - (色0) - (色1) - (色2)
- ファイルを保存し、UMPに戻って[設定]→[リソースパック]に移動します。
- 作ったパックが表示されるので、選択して[完了]。
- Enjoy!
音ズレをなおす
- UMPを閉じます。
config.yml
をテキストエディタで開きます。usePlayThread
を探し、false
にして保存します。- UMPを再起動します。
AVIUtl拡張編集でAVIを開く
AVIUtlという名前の割にUMPがつくるAVIは開けないので、入力プラグインの力を使って無理やり開かせます。
- L-SMASH Worksをダウンロード。中のReadmeを読みつつインストール。
- 設定を開く([ファイル]→[環境設定]→[入力プラグインの設定]→[L-SMASH Works File Readerの設定])。
- 一番上の[Libav+L-SMASH]と[LW-Libav]をチェック。
- AVIUtlを再起動、またはプロジェクトファイルを開き直す。
- 透明背景のAVIを使う時は、動画ファイルの[アルファチャンネルを読み込む]を忘れずにチェック。

4月の機能
UMPには4月1日と4月3日の間にだけ使える機能があります。UMPは起動時に日本のタイムゾーンに変換したシステム時刻で日付チェックをします。
1.5から 2019年
- ウィンドウタイトルが流れます。
- レンダラーPushingDefaultMIDIRendererが使えます。4月1日はこれがデフォルトのレンダラーになります。
1.6 β2から 2020年
- スプラッシュ画面で常に言語選択が表示され、一部の言語であああーあ・あーああオプションが現れます。
1.6 β3から 2021年
- [ゲーム]メニューが現れます。
されそうな質問と答え
動かない!
Java8オンリー。その辺がわからない人はUMPを使うには早すぎます。出直しましょう。
重い!
[設定]→[FPS制限...]→[無制限]をしてみてください。だめだったら…UMPがそのPCで動けるほど強くありません…ごめんね。でも動画出力はできるよ!
音が重い!
- シンセとしてOmniMIDIを使う
- Javaを正しくパッチする (UMPフォルダに
winmm.dll
を置いても意味ないよ!)
これでだめだったら…再生しているMIDIが強すぎます。
たまに一瞬固まるんだけど?
Javaがメモリのお掃除(GC)してます。完全に取り除くのは難しそう。
GC設定分かる人はバッチファイル適当にいじってください。動画出力はこれの影響を受けません。
他のプレイヤーだと開けるのに、UMPでは対応してないファイルって言われるのは?
UMPのMIDI読み込みが厳しいからです。
個人的には他のプレイヤーがゆるゆるだと思っています。そのファイルのUMPでの再生は諦めてください…
PFAにある赤い棒つけないの?
つけない。PFAとひと目で見分けられるように。つけようともしないように。
FPS制限かけるとガクガクするんだけど?
- この文字が見える場所でブラウザを放置しておく
- YouTubeの動画ページを開いたブラウザを放置しておく
- FPS制限をモニターのリフレッシュレートの倍数にする (60・120・144 とか)
のどれかで良くなるかもしれないしならないかもしれない。ならなかったらちょっと分からない。
クレジット書かないとだめとかある?
書いてくれると嬉しいですが必須ではありません。動画出力を使う場合、動画の最初のクレジットが映っていれば充分です。

Player: UMP
Video rendered with UMP 1.5
https://pipiraworld.web.fc2.com/ump/
https://pipiraworld.web.fc2.com/ump/
)だけにしてほしいかな…!なぜにJava?
一番慣れてる言語。C++も気になるけど、Javaが楽すぎて…やめられない…ッ!
読み込めるノートの限界は?
計算があってれば23,455,889,992,365ノートです。
1つのMIDIファイルに入る限界は倍くらいの46,911,780,246,870ノート(当社調べ)ですが、UMPを含め対応していないプレイヤーが結構あると思うので、それだけ大きいMIDIを作ることはおすすめしません。
どちらの数値もEoT(End of Track、1トラックのデータがここで終わることを示す)メッセージを含めない場合の計算で、EoTを入れないMIDIを作ることはおすすめしません。実際に作るときは、各トラック1ノート減らして、EoTを入れてあげましょう。
第10版で計算し直しました。前より正確になったと思います。
ソースは?
自分がUMPづくりをやめたら公開するかもしれませんが、それまでは絶対非公開です。デコンパイルは許可していません。だめだよ。
モバイル移植して!
しません。俺にとって黒MIDIはモバイルでやるものじゃねぇんだよ!!!PC買えオラァァァ!!!(あとApp storeに出品するお金ない)
他のプレイヤーについてどう思う?
黒MIDIを読み込むプログラム、程度に思っています。別に競争しているわけではないですよ。
デザインだっさ!
寄付できる?
こんなのに寄付したがる人居るの?てか、お金もらう方法持ってないんだけど?どうしてくれんの?
UMP Discordサーバーに入ってるなら私にDMできるはずだから、Nitroくれてもいいんですよ(チラッ)
おまけ
1.5.1
2019/4/291.5
2019/4/11周年
2018/11/171.4.1
2018/91.4
2018/71.3
2018/4いい動画作りやがれアップデート。
Discordサーバーオープン
2018/2/111.2.2
2017/121.2.1
2017/121.2
2017/12The color boost update.
1.1
2017/111.0.1
2017/111
2017/11/17最初の配布。発表動画は最初の1週間で620再生を獲得。小さいチャンネルなので、普段の3倍くらいありそうな伸び方をされてちょっと引いた。
UMP 0
2017/11/8なんとなく動画あげたらすごい伸びて大変なことになった。
MIDIPlayerTest
??? ~ 2017/7PFA風の動画を作る最初のプロジェクトが始まったっぽーい!
First MIDI Project
2015/12/28MIDI関連のプロジェクトで作った、現存する最も古いファイルの作成日。