I'm experimenting with a device for tuning piano strings. It attaches to the piano's tuning pins and turns them slightly by applying a torque impulse. It is a semi-automatic process, handled by a human operator.

  1. Operator presses a piano key, control system records the tone and calculates the frequency error. (The set frequency is known.)
  2. The control system calculates the required size of the torque impulse.
  3. The device applies the torque impulse.
  4. The operator presses the key again. If pitch error is still large, repeat from 1.

The change in frequency caused by a torque impulse is a function of the impulse size and the current frequency of the string.

I'm now going to design a control system for this. So far I've found that it probably is a Markov process, since it is not time dependent and not depends on previous states. But what could be a suitable control method for this application?

  • $\begingroup$ Wouldn't the string frequency be proportional to it's length? See Mersenne's laws. It seems easier to put an encoder on there and do position control. $\endgroup$
    – Ben
    Dec 9 '20 at 1:54
  • $\begingroup$ Interesting point. But the problem with position control is that it requires a device that can deliver much higher continuous torque and it will be challenging to come up with something that can be handheld. $\endgroup$
    – farbro
    Dec 9 '20 at 11:37
  • $\begingroup$ I don’t know why you believe the control method affects the required amount of torque needed to move the tuning pegs. The device has to move the pegs through a certain angle - how that angle is determined and achieved should not affect the selection of the motive means. Or am I missing something? $\endgroup$
    – SteveO
    May 8 at 3:09

There are multiple methods to pose this problem. The good news is, that you are right, and it is a time-invariant system, if you consider multiple keystrokes for tuning one key.

I have no idea about the intricacies of piano/guitar/other string instrument tuning, but it might be worthwhile to check if it is a linear time invariant system.

If you do not want to/cannot go down the LTI route, you can just disregard any highly theoretical controls approach and try an intuitive approach, similar to what you described in your steps, but instead of trying to come up with a torque value in step 2, you just use increments, a constant large increment if you are far away, constant small increment if you are close.

You can see a guitar tuning variant explained here. A detailed description of a different motorized guitar tuning solution can be found here.

Obviously Machine Learning can also be used to solve this problem. You can pose it as a reinforcement learning problem, where your action space is either discrete (small increment to tighten or to loosen) or continuos (the torque range) your observation space could be the current value of the torque (for the increments) or the frequency response. The reward function is how far you are form the ideal frequency. This would be the lease efficient way to do it, but probably the most fun one...

  • $\begingroup$ Thanks! I've been looking into those guitar tuners too, but the problem is that piano tuning pins require much more torque and such a device would be impractical. This flywheel approach can be made very compact and more practical, if it works. I don't mind going down the LTI route, but find it hard to describe this system as an LTI system. It is stationary in every sampling instant, hence has no dynamics to it (?). The current state is independent of previous states. Can it still be described as an LTI system but without any dynamics? $\endgroup$
    – farbro
    Dec 9 '20 at 11:29
  • $\begingroup$ The dynamics comes in response to an excitation. It think hitting the key is only a necesary condition to the excitation to occurre and can be (falsely) considered as the inout signal. The torque on the setting screw is the excitation. That certainly changes the output signal. $\endgroup$
    – 50k4
    Dec 9 '20 at 11:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.