An android accordion tuner with strobe and multiple notes. The Windows, Mac and the Android version of this project are also on here. The app is available on F-Droid and here. See the Wiki or the app help screen for detailed documentation.
- 32 temperaments including Equal, Just, Pythagorean, Meantone
- Filter options, including low pass, fundamental, note and octave filter
- Optional strobe or musical staff display
- Custom temperaments option
- Transposition option
- Solfège (DoRéMi) option
- Bach (ABHC) option
Hold the phone/tablet near the instrument, play a note, and observe the display. In portrait, the app shows a scope with the input signal, a spectrum showing the processed signal, the main display with the note value, cents error, frequency error etc, a strobe display or staff display and a meter display showing the cents error. In landscape the app shows just the main display or staff and the meter. There is a signal indicator in the action bar which is useful in landscape mode. Using the touch setting changes below causes a short notification message to pop up for a few seconds.
The app defaults to equal temperament and the key of C. 32 temperaments are available in the settings. For all temperaments except for equal it is necessary to choose a key. Note that the display may show a cents variation greater than 50 for some notes in some temperament due to the interval between notes being greater than 100 cents. See Musical temperament.
You may load custom temperaments by placing a file in
Tuner/Custom.txt
. The file should contain one or more entries
formatted as property entries. The format is documented
here.
# Custom Temperaments
Custom: 1.000000000, 1.067871094, 1.125000000, 1.185185185, \
1.265625000, 1.333333333, 1.423828125, 1.500000000, \
1.601806641, 1.687500000, 1.777777778, 1.898437500
# 41edo 12 note subset
41edo: 0.995933333333333, 1.07023430212233, 1.122462048, 1.17711684266417, \
1.26504472893667, 1.3266973308906, 1.42571583230427, 1.49526051927677, \
1.5680347591656, 1.68521247642303, 1.76730548352053, 1.8992638916125
Entries will be loaded and displayed in Settings in alphabetical order at the end of the list. Erroneous entries will either be ignored or replaced with ones (1.0). Changes to the contents of the custom file will be loaded in Settings.
Touch the scope to add an input low pass filter to make it easier to tune bass reeds by removing harmonics. Touch again to remove it. Touch and hold to add a fundamental filter. Touch and hold again to remove it. The colours have been chosen both for clarity, and for that 'retro' look like a real piece of hardware.
Touch the spectrum to zoom in to the current note. The display can show up to eight reeds. Touch again to zoom back out. Touch and hold to add a downsampling feature to help with bass reeds. This may produce spurious results. Touch and hold again to remove.
Touch the display to lock the current results. Touch again to remove the lock. Display lock is not preserved if the screen is rotated. Touch and hold the display to switch between displaying the closest result to the reference note and up to eight results. This setting is not remembered the next time you use the app.
Touch the strobe to turn it on and off. The staff will display instead. Strobe colours are configurable in the settings. Touch and hold to change theme.
Touch the staff to turn it on and off. The strobe will display instead. Touch and hold to change theme. In landscape touch the staff to lock the current results.
The meter shows the cents error up to plus or minus 50 cents. Touch the meter to copy the results to the clipboard. Touch and hold to prevent the display turning itself off. Touch and hold again to allow the display to turn off. In landscape touch the meter to switch between the display and the staff.
The status bar shows the input sample rate and the status of the various settings.
All the settings are preserved except the multiple note option and will be remembered the next time you use the app.
The input source may be changed. If a source that isn't present on the device is selected an error message will appear. Select the default source or the microphone.
The audio filter item controls a low pass filter in the audio input before processing.
The downsample item controls a downsampling feature on the audio input during processing to help with bass reeds. This should be more reliable now I have found the long standing deliberate mistake.
The screen item stops the screen turning itself off.
The spectrum zoom item controls the zoom feature of the spectrum display.
The multiple notes item controls the display of more than one result on the display. This setting is not preserved.
The fundamental filter item enables the fundamental filter.
The note filters item enables the note and octave filters.
Pick which notes you would like to appear in the display.
Pick which octaves you would like to appear in the display.
The strobe item controls the strobe display.
If the strobe is enabled, there is an option to change the colours. There are three predefined settings and a custom setting. If the custom setting is selected the two colours may be changed individually. touch the outer coloured circle to select a colour. Touch the centre coloured circle for each colour to see what it will look like on the left.
The reference frequency for 'A' may be changed over a limited range. This will be remembered, so change it back to 440Hz before you quit the app.
The transpose item allows transposition of the note display. This will be remembered, so change it back if no longer required.
The temperament item enables the use of different temperaments. This will be remembered, so change it back to equal if no longer required.
The key item enables the use of different keys with the selected temperament. It makes no difference in the equal temperament.
The theme item enables a choice of themes.
The about item shows the copyright and licence.
You can either import the app into Android Studio or use standalone Gradle.
Don't use installed gradle unless it's the same version as here (see
./gradle/wrapper/gradle-wrapper.properties
).
$ ./gradlew [assembleDebug|assemble|build]