Metadata-Version: 2.1
Name: piano-visualizer
Version: 1.0.1
Summary: A python library that allows you to export a video in which a piano is playing the music you give it.
Home-page: https://github.com/ArjunSahlot/piano_visualizer
Author: Arjun Sahlot
Author-email: iarjun.sahlot@gmail.com
License: GNU GPL v3
Keywords: piano,visualizer
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ffmpeg-python
Requires-Dist: mido
Requires-Dist: opencv-python
Requires-Dist: pydub
Requires-Dist: pygame
Requires-Dist: random-utils
Requires-Dist: tqdm

# piano_visualizer

A python library that allows you to export a video in which a piano is playing the music you give it.

![example gif](https://github.com/ArjunSahlot/piano_visualizer/blob/main/assets/example.gif?raw=true)

## Features

-   Export a video of a custom midi file
-   Easy interface
-   Multi-core export
-   Multiple piano support
-   Multiple midi support
-   Automatically generate audio for midi files

## How to

`piano_visualizer` was built with the intent for it to be simple to use. You can render a piano video with simply 4 lines of code!

There are 2 main classes: `Piano` and `Video`
`Piano` takes care of the piano rendering and the midi file parsing
`Video` takes care of video management (fps, resolution) and exporting

**INSTALL**
`pip install piano_visualizer`

Working in `example.py`

```py
# Import the library after you have installed it
import piano_visualizer

# Create a piano with a midi file(s)
piano = piano_visualizer.Piano(["/path/to/your/midi/file.mid"])

# Create a video with resolution/fps
video = piano_visualizer.Video((1920, 1080), 30)

# Add piano to video
video.add_piano(piano)

# Export video on multiple cores (1 for single)
video.export("your/export/path.mp4", 6)

# Progress bars should show up
# Once your video is exported it will be at the path you specified!
```


