Skip to content

The MIDI Humanizer is a tool that allows you to humanize MIDI files by adding random variations to note timing, duration, and velocity. It provides a graphical user interface (GUI) built with PySide6, making it easy to select MIDI files, adjust humanization parameters, and save the processed files.

Notifications You must be signed in to change notification settings

L0wl/midi-humanizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI-humanizer

The MIDI Humanizer is a tool that allows you to humanize MIDI files by adding random variations to note timing, duration, and velocity. It provides a graphical user interface (GUI) built with PySide6, making it easy to select MIDI files, adjust humanization parameters, and save the processed files.

Features

  • Select MIDI File: Choose a MIDI file using a file dialog.
  • Adjust Humanization Parameters:
    • Time Offset: Randomly shift note start times within a specified range.
    • Duration Offset: Randomly adjust note durations within a specified range.
    • Velocity Offset: Randomly change note velocities within a specified range.
    • Duration Percentage: Reduce note durations by a specified percentage before applying offsets.
  • Multiple Track Processing: Humanize each track individually while considering notes from all tracks to prevent overlapping.
  • Save Processed File: Save the humanized MIDI file with a _humanized suffix in the same directory.

Usage

Linux

python venv .venv
./.venv/Scripts/activate
pip install -r requirements.txt
python main.py

Windows (Powershell)

python -m venv .venv
/.venv/Scripts/activate
pip install requirements.txt
python main.py

Building

  1. Open venv and install nuitka
pip install nuitka
  1. Build with nuitka
nuitka --mode=onefile --disable-console --output-dir=build --script-name=main.py --enable-plugins=pyside6
  1. Wait until done, then open build folder
cd build
  1. Run the app
./main

About

The MIDI Humanizer is a tool that allows you to humanize MIDI files by adding random variations to note timing, duration, and velocity. It provides a graphical user interface (GUI) built with PySide6, making it easy to select MIDI files, adjust humanization parameters, and save the processed files.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages