JWorthe / rusty_microphone

Signal processing to give real time feedback on music
https://www.worthe-it.co.za/rusty-microphone/
MIT License
25 stars 2 forks source link

Autotune-like feature for improving intonation. #1

Open wullewutz opened 6 years ago

wullewutz commented 6 years ago

Hi Justin, just tested rusty_microphone after reading your amazing blog article about it. Thank you for both, they have been really inspiring! Beeing a hobby flutist the intonation problem is well known to me as well - I will try the software next time I play my instrument. But now for this issue: Long time ago I also used to play the guitar a little. At the beginning I used one of these cheap guitar tuner-boxes that give you an optical feedback similar to rusty_microphone. But it always felt quite unprecise and time-consuming (maybe because it was just a very cheap device). Later, somebody told me the way of "flageolet tuning" that works by comparing the string-tunes using your ears and string-harmonics. This method worked very good for me and I'm asking myself, if it could work as an option for rusty_microphone as well. After finding the nearest note, as the program already does, it should be easy to generate a sine-wave of the exact right tune and forward it to the speakers of the computer. Deviations from the instruments tone should be clearly audible as interferences. Just an idea... not sure if it will work, especially on fast tone changes.

Keep it up! wullewutz

JWorthe commented 6 years ago

Hi Wullewutz,

Sorry for taking so long to reply to this. Somehow, my Github settings ended up not sending me notifications around this repo, so I just saw this now.

Thank you so much for the suggestion. I think this is a fantastic idea! I might even try taking the idea a step further down the autotune path, and try speeding up / slowing down the input signal to correct the pitch rather than using a sine wave. I'll also need to look into if there's a nice way to avoid feedback.

I don't have nearly as much free time as I'd like to spend on this project, so I can't promise anything immediately, but I've put it on my todo list after the work I'm currently doing to bring rusty_microphone to the web with webassembly.

Thanks, Justin