- Added support for Windows 10 WASAPI shared mode low-latency audio.
This instructs Windows 10 to update its audio engine more frequently, reducing audio latency to a level on par with WASAPI exclusive mode or with ASIO, while still allowing multiple applications to use audio.
NB; you need an audio driver that supports this to benefit. The common "Realtek High Definition Audio" driver (used by most motherboard audio) do not support it (buffer is fixed at 480 samples/10 ms).
The FAQ section of the program manual has instructions on how you can swap it out for Microsofts generic "High Definition Audio Device" driver - which is compatible and does much better (allowing buffer sizes down to 128 samples/2.7 ms).
- The program now detects when you plug in or un-plug an audio device, a speaker or microphone.
- Removed support for DirectSound audio I/O - today WASAPI should always be a better choice.
- Removed support for DirectMusic MIDI I/O - as it is not available in Windows 10.
- Fixed broken audio input when using an ASIO device with 16-bits in and 24-bits out.
- The standalone app is now available in 64-bit as well as 32-bit versions.
- The UI now supports high-DPI displays (without blurry upscaling).
- The UI now supports keyboard navigation.
- In addition to the standalone version, there are now 32-bit and 64-bit VST versions of Chromatia tuner (all included with the same installer).
- The options dialog has been replaced by fold-out tabs that do not block the tuning dialog and have reactive controls, i.e. you immediately see the effects of any changes that you make.
- Improved the note detection and the tuning display stability.
- Added a visualization of the scale in the spectrum graph.
- The frequency range of the spectrum graph can now be changed (right click on the graph to select a range).
- A new spectrum responsiveness vs stability slider in the display options allows you to add a peak hold-time to the spectrum graph.
- There's a new Tone shape selection in the tuning options, where you can select the wave shape of the tone sound generator. Available selections are sine, square, triangle, sawtooth and beats.
- Buttons and displays are now a bit taller.
- Added support for the Heimholtz octave numbering system. To enable it, select Middle C is c' in the tuning options.
- Added note name selections for transpositions of Bb/Eb/F/Db/A to C.
- Added two new noise filter selections: Remove frequencies not near and Remove frequencies above.
- Added an option to use the Railsback piano curve for octave stretching as an alternative to the linear cents / octave stretching option.
- Improved note detection in the tuning report mode.
- The tuning report window now has an option to Add a measurement when the note changes.
- In manual mode, the octave shift buttons are now labeled - and + (keyboard short cuts: PgDn/PgUp), and there's new note shift buttons labeled < and > (keyboard short cuts: -/+).
- Fixed a compatibility issue with some ASIO drivers.
- The power and beats buttons as well as the max update rate and power save mode options have been removed in order to simplify the user interface (it is now always on and tries to give you a smooth 60 Hz).
- Added a "Recall defaults" button to the 'Tuning' options tab.
- Added "Change the tuning meter needle color to green when in tune" to the 'Display' options tab.
This is exactly what previous versions also did, but you can now disable it if you wish (the needle will then stay red).
- It is now possible to manually select buffer sizes in the 'Audio' options tab.
This is for advanced users only (the "Default" setting should work fine for most people).
It can be used to trim down the audio latency, but if you set it too low, the tuning and/or the 'tone' function wont work properly.
- Improved audio device compatibility in WASAPI exclusive mode.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- This is the first release. However the audio 'I/O core' 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.