a small guitarStringTuner

StringTuner is an “app” for Android phones that plays the notes of a stringed instrument, such as a guitar, to aid in tuning the instrument.

Gratis and libre by Steve White.

Project page

The Theory

There is more than one kind of tuning method. Some work better for some people than others.

Some people are born with “perfect pitch”. They just know a note is exactly right, and don’t need any outside help to tune an instrument.

Some people don’t have “perfect pitch”, but can compare two notes, and tune an instrument to a standard note being played. The StringTuner app is for these people.

Other people lack the ability to compare two notes. They need something like an oscilloscope to tell them that their instrument is tuned right. There are plenty of phone apps around with oscilloscope-like features just for this case.

Finally, some people have no musical ability, but can hire other people to tune their instruments for them, and even play for them, and to tell them how fantastically gifted and wonderful they are, just to be able to sit while someone else does everything for them. Such people are not among our target audience.

Functions

So far, StringTuner has standard tunings for Guitar, Bass, Banjo, Violin, Cello and Ukulele.

So far, its interface is localized for the languages Arabic, Bengali, Bulgarian, Mandarin Chinese, Dutch, Farsi, French, German, Greek, Hindi, Italian, Japanese, Polish, Portuguese, Punjabi, Russian, Romanian, Spanish, Turkish, and Ukrainian besides English.

Sound implementation

The current implementation uses standard MIDI sounds sythesized via the operating system (perhaps using MIDI hardware on the device). Advantages of this approach include: much simpler, smaller code that usually produces pretty good sound. Disadvantages include: it doesn’t sound the same on every device, it sounds pretty crappy on some devices, and that the app is limited to the voices supported by the General MIDI standard.

Hardware supported

The latest version should work on any Android phone running OS v. 4.0 (IceCreamSandwich) or higher. Earlier Android builds ran on Android v. 2.3.3.

Previous versions

A previous version of StringTuner was intended for any device that supports

It was been seen running in multiple Nokia phones with Symbian S60 3rd Edition.

It ought to run as well on Blackberry RIM—but that system was mysteriously lacking the feature of playing a short MIDI event, although the Blackberry developer documentation seems to indicate support for MMAPI.

SourceForge.net