The UMP Manual
UMPの基本、上手に使うためのヒントやありそうな質問の答えなどを書いていきます。逆引き的ななにか強化中です。加筆・修正・翻訳提案受け付けています。
UMPとは?
UMP (Ultralight MIDIPlayer, 超軽量MIDIプレイヤー) は、MIDI動画づくりを助ける超軽量・多機能なMIDIプレイヤーです。MIDIの再生に加え、ラグなし動画の出力やノートカウントなどのたまに便利な機能と、きれいなGUIを特徴とします。
クイックスタート
1. いい感じのPCを用意
これくらいあればUMPはスムーズに動くはずです:
- マルチコア、2GHz以上のCPU
- GPU
- 1GB以上の空きメモリ
- 任意のデスクトップOS
2. Javaをインストール
インストーラーをJavaのサイトからダウンロードし実行します。
インストールするJavaはお使いの環境に最も適したものを選んでください。例えば、64ビットWindowsなら64ビットとはっきり書かれているもの、AppleシリコンMacならaarch64版です。違うJavaをインストールするとパフォーマンスに影響が出ることがあります。
3. MIDIシンセを用意
MIDIを聴くにはMIDIシンセとサウンドフォントが必要です。
シンセはOmniMIDI (プロ向け高パフォーマンスシンセ) あたりがおすすめです。Javaを入れるとついてくるGervillなどのシンセは黒MIDIには向かないのでやめておきましょう。
サウンドフォントは調べるといっぱいでてきます。ダウンロードして、シンセを設定しておきましょう (このマニュアルでは触れません。お使いのシンセの説明書をご覧ください)。
4. UMPを起動!
UMPメインページから本体をダウンロードし空のフォルダに展開します。
WindowsではMIDIPlayer.bat
を開きます。
他のOSではコマンドを実行します:
$ java -jar MIDIPlayer.jar
インストールしたMIDIシンセを選んだら準備完了!
5. MIDIを再生
メニューバーの[ファイル]→[開く]を選ぶか、.mid
ファイルをドラッグ&ドロップすると再生します。
一応、.zip
ファイルやフォルダをドロップすることもできます。この場合、UMPはその中の最初の.mid
ファイルを開きます。
6. 次のステップ
- Windows10以降の方は忘れずにJavaをパッチしましょう。黒MIDI再生時、パフォーマンスの劇的な向上が期待できます。
- UMPが使えるメモリ量の変え方を覚えておきましょう。大きいMIDIを開くときに使います。
- メニューバーを探検していじってみましょう。
- Configにメニューバーから変えられない設定が隠されています。書き方と一緒に見てみましょう。
- チュートリアルでUMPの賢く楽しい使い方を学びましょう。
9. アンインストール
UMPフォルダを消すだけ。簡単だね!
UMPランチャー
UMPランチャーはWindowsでUMPを起動するシンプルなバッチファイル (MIDIPlayer.bat
) です。テキストエディタで編集することで設定を変えることができます。
設定
設定項目は5行目から始まります。名前と値は=
(前後にスペースなし) で区切られます。
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
- デフォルト:
2G
UMPに割り当てるメモリの初期量。巨大MIDIを読み込むときはこの値を増やしましょう。
MAX_MEMORY
- デフォルト:
2G
UMPに割り当てるメモリの最大量。巨大MIDIを読み込むときはこの値を増やしましょう。
JVM_ARGS
- デフォルト:
-XX:+UseG1GC
メモリ割り当て以外のJVMオプションをスペース区切りで。
UMP_OPTIONS
- デフォルト: (なし)
UMPオプションをスペース区切りで。
PAUSE_AFTER_EXIT
- デフォルト:
false
true
にすると、UMPが正常に終了したあと、なにかキーを押すまでランチャーウィンドウが開いたままになります。UMPが異常終了したときは、この設定にかかわらずキーを押すまで開いたままになります。
CRASH_ON_OUT_OF_MEMORY
- デフォルト:
true
true
にすると、JVM引数-XX:+ExitOnOutOfMemoryError
が追加され、UMPは割り当てられたメモリを使い切るとすぐにクラッシュします。他の値にするとUMPは一応開き続けるので、Configを保存して終了できるかもしれません。
コマンドラインからの使い方
構文
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で描画間隔プレビューと同じ速度になります。
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
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
(いいえ) のどちらかのみが使えます。
注意点
- UMPはYAML 1.1を使っています。
- YAMLではインデントに半角スペースだけが使えます。テキストエディターによってはスペースの代わりにタブ文字が挿入されるため、設定を確認しておきましょう。全角スペースも使えません。
Config
UMPの設定は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
- 型: Integer
- デフォルト:
2
Configのバージョンです。変えないでください。
language
- 型: String
- デフォルト:
"ja"
UI言語です。日本語("ja"
)と英語("en"
)、そしてUMPフォルダにある言語ファイルの名前を設定できます。
参照: 翻訳
midi.loaderThreads
- 型: Integer
- デフォルト:
0
MIDIの読み込みに使うスレッド数です。0以下にすると、使えるだけ使います。
midi.loadNotesOnly
- 型: Boolean
- デフォルト:
false
true
にすると、MIDIファイルを開くとき、ノートのみを読み込みます。楽器変更やペダル、ピッチベンドなど他のイベントは全て無視します (1.5.1までの挙動)。
false
にすると、ノート以外のイベントも一部読み込んで再生します。これにより一部のMIDIは、完全ではありませんが聞こえ方が良くなります。
midi.usePlayThread
- 型: Boolean
- デフォルト:
true
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
true
にすると、PFAの設定ファイルを読み込み、PFAと同じ色でノートを描画します。これに失敗すると全色ランダムになります。
render.resourcePack
- 型: String
- デフォルト:
null
起動時に読み込むリソースパックのファイルまたはフォルダの名前です。null
または存在しないファイル名にすると、デフォルトのリソースパックを使います。この設定はUMPメニューからも変更できます。
参照: リソースパック
render.font
- 型: String
- デフォルト:
"Monospaced"
オーバーレイに使うフォントの名前です。Java側の問題でうまく表示されないフォントもあるみたいです。
render.overlay.opaque
- 型: Boolean
- デフォルト:
false
true
にすると、全オーバーレイの背景が不透明になります。
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
true
にすると、再生情報オーバーレイの時間の部分が、再生中のMIDIの長さも表示するようになります。 (例: 27.4
→ 27.4/02:41.2
)。
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
フォルダになります。複数バージョンのUMPを同時に使う場合、この値を変更することで、1か所にあるリソースパックを共用できます。
updateChecker.checkOnStartup
- 型: Boolean
- デフォルト:
true
true
にすると、UMPは起動時に新しいバージョンがあるか確認します。
updateChecker.branch
- 型: String
- デフォルト:
"development"
アップデートチェッカーに確認させるバージョンの種類です。
"development"
: 開発版 (最新版)"stable"
: 安定版
リソースパック
リソースパック(パック、または略してリソパ)は、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: null
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
の場合、色を使い切ったあとはランダム色になります。
note.colors
- 型: Color[]またはMap<Integer, Color>
トラックごとのノート色。マップを使った書き方の場合、最初のトラックは0番です。
signature
- 型: String
- デフォルト:
null
-
確認済みパックを証明する署名。署名はUMP作者が発行しています。間違った署名を入れるとパックリストに偽署名の警告が表示されます。
翻訳
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側で改行が想定されているものは
\n
で改行します。 - 値の中の
%s
がUMPから渡されるデータに、%%
が%
の文字に置き換わります。%s
の代わりに%1$s
や%2$s
とすることで、1番目、2番目、…のデータと指定することもできます。 - キー
_lang
の値が言語名として使われるため、必ず値を入れておきましょう。詳細は次節で。
言語メタデータ
メタデータは、UMPの翻訳と区別するため、キーの最初に_
がつきます。
_lang
その言語の名前です。[言語]ダイアログや初回起動時の言語選択で使われます。
_lang.xx
その言語の他の言語での名前です。[言語]ダイアログで、言語ファイル名がxx
部分と同じ言語の横に表示されます。
_font
その言語を表示するのに適したフォント名です。より多くのOSをサポートするため、カンマ区切りで複数指定することができます(カンマの前後にスペースは入れないでください)。この中でインストールされている一番最初のフォントが、1つもインストールされていなければデフォルトのサンセリフが使われます。
_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によって異なります。このマニュアルでは解説しませんので、ご自身で調べてみてください。
ランチャーで割り当てを変える
MIDIPlayer.bat
をテキストエディタで開きます。- ランチャー設定
INITIAL_MEMORY
とMAX_MEMORY
の値を新しい割り当て量に変更します。 - ファイルを保存し、UMPを再起動します。
コマンドラインで割り当てを変える
ランチャーを使わない方は、以下の例を参考に-Xms
と-Xmx
引数をjava
と-jar
の間に追加します。
メモリを使い切ると
ランチャーからUMPを起動している場合、UMPはメモリを使い切ると強制終了します。ランチャー設定CRASH_ON_OUT_OF_MEMORY
をfalse
にすることでこの挙動をOFFにできますが、そもそもメモリ不足は多くのプログラムにとって回復不能なエラーであるため、UMPも動作が不安定になります。
WinMMパッチを当てる
Windows 10環境はMIDIがめちゃめちゃ重いので、WinMMパッチを当ててめちゃめちゃ軽くしましょう。
UMPはJVMというプログラム上で動作するので、UMPではなくJVMをパッチする必要があります。ちょっと面倒ですが頑張りましょう。
JVMの場所を探す
- UMPを動かしておきます。
-
タスクマネージャーを開きます。
- ウィンドウの左下に[詳細]がある場合は、クリックして詳細表示にします。
- [プロセス]タブで、展開したらUMPが表示されるJVMプロセス("Java(TM) Platform SE binary")を探します。そこで右クリックし[ファイルの場所を開く]をクリックします。
- エクスプローラーが出てくるので、パスをコピーしておきます。
OmniMIDIでパッチ
- 必要なもの:
- OmniMIDI Configuratorを管理者として開き、[Tools]→[Windows Multimedia Wrapper]に移動します。
- [Patch an application]をクリックします。複数ある場合は、黒MIDI向けっぽいやつを選びます。
-
ファイル選択ダイアログでJVMフォルダに移動し、
java.exe
を選択します。 - UMPを再起動します。
- Enjoy!
手動パッチ
- 必要なもの: パッチファイル
- JVMの種類に応じてパッチファイルをダウンロードします。32ビットなら
winmm32wrp.dll
、64ビットならまたはwinmm64wrp.dll
です。 - パッチファイルを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: true
を探し、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は起動時に日付をチェックします。
この先ネタバレ注意!
2019年 (バージョン1.5以降)
- ウィンドウタイトルが流れます。
- レンダラーPushingDefaultMIDIRendererが使えます。4月1日はこれがデフォルトのレンダラーになります。
2020年 (バージョン1.6 β2以降)
- スプラッシュ画面で常に言語選択が表示され、一部の言語であああーあ・あーああオプションが現れます。
- 2019年までのすべての機能も使えるようになります。
2021年 (バージョン1.6 β3以降)
- [ゲーム]メニューが現れます。
- 2020年までのすべての機能も使えるようになります。
2022年 (バージョン1.6 β4以降)
- MIDIを加速させるオプションが[再生]メニューに現れます。
- 2021年までのすべての機能も使えるようになります。
2023年 (バージョン1.6以降)
- MIDIを読み込むとWindowsが更新されます。
- 2022年までのすべての機能も使えるようになります。
よくある質問・トラブルシューティング
UMPセットアップ
「上級者向け」について詳しく
UMPは、すでに黒MIDIと長く関わっているProfessional Blackerや、高度なプログラムを自分で探検して使っちゃうような人がすぐ馴染めるように作っています。
こんな方にはUMPはおすすめできません:
- なんかMIDI/黒MIDI面白そう
- 最近PCを始めた
- 文章は読まないほうだ/読みたくない
- エラー文が怖い
- 英語が怖い/わからない
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を使う
音出ないんだけど?
シンセを正しく使えていません。以下を再確認してください:
- MIDIシンセがある
- MIDIシンセを正しく設定している (サウンドフォント入れた、音量0%じゃない、スピーカー合ってる etc)
- UMPで正しいMIDIシンセを選択している
シンセやサウンドフォントが何なのかわからない方は、目を大きく開いてクイックスタートをもう一度読むことをおすすめします。
音遅れるんだけど?
音ずれを許容してFPSを高く保つ機能によるもので、正常な動作です。MIDIパフォーマンスを最大化するために、以下をおすすめします:
- シンセとしてOmniMIDIを使う。OmniMIDIは正しく使用すれば秒間数百万ノート (NPS) 流しても遅れることはありません。
- Javaを正しくパッチする。UMPのファイル (MIDIPlayer.jar など) をパッチすることはできず、効果がありません。
それでも音が遅れる場合は、再生しているMIDIが強すぎるのかもしれません。もっといいPCを買うか、技術の進歩を待ちましょう。
FPSが低くなる代わりにこの機能をOFFにすることもできます。
他のプレイヤーだと別に音遅れないけど?
一部のMIDIプレイヤーはノートをそもそも再生せずにすっ飛ばすことで音の遅れから回復する機能を持ちます。UMPにその機能を付ける予定はありません。
他のプレイヤーと音の聞こえ方が違う
メモリ使用量を抑えながら再生できる限界です。動画を作るときはKMCなど音声出力するツールで作った音を使うことをおすすめします。
大きいMIDIを開けない・UMPが急に閉じる・メモリが足りなくなったと言われる
UMPが使えるメモリの量には上限があり、到達するとUMPは自動で強制終了するか動作が不安定になります。お使いのPCにもっと大きなMIDIを読み込めるだけのメモリが物理的に刺さっているのであれば、メモリ割り当てチュートリアルを参考に上限を変更してください。
重い!
軽くする方法がいくつかあります:
- FPS制限を上げるか無制限にする ([設定]→[FPS制限...])
- シンセとしてOmniMIDIを使う
- Javaを正しくパッチする
これでだめだったら…再生しているMIDIが強すぎるか、UMPがそのPCで動けるほど強くありません…ごめんね。でも動画出力はできるよ!
FPS制限かけるとガクガクするんだけど?
UMPはVSyncに対応していないため、現状が限界です。ごめんね。一応、若干改善するかもしれないポイントを書いておきます:
- この文字が見える場所でブラウザを放置しておく
- YouTubeの動画ページを開いたブラウザを放置しておく
- FPS制限をモニターのリフレッシュレートの倍数にする (60・120・144 とか)
UMPの機能
他のプレイヤーだと開けるMIDIファイルがUMPだと対応してないって言われるのは?
そのファイルは本当は壊れているからです。これらの読み込みに対応する予定はありません。作者に修正をお願いしてください。
PFAで鍵盤の上にある赤い棒つけないの?
つけません。PFAとひと目で見分けられるように。つけようともしないように。
半透明/角丸ノートできる?
できません。UMPってノートに透明部分が一切ないことが前提の技術を使っているんですよね。
88鍵/256鍵対応しないの?
今のところ対応する予定はありません。ノートや鍵盤の幅が変わることで見た目が崩れるからです。というか256鍵とか端っこの音聞こえないでしょ。
動画と一緒に音も出力しない?
音はあんまり重視してないのでその予定はありません。MIDIの音声を作るツールは既にいいものが出てるし、それをUMPに組み込んだところでそんなに動画編集で時短できなそうなので。
その他
クレジット書かないとだめとかある?
必須ではありませんが、書いてくれると喜びます。動画出力を使う場合、動画の最初のクレジットが映っていれば充分です。
なぜにJava?
開発開始時一番 (というか唯一) 慣れてた言語。実は最近C++で試作プレイヤー作ったんですよね…もしかすると…? (まぁ一生完成しないかもしれないんですけど!)
読み込めるノートの限界は?
計算があってれば23,455,889,992,365ノートです。これだけのノートをMIDIファイルに入れるとサイズは127.9TiB、UMPが読み込みに使うメモリは1PB近くにもなります!
MIDIファイルに入るノート限界はこの倍くらいなので、UMPは実はあんまり読み込めない方です。
ソースは?
自分が更新し続ける限り非公開としています。その後公開するかはその時の自分次第。デコンパイルは許可していません。だめだよ。
寄付できる?
こんなのに寄付したがる人居るの?てか、お金もらう方法持ってないんだけど?どうしてくれんの?
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関連のプロジェクトで作った、現存する最も古いファイルの作成日。