Chromatia Tuner — Revision history
Version 3.5
- Added "WASAPI support" for audio I/O. The Windows Audio Sessions API (WASAPI) - is the "native" audio interface for Windows 7 and Vista, providing low-latency, high quality audio playback and recording.
It is now the recommended interface to use.
Each WASAPI "audio endpoint" (an I/O connection, e.g. outputs like speakers or SPDIF, and inputs like microphone, line-in, et c) will appear twice in the audio device lists in the options - once with the appended text [SHARED] and once with [EXCLUSIVE].
Using a device in "shared mode" makes it behave nicely and cooperate with other apps using audio.
Using it in "exclusive mode" will give you better (lower) latency - performance on par with ASIO.
The drawback is that with exclusive mode, other applications might not be able to use audio will Chromatia is running.
In shared mode on the other hand, you can't select sample rate and channel config - it is fixed at the settings that are set in the Windows sound device properties.
With WASAPI devices, a recording volume control is available from within the program (press the small '|' button).
- In the tuning report dialog, the accumulated delay time between measurements is now more accurate when using the "automatic" mode (the clock no longer "drifts" when measuring during longer periods).
- The previous "Line noise removal" option has been renamed "Noise filter", and can now be set to "Off", "Remove frequencies below", or "Remove frequencies near".
- Added support for "MIDI Tuning Standard" (MTS) messages. If enabled in the program options, it will now respond to "Bulk tuning dump request" and "Tuning program select" messages.
- Added a "Middle C name" setting to the tuning options. This does not really affect the tuning, only what name is displayed for MIDI note no 60.
NB: If you're upgrade from an older version of Chromatia Tuner and have had it set to e.g. A5=440 Hz, then you now need to go into the options and set first Middle C=C5, and then A5=440 Hz.
- A few minor fixes & improvements.
Version 3.4
- Added (optional) ASIO support for reduced latency audio input and output. This translates into quicker reaction time for the tuning display. (NB, to benefit from this your sound card must have an ASIO driver. But if it doesn't, then check out a piece of free software called ASIO4ALL which implements ASIO using "WMD Kernel Streaming" and that works with most sound cards).
- If the "spectrum display" option is enabled and you maximize the window, you'll now get a full-screen spectrum display layered behind the big tuner needle display.
- In the report window, there's now an "Automatically add a measure every N s" option.
Version 3.3
- Added support for more generic custom tunings; you can now created your own "Chromatia tuning tables" – simple text files wherein you assign frequencies (defined in Hz) to note names of your own choice. You can assign up to 128 notes in this way (each one also needs to be assigned to a MIDI key number).
- Added two custom tuning table sample files: "Average Piano stretch" and "Generic Vertical Piano stretch", based on averages of measured 'stretched' tunings as applied by piano tuning professionals.
- Improved the spectrum display: Logarithmic frequency view option (on by default, right click on the graph to find the option to disable if prefer the 'linear' display of earlier versions). The frequencies of peaks are now also printed for major peaks other than the fundamental. The name of the corresponding notes (if close) are also displayed. Plus some graphical improvements.
- The "Low freq. cut" option can now alternatively be changed to "Kill freq. at", allowing you to e.g. kill 50 or 60 Hz line noise while still being able to tune lower frequencies.
Version 3.2
- Added a new "Recording level control" window.
You reach it by clicking a small button below the input level meter.
In this window you can set both select the recording 'source line' in sound mixer and adjust the recording level.
You also have the option to make the program remember these settings and automatically set them for you whenever you start Chromatia Tuner.
- Improved the octave stretching:
- It is now 'centered' on the selected master tuning note (i.e. the 'anchor note' for which you've specified a fixed frequency, e.g. A5=440Hz). (Previously it was always centered on middle C).
- The cents/octave stretching value can now be specified much more precisely with up to 3 decimals.
- Octave stretching info is now also parsed from Scala files (if present; e.g. if there's an entry of 1203.35 then that indicates an octave stretching of 3.35 cents/octave). The stretching parameter is automatically set when you select such a temperament.
- If you are running under Windows XP then buttons and other controls will now use the rounder and more colorful 'XP style'.
- The program manual is now in 'HTML help' format (it now both looks better and is easier to use than when it was using the older 'WinHelp' format).
Version 3.1
- Added a 'Report' button. This opens up a new window where you can create a log of measured tuning values. You add measurements to this log by clicking an 'Add to report' button (there's also 'Clear all' and 'Copy to clipboard' buttons). This option can be very useful e.g. for instruments makers.
- The scale root key and the master tuning base note are now displayed using the currently selected note names (before they were always displayed as C, C#, D, et c).
- Added a new display option 'Power save mode'. Enabling it lowers update rate if no signal is detected for 5 minutes - this increases battery life if it is left constantly running on a note-book.
- The 'Full-screen' button has been removed - use the normal 'Maximize window' button instead for the same function.
Version 3.0
- Added a 'Full screen' mode. In this mode, the meter display will cover the entire screen allowing it to be easily read from a distance. Click on the button labeled 'Full screen' to enter it. Just double-click anywhere with the mouse, or hit Esc on the keyboard, to return to normal mode.
- You can now select the displayed note names from among 10 predefined sets of names. In other words, the program is no longer limited to naming the notes C, C#, D, D#, et c.
- Added a 'Needle inertia' control in the options dialog (found under a new 'Display' tab). This controls the trade-off of response time vs. steadiness of the tuning meter's 'needle'.
- Added a 'Max update rate' control (also found under the 'Display' tab in the options) adjustable from 1 to 60 Hz. This is used to limit the CPU usage - freeing up more for other apps. If you running on a lap top you may also want to lower this (from the default value of 30 Hz) in order to save on the batteries.
- Added a 'Note hold time' option (again, found on the 'Display' tab). This new feature allows the needle and the note value display to be 'held in place' for a customizable amount of time after the signal has ended. Useful if you have an instrument with very 'short' notes that you would otherwise have to hammer almost constantly in order have enough time to read the values comfortably.
- Added keyboard short-cuts for selecting a note or for changing the octave in 'manual mode':
- F1 .. F12 selects note #1..12.
- The first character in the note name selects the note (i.e. normally C, D, E, F, G, A, B).
- Home/End selects the next higher/lower note.
- PgUp/PgDn selects the next higher/lower octave.
- The last used audio & MIDI devices are now remembered 'by name' instead of 'by index'. This helps preserve the settings if you add or remove devices.
- The tuner is now automatically set to 'power off' state when the window is minimized, and then back to 'power on' when it is enlarged again.
- Fixed a few minor bugs.
Version 2.6
- It is now possible to explicitly select if the audio input device is mono or stereo. This solves a problem with a few rare audio cards that happily opens a stereo input as mono but then gives only one channel rather than a down-mix of both (so if you had your mic plugged into the wrong channel, then you got no sound).
- Fixed a bug with things not working properly for scales with less than 12 notes per octave and a scale root key that is not in the corresponding C-based scale...
- When a scale root key other than C is set, the frequency of the root is now calculated using the equal tempered scale.
Version 2.5
- Added a 'low frequency cut-off' option that tells the program to ignore everything below a given frequency (e.g. if you have a problem with a large 50 Hz hiss, then set this to 60 Hz or so).
- Improved precision of internal calculations - for even more stable frequency determination.
- The 'needle' now changes color from red to green near 0 cents.
- Added (optional) MIDI input support: Play a note on a MIDI input device to select the note to tune in 'manual mode'. You can also use MIDI program change to select temperament.
- Added (optional) MIDI output support: Play the selected note (in 'manual mode') or the detected note (if any, in 'auto mode') on a MIDI output. This includes an option to use MIDI pitch bend to emulate non-equal tempered scales on an equal tempered synthesizer.
- You can now right click on the tuning display, or on the spectrum display, and get a pop-up menu with the single command 'Copy' (to the clipboard).
- The spectrum display now shows the exact determined fundamental frequency (instead of the note name) in text near its frequency peak.
Version 2.0
- Added the possibility to set the scale 'root key'. This means that you can now e.g. do just or Pythagorean 7-tone tunings in the exact key that you want. E.g. for old church music, you can now not only do the 'Ionian mode' (i.e. 'root key = C') but also the 6 other classical modes (e.g. 'root key = F' gives the 'Lydian mode').
- Added several new tunings: Equal temperament 5-tone, Equal temperament 7-tone, Just Major 7-tone, Just Minor 7-tone, Just (Zarlino), Slendro, Pelog, Ling Lun.
- Divided the options dialog into three 'pages': Tuning, Audio, and About.
- Added support for adding your own custom temperaments and scales. These must be stored in 'Scala format' files (.scl files) and put in the same directory as Chromatia Tuner.exe. This file format is documented in the manual. Scala is a software tool for experimentation with musical tunings (see http://www.xs4all.nl/~huygensf/scala/ where you'll also find a collection of more than 2800 scale files).
NB, Chromatia supports a maximum of 12 notes per octave. Files containing more than 12 notes, or use different tunings in different octaves, will only be partially handled.
- Added a 'Calibrate' button to the 'Tuning' options page. This will calibrate the master tuning to the frequency of an external reference source (e.g. a tuning fork). Note that not all sound cards have perfectly stable clocks, nor are all tuning forks (or similar) perfect, so the frequency value determined should not be considered an 'absolute measure', think of it more as providing the 'correction' necessary to bring the two into tune with each other.
- Added a 'Microphone type' option where you can select between three levels of low frequency response compensation (which is also a new feature).
- You can now select the sample rate for the input and output audio devices (a few audio cards can only record at one or two fixed sample rates).
- The note frequency is now shown if you rest the cursor over the key buttons (manual mode only).
- New setup program.
Version 1.0
- However the audio 'I/O core' used in Chromatia Tuner is based upon FMJ-Software's AwC++ library, which is also used several other of our products, as well a offered as an SDK to other software developers.