## Overview

RainMIDI is a free software for playing MIDI files and displaying them in a piano-roll style.
It is designed to smoothly play heavy MIDI files (commonly called "black MIDI").

## License

This software is released under the MIT License.
You may use this software under the following conditions:

1. This software is free to use for both personal and commercial purposes.
2. If you redistribute it, you must include the copyright notice and accompanying documentation.
3. The author is not responsible for any damages caused by the use of this software.

## System Requirements

The following specifications are recommended for comfortable use:

- OS: Windows 11
- CPU: Intel 10th Gen Core or higher
- RAM: 16GB or more
- GPU: GeForce GTX 1060 or higher

Even if your PC does not meet these requirements, adjusting the settings may improve performance.
See the FAQ for details.

For Mac or Linux, a separate JRE installation is required.
※ Windows version includes JRE, so no installation is needed.

## Launch & Uninstall

Run `RainMIDI.exe` to start the application.
To uninstall, simply delete the entire folder containing the executable.
※ No need to use "Add or Remove Programs".

## Usage

You can play MIDI files with the following simple steps.
No initial setup is required.
※ If there is no sound, refer to the FAQ.

### Basic Operation

- Launch `RainMIDI.exe`
- Click the "Launch" button
- Drag and drop a MIDI file into the window

## Settings

Customize audio, rendering, and appearance settings.

Item | Description | Default | Range / Notes
--- | --- | --- | ---
MIDI Receiver | Select the MIDI device for audio output. Auto selects the best available device. | Auto | Available MIDI devices
Ignore audio in between two velocity | Ignores small-volume notes. Higher values improve performance. | 1–20 | 1–127
Volume | Adjust output volume. | System volume | 1–100%
No use VRAM | Disable VRAM usage. Enable if the screen stutters. | OFF | ON / OFF
Invalidate Effect | Disable visual effects. Improves performance. | OFF | ON / OFF
Window Size | Set window resolution. | 720p | 720p / 480p / 360p
View Mode | Display mode. Rain Fall: notes fall vertically. Side Flow: notes flow horizontally. | Rain Fall | Rain Fall / Side Flow
Use RAM | Set RAM usage level. | Middle | Low / Middle / High / Max
Notes Speed | Adjust note speed. | Normal | Slow / Normal / Fast / Very Fast
Notes Layer | Set drawing order of tracks. | Track1 is Back | Track1 is Back / Track1 is Top
Monitor Type | Select MIDI info display type. | Notes Analyzer | None / Notes Analyzer / Counter / Classical
Invisible Ghost Notes | Hide ghost notes (non-played notes). | OFF | ON / OFF
Initialize Settings | Reset all settings to their defaults. |  |

## FAQ

Q. No sound.

Check "MIDI Receiver".
Select "Gervil" or "Microsoft GS Wavetable SW Synth".

Q. Audio stutters.

Built-in synths may struggle with heavy MIDI files.
Use external synths like:

- OmniMIDI
- VirtualMIDISynth

Q. Screen is laggy.

Enable "No use VRAM".
Then try lowering RAM or disabling effects.

Q. The app crashes or throws an error during playback.

It may have exceeded the maximum RAM available to Java.
If your PC has sufficient memory, close the application and try launching "RainMIDI-Ram8G.exe" or "RainMIDI-Ram16G.exe" instead.

## About Zulu JDK/JRE

This application includes Zulu OpenJDK provided by Azul Systems, Inc.
Zulu OpenJDK is licensed under the GNU General Public License version 2 (GPLv2) with the Classpath Exception.

- OpenJDK Project: https://openjdk.java.net/
- GPLv2 + Classpath Exception: https://openjdk.java.net/legal/gplv2+ce.html
- Azul Systems: https://www.azul.com/

The source code for Zulu JDK/JRE can be obtained by requesting it from Azul within three years of receipt (for a reasonable cost of distribution).
For more details, please contact: azul_openjdk@azul.com
JDK/JRE version used: Zulu 25.0.2+10

## About FFmpeg and FFprobe

This application uses FFmpeg and FFprobe.
FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later.

- FFmpeg Project: https://ffmpeg.org/
- FFmpeg Source Code: https://ffmpeg.org/download.html

## Contact

If you have any questions or requests, please feel free to contact us using the information below.
Bug reports are also welcome!

- Email: suka.dev6626@gmail.com
- GitHub
- Youtube
- X(Twitter)