ibancg / lingot

Musical instrument tuner
http://savannah.nongnu.org/projects/lingot/
GNU General Public License v2.0
85 stars 12 forks source link

feature request: strobe display #31

Closed tpapp closed 4 years ago

tpapp commented 4 years ago

First, thanks for this great program! I use it daily, and it allowed me to set up intonation perfectly on my guitar.

I wonder if you could please consider adding a strobe mode display, which I find more convenient for final fine-tuning.

ibancg commented 4 years ago

Hey @tpapp, thanks for the suggestion.

I guess you are talking about a display with green an red "LEDs". Could you elaborate?

Yes I would like to try a new look like that soon, maybe offering several flavors, but I think I first need to achieve a better separation core / UI, or even move the UI part to Qt. Right now it is quite cumbersome to add functionality to the UI.

tpapp commented 4 years ago

Strobe tuners usually display some pattern that moves left or right, with a speed proportional to the gap between the desired and the actual note. See an example here:

https://www.youtube.com/watch?v=ddTc-cLUCKA

Or for the Polytune:

https://youtu.be/NvwMoIbrX1Y?t=53

I think that originally this was implemented by a rotating disc:

https://www.youtube.com/watch?v=U8KHeyT6xB0

but currently LEDs are an implementation detail, on a computer display it could just be a moving pattern that is somehow obtained from the signal and the baseline pattern (eg by multiplying the two?).

ibancg commented 4 years ago

Ok I'm sold, I will attempt this. Thanks for the detailed information.

At the moment I will build a quick prototype with Qt. If it works fine I will see how I bring it to the final UI.

The prototype is the easy part, I think I can have it in a matter of days if I find the time. It would be cool if you are still around to give some feedback.

tpapp commented 4 years ago

Thanks for considering this! Of course I am happy to test it and provide feedback.

ibancg commented 4 years ago

Ok, I have something already in branch 31-strobe-display.

It should load the strobe PNG if you build and run "in-place". From scratch:

git clone https://github.com/ibancg/lingot.git
cd lingot/
git checkout 31-strobe-display
./bootstrap
./configure
make
./src/lingot

It does not look awesome, but I am more interested in debugging the behavior. I never used one of these devices in real life.

image

tpapp commented 4 years ago

It does look awesome. Thanks for implementing this!

I find it much easier to use this kind of interface when adjusting for the fact that the string stretches a bit when plucked.

ibancg commented 4 years ago

Ok, thanks for the feedback, I will bring this to master branch properly, with some way to select the display type in the UI.

ibancg commented 4 years ago

Merged to master in #49