🎤 A rust library & TUI Application to grade human singing accuracy.
Important
This project is developed under the 01204371 Transform Techniques in Signal Processing course of Department of Computer Engineering, Faculity of Engineering, Kasetsart University. Project Developers: Kritchanat Thanapiphatsiri (6610501955)
- Install rust.
- Once finished, open the terminal, and run these commands:
git clone https://github.com/krtchnt/cantometria
cd cantometria
cargo build --releaseTo launch the program, run the program cantometria_tui in the folder target/release/, or run cd cantometria && cargo run --release in the terminal.
Follow the instructions on the screen, and the program will output the singing accuracy at the end.
To add more singing recordings, add them to the folder test. Make sure they are a WAV (.wav) file.
To add more songs or melodies, add them to the folder midi. Make sure they are a MIDI (.mid) file.
To find the files, many popular songs are readily available on the internet as MIDI and a simple web search will most likely obtain you what you want.
Note
For the most accurate grading, ensure the recorded audio is clear of any noises and other sounds that are not the singing voice to be graded. The recording will start being graded immediately as soon as the first note on the MIDI file. As a result, it is better to count down before recording starts.
The selected MIDI file must only have one track/instrument, which will be the sung melodies. The program would refuse to run otherwise.
| Track Title | Original Melody | Source Recording |
|---|---|---|
test |
Control Melody1 | Developer Recording2 |
tetris[-2] |
Tetris - Theme A | Developer Recording2 |
bite-* |
Sān-Z - BITE! | Zenless Zone Zero (Ellen Joe's Chinese, Japanese and Korean Voice-over) |