Wav2midi
Bachelor Thesis Project - Converts a monophonic wav file into MIDI
Install / Use
/learn @utkuce/Wav2midiREADME
Audio Note Analysis
Converts a monophonic wav file into a MIDI file. A more in depth explanation can be found here
Requirements
To run, the following must be installed
- Arrayfire Binaries ( Last tested with 3.6.2 )
- CUDA Toolkit
- If CUDA is not installed it should fallback to OpenCL or CPU
- Python3
- Required python packages:
pip install --user numpy PyQt5 pyqtgraph matplotlib
- Make sure that the CUDA and Arrayfire Environment Variables are set correctly
Build
First build the Rust source <sup>[1]</sup> as a dynamic library to create wav2midi.dll with the following:
$ cargo +nightly build
- Dependency
synthrsrequires nightly toolchain:
$ rustup install nightly
Usage
$ analyze.py [-h] -f FILE_NAME [-w WINDOW] [-p HIGHPASS] [-r HPS_RATE]
[-o ONSET_WINDOW] [-c THRESHOLD_CONSTANT] [-i] [-n]
OR
interface.py provides a GUI

Standalone (CLI only)
$ make
will create a standalone distributable folder if Rust Toolchain and Python3 are installed. SINGLE_FILE=1 flag will create a single executable file instead of a folder, but the execution will be slower as everytime files are unpacked into a temporary folder
Sample output example
- testaudio/tetris_acoustic_guitar.wav → testaudio/tetris_acoustic_guitar.mid
analyze.py -f testaudio/tetris_acoustic_guitar.wav -w 13 -p 215 -r 3 -o 7 -c 1.03
- testaudio/tetris_violin.wav → testaudio/tetris_violin.mid
analyze.py -f testaudio/tetris_violin.wav -w 13 -p 215 -r 6 -o 7 -c 1.02

Related Skills
docs-writer
99.4k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
339.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
Design
Campus Second-Hand Trading Platform \- General Design Document (v5.0 \- React Architecture \- Complete Final Version)1\. System Overall Design 1.1. Project Overview This project aims t
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
