Giter VIP home page Giter VIP logo

midivisualizer's Introduction

This fork

  • After images are exported to the selected directory, executes a simple Bash script to stitch together the images.
  • If an audio (mp3) is provided in the selected directory, it will be overlayed on the video and synced accordingly with preroll delay.
  • Video export demo https://youtu.be/f6s6f1UncyQ. It looks like Synthesia, which is pretty cool! Not intended to be official or anything, it's just something I wanted to play around with. If you want to reproduce results, I'm on Kubuntu 19.10. Released here.

MIDI Visualizer

Screenshot

A small MIDI visualizer, written in C++/OpenGL. Binaries for Windows and Linux are available here.

Usage

On all platforms, you can run the application by simply double-clicking on it. You will then be able to select a MIDI file to load. A Settings panel now allows you to modify various display parameters. Note that MIDIVisualizer is currently not able to play soundtracks, only display them.

Press p to play/pause the track, r to restart at the beginning of the track, and i to show/hide the Settings panel.

Command-Line Interface

You can run the executable from the command-line, specifying a MIDI file to read, along with a state file (INI file which may be exported within MIDI Visualizer), resolution, frame rate, and directory for PNG export.

./MIDIVisualizer [path/to/file.mid [state [width height framerate [output_directory]]]]

Development

The project is configured using Cmake.

mkdir build && cd build
cmake ..

Depending on the target you chose in Cmake, you will get either a Visual Studio solution (e.g., cmake .. -G "Visual Studio 15"), an Xcode workspace or a set of Makefiles. You can build the main executable using the MIDIVisualizersub-project/target. If you update the images or shaders in the resources directory, you will have to repackage them with the executable, by building the Packaging sub-project/target. MIDIVisualizer depends on the GLFW3 library and the Native File Dialog library, both are included in the repository and built along with the main executable.

For example, you can compile MIDIVisualizer on Ubuntu (e.g., in a VM with vagrant init ubuntu/bionic64 && vagrant up && vagrant ssh) as follows:

sudo apt-get update
sudo apt-get -yqq install git cmake xorg-dev gtk+-3.0
git clone https://github.com/ekuiter/MIDIVisualizer
cd MIDIVisualizer
mkdir build
cd build
cmake ..
make

On Windows, you can compile with MSBuild in your PATH (e.g., in C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\) as follows:

git clone https://github.com/ekuiter/MIDIVisualizer
cd MIDIVisualizer
mkdir build
cd build
cmake .. -G "Visual Studio 15"
msbuild MIDIVisualizer.sln /p:Configuration=Release

midivisualizer's People

Contributors

kosua20 avatar ekuiter avatar kaisubr avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.