Home

This book is a user documentation for Pianorium.

Overview

This application provides only visuals for piano videos, no sound at all.

When launching it, a .mid file selector will open. Not choosing such a file will stop the whole program.
Once you have chosen a .mid file and chosen your parameters, you may click ✨ Start rendering or close the window (once only) to start rendering.
Once the render has started, the opened window won't be updated, for performance (the render happens in the background). Closing it will stop the render early, but you can minimize it to hide it. Otherwise, the window will automatically close when the whole song is recorded.

Available parameters

These lists of parameters and explanations will be updated upon new releases.

Go to:

Preview

The window which opens once the .mid file is chosen, that runs the visualization without recording, and where you can change the rendering parameters.
The song is looped in the preview.

  • Preview speed : The speed of the preview. Can be negative to go back. Useful to move around the song faster.
  • Restart preview : Goes back to the beginning of the song.

General

General parameters of the rendered video.

  • Width : The width of the video.
  • Height : The height of the video.
  • Samples : The number of samples per pixel. A higher value is highly recommended: it will produce a smoother, more precise rendering, for negligible speed loss.
  • Framerate : The framerate of the video. 30 or 60 is recommended.
  • Vertical flip : Whether or not to completely mirror the video upside down.

Files

The choice of the input and output files.

  • Input .mid file : Opens a file selector for .mid files, which contain the data of your song used for the visuals.
  • Output (.mkv or .avi) : The name (with extension) of the output video file. Note .mkv and .avi provide lossless compression, that's why they are used instead of common .mp4 files. Other formats may work, but aren't guaranteed to.

Render

About encoding the video.

  • Speed vs Compression : How fast the video will have finished encoding. The downside of faster encoding is a larger output file size.
    Rendering in Ultrafast mode is highly discouraged, as it can climb up to several gigabytes "ultra fast".
    Note that if you have a very high number of particles (e.g. 50 000), setting this to something fast might not help much, so you might prefer going slow instead (the difference won't really be felt).
  • ✨ Start rendering : Starts the render.

Notes

Notes customization.

  • Show : Whether or not to show the notes.
  • Gravity : How small&slow or tall&fast are the notes. Also affects the spread speed of particles. Does not change the pace. This is not like physical gravity.
  • Color - [border] : Which color to tend towards, towards the [border] border of the video.
    When having light and dark colors on different borders, the lighter color will change the color of a pixel less than the darker color.
    You could say "Darker partly absorbs lighter".
    For example, let's say you have pure blue on the left and pure red on the right. If bottom is completely white and top is completely black, this will result in notes color being: at the bottom a gradient from pure red to pure blue, left to right ; at the top only black.

Particles

Particles customization.

  • Show : Whether or not to show particles.
  • Density : How many particles to spawn per second per note.
  • Transparency : How visible are the particles.
  • Color - [border] : Same as Color - [border] in the Notes section. Note that particles don't reach the top border.

Octave lines

The vertical lines that split every group of 12 notes, starting from C.

  • Show : Whether or not to show them.
  • Color : Their (uniform) color.

Background

The backgound. Behind notes, particles and octave lines.

  • Color : Its color.

Contributing

Bug reports, enhancement requests, feature ideas, etc. are welcome! You can share them as issues in the GitHub repository for me to work on them.

You can also contribute directly to the code by submitting a PR.