g S t r i n g s
gStrings is a chromatic tuner application for android. It will let you tune any musical instrument, such as the violin, viola, violoncello, bass, guitar, piano and wind instruments. Its free as in free beer, available for download through the android market. See what users had to say about this app on the market.
Contact: gstrings_at_cohortor_dot_org
More apps: Metronome Widget || DCSwitch || RTT || Paid Apps Enabler
Note: special thank you to Len Kawamoto for his continuing support and testing, as well as Vic Stuber for his work on the app icon.
CHANGELOG:
05/16/11 - v1.0.9
accessibility support with audible feedback for blind musicians; Dell Streak 8kHz sample bug workaround; bugfixes.
03/12/11 - v1.0.8
Sony Ericsson Xperia X10 sampling bug (8kHz only) workaround; displaying Qriously questions instead of ads when possible.
02/22/11 - v1.0.7
new temperament setting for bagpipes; AdMob related layout issue fixed.
01/03/11 - v1.0.6
support for numerous non-equal temperaments (Just, Meantone, Comma, etc.); updated GUI; merged the source of the paid and free versions, hence the free version also got the doubled processing power (native C libraries boosting precision or responsiveness) and the nonlinear variable range scale for the 'price' of ads being displayed.
07/27/10 - v1.0.5
Refined fundamental detection (fixing D/G issues on some guitars); new optimize option for ukulele; regional note names;
06/22/10 - v1.0.4
Samsung 2.1 firmware bugs (muted mic) fixed;
06/16/10 - v1.0.3
Enabled app installation on the external storage (SDK2.2+); samsung 2.1 firmware bugs (muted mic) fixed; fundamental detection tweaks (again);
05/06/10 - v1.0.2
Increased measurement precision; improved fundamental detection; cleaned up MIC mute/unmute code; added option to select the octave of reference tones;
04/03/10 - v1.0.1
Peculiar initialization bugfix for certain Eris and Droid phones. New icon fitting the 2.x series style icons better.
02/27/10 - v1.0.0 TYD
First release of the paid version - TYD (Thank You for Donating), using native ARM C code (NDK) to boost precision, responsiveness, or battery life. Moreover, an adjustable range, nonlinear scale has replaced the static linear scale of the free version.
02/27/10 - v1.0.0
New fundamental frequency detection; Playback moved to media channel; Minor bugfixes; SDcard write permission to dump stacktrace in case an unexpected error occures;
12/25/09 - v0.9.9
Minor user feature requests (13.7 marks, orchestra tuning extended, better playback with volume control); a major thread synchronization bugfix during configuration change (e.g. scr flip); did I mention an even smaller size? (110k)
11/05/09 - v0.9.8
GUI updates, support for different screen densities/sizes
07/20/09 - v0.9.7
Support for Samsung Galaxy (and other devices with 8kHz input support only)
06/17/09 - v0.9.6
Bugfix release
06/06/09 - v0.9.5
Refactoring, decreasing the app size
06/03/09 - v0.9.4
Adding splashscreen, GUI updates
05/28/09 - v0.9.3
Increasing the precision of cent distance measurements
05/22/09 - v0.9.2
Bugfix release
05/19/09 - v0.9.1
Orchestra tuning feature added
05/05/09 - v0.9.0
Initial release
USAGE:
The main screen consists of a horizontally scrollable tone selector on the top, an analog measuring gadget and control buttons.
Press Sound 'target' to listen to a reference tone of your selection from the list of tones on the top. The microphone is turned off and no input is analyzed in this mode.
Press Tune 'target' to tune the selected tone of the tone list on top. At this point your microphone is activated and the sampled sound is analyzed to determine the most dominant frequency/pitch. The measurement continues until the intensity of the input sound remains above a threshold value. Input intensity, as well as the measured frequency are displayed on the gadget continuously.
Pressing Tune auto will result in the input being analyzed similarly to 'Tune target', with one exception: in this mode, the selected tone of the tone list will update dynamically as well, so that the selection is always as close to the measured value as possible.
ATTENTION: Please set the microphone sensitivity before attempting to tune using either 'Tune target' or 'Tune auto'. More information about the microphone sensitivity can be found in the SETTINGS section below.
NOTE: To make the use of gStrings 'musically educational' as well, it is recommended that you first attempt to tune your string on your own. Once you are done, use 'Sound target' to listen to the note you should have tuned your string to. Now make adjustments until you believe your string is in tune with the target tone played back. Finally, use 'Tune target' or 'Tune auto' to validate/correct your results.
SETTINGS:
The list of settings can be reached by pressing the 'MENU' button of your phone, followed by a click on the Settings Menu Item.
Please beware of modifying any of the advanced settings, unless you understand what they do. On the other hand, you are encouraged to
modify the basic settings.
Microphone Sensitivity is the most important item in the list. It will let you set the threshold intensity (ITH) specific to your mic and
your device's current environment. Only sounds with intensities above ITH get analyzed while tuning.
Setting a proper ITH value is a tradeoff. On the one hand, a relatively high ITH is preferable to filter out as much noise as possible. On the other
hand, we need a low enough value to provide our tuner with input from our instrument for as long as possible.
Ideally, ITH should be set to a level, so that the sound we are producing with our instrument would keep its intensity above the threshold for
at least a second, before fading below it.
Optimize For will let you pick your instrument. The pitch evaluation algorithm is slightly customized to reflect your choice.
Orchestra Tuning allows you to adjust tone frequencies. Classical orchestras often tune to 443Hz 'A', instead of the standard 440Hz. For this reason, you may manually shift the frequency of a single tone and have all the other tones changed with respect to your custom reference tone. You may also let the tuner adapt to a sound recorded through the microphone automatically (e.g. the oboe). This is useful if you need to tune to another instrument that you would like to use as a reference instrument.
Use HPS (Harmonic Product Spectrum) searches for the presence of harmonic waves in the input.
Each string produces its own characteristic standing wave pattern, consisting of specific frequencies (known as harmonic frequencies) of vibration.
With HPS enabled, only tones with higher harmonics present in the frequency domain are considered.
HPS Depth will let you set the number of required harmonics, if HPS is enabled. Use it with caution. Although HPS is a powerful tool to distinguish sounds of an instrument from noise, a missing required higher harmonic will result in the given fundamental being thrown away.
FFT Rounding when enabled, will slightly increase (not a typo) the precision of the pitch detection algorithm. The rounding is applied inside the integer arithmetic fast fourier transform (android devices may not have a HW floating point unit) to the least significant bit of a shifted operand during multiplications. Note however, that this extra precision comes at a price of an extra ~5% CPU/battery usage.
Tampering Function will let you pick either a Gauss or a Hann window for wrapping the sampled input. Both of these functions are widely used in signal processing, with Hann being most commonly used in FFT audio processing. However, due to the way our pitch detection algorithm uses parabolic interpolation of FFT bins to best approximate peak values, a Gauss window will probably do better in most cases for this application.
Donate using PayPal:
Sponsored links by Google:
Note: if you do not see ads by google below, you may have a plugin installed in your browser that blocks them.