1. AudioTheory Grids
  2. News

AudioTheory Grids News

AudioTheory Grids 1.3.0 – ASIO and Performance Update



A new update is here for AudioTheory Grids. This combines a series of 'under the hood' optimisations I've been making across the range of AudioTheory software. Let's dive into what's new...

[h3]AudioTheory Grids and the ASIO4ALL driver[/h3]

ASIO4ALL is a freeware audio driver designed for low latency playback. Most DAWs require the use of an ASIO driver, and whilst it is optional for AudioTheory Grids, it's highly recommended. It's very easy to install and you are guaranteed to get better performance than the built-in Windows driver.

Oh and yes, to confirm this is a Windows specific feature. Mac and Linux come with audio drivers that can handle very low latencies out-of-the-box. More on how the settings have changed on these platforms in a bit.



[h3]Changes to the Windows version of AudioTheory Grids[/h3]

There are a few things now in place designed to help swap you over to the ASIO driver. If you load up the application without this installed you will see a one-time notification directing you to the ASIO4ALL website.

Once installed, the application will automatically swap to use the ASIO driver when its next loaded. You can see which driver is currently in use from the settings popup. Here can also swap driver using the dropdown, meaning you can revert back to the built-in driver if required. Any driver changes here require the application to be restarted before they take effect. Oh, and if you swap to ASIO here but the driver isn't installed then it's not going to work. In this scenario the application will prompt you to install it on your machine.

Please note that currently the option to record in AudioTheory Grids is only available when using the built-in driver. This works by directly capturing the audio output and writing it to a wav file, which can only happen when the built-in driver is being used to process audio. I am looking into an alternative method of supporting this feature with the ASIO driver, but unfortunately the options are somewhat limited. At least for now, the record button doesn't show if you're using ASIO.



If the ASIO driver is in use, you will see a 'config.' button that lets you open up the ASIO4ALL settings. Here is where you configure your output device as well as the DSP buffer size. If you are not receiving any audio, the likely cause is that the correct output has not been selected here.



[h3]Changes to the Mac and Linux versions of AudioTheory Grids[/h3]

These still use the DSP latency settings that were previously in place. As above, the built-in drivers are able to support low latency without the need for an external driver. However I have swapped over the selector to a new dropdown which makes it a bit quicker and easier to select the value you're after.



[h3]Velocity Playback[/h3]

Oh, another change along the same lines. MIDI input playback now registered the note press velocity, meaning the playback volume is controlled by how hard you are pressing the notes. This helps better simulate the effect of a real instrument.


[h3]Variable Render Rate[/h3]

Ah, the solution to all of life's problems. This week I've made a fair few optimisations in the name of performance, but the most noticeable is a new variable render rate that means the display doesn't update when it doesn't need to.

This works well because there are many scenarios where you may find the software idling, it is after all reference material so it makes sense to leave it open up on screen. The software now looks out for these moments and greatly reduces the CPU overhead when possible, before seamlessly resuming to business as usual when any sort of input (or any action that results in a visible change on screen) is detected.



[h3]Run 'Out of Focus'[/h3]

I have also changed the default behaviour of the application so that it pauses running if the window is not in focus. This makes it a lot more practical to leave open in the background.

Originally this was not set because I imagined scenarios where it would be useful to poll for MIDI input when using the application alongside a DAW or other piece of software (e.g. you could be working in Logic on one screen and have AudioTheory running in the background on a second monitor). This may still be the case, so if your requirements do in fact mean that it's desirable for the application to run out of focus, then you can turn this back on in the settings.

That's all for today. Thanks for reading.

Fraser

AudioTheory Grids 1.2.0 Update



Today is launch day for AudioTheory Piano Keys. This is a brand new piece of software designed to give you real time visual and audio feedback when learning and practicing the piano. I'm super excited to be releasing this, and coincide with the launch there is also a big new update for AudioTheory Grids.

https://store.steampowered.com/app/1513510/AudioTheory_Piano_Keys

[h3]So what's new with AudioTheory Grids?[/h3]

I'm glad you asked. Many features developed externally for AudioTheory Piano Keys and AudioTheory Guitars too are making their way here too, so this new update contains a whole bunch of new features.



[h3]Chromatic highlighting[/h3]

This is the culmination of numerous highlighting enhancements that have been made over the last few updates. The new chromatic highlighting options mean there is full flexibility on how sharp and flat notes highlight not only within a scale preset but also in chromatic mode (using all notes) as well as any custom subsection.

I am confident that this is a much improved solution for how to display sharp and flats. Firstly, two changes to how this previously worked:

  • Sharp and flat notes now display with coloured highlighting even when a scale preset is not being used
  • The previous sharp and flat settings in the options cog are no more


[h3]New scale library[/h3]

The mini-scale selector has been neatened up, and there's a new look for the fullscreen selector. Minor scales have been split out into their own tab and there's now also a set of Dim scales available.

[h3]New octave selector[/h3]

The octave selector has been revised to better match that of a real-world device. It now starts at 0 and can be increased to +1 or decreased to -1. There is also a new option in the settings to show the MIDI input octave directly in the main view. I'd recommend turning this on if you are using a MIDI device and frequently change the octave directly on the device. This (now labelled as 'input octave') should match the device to ensure highlighting works as expected.

For example: if you increase the octave by +1 on your MIDI controller, then you should set the input octave as +1 too as this will ensure the device continues to highlight the correct octave. Meanwhile the output octave independently sets the pitch of the application software instruments.



[h3]Additional Guitar configuration[/h3]

The guitar view now includes is the option to select a full 24 fretboard diagram as an alternative to the default 15 fret diagram, letting you see two octaves at once. Plus, there's now the option in the settings set the guitar tuning per string (rather than just as a root note).



[h3]DSP Latency Settings[/h3]

I've added in some new optimisations to the app's latency settings (this is the fractional delay between input and playback). The DSP buffer size can now be configured (between 1024 and 32 samples) in the settings, with the idea being that a lower buffer size will result in less latency, but as this requires more CPU power you may incur audio distortions if it's reduced too much.

The buffer also now starts out at a platform-optimised size, meaning latency has been reduced without the need to adjust the settings, however full control is now available to tweak this further.

[h3]Hotkeys[/h3]

Some hotkeys are now in place to optimise control of the app:

Num keys 1–4: quickly swamp note languages
1 – English
2 – Fixed Do solfège
3 – Relative Roman numerals
4 – Movable Do solfège

Ctrl (Windows)/Cmd (Mac) –O: Open preset from file
Ctrl (Windows)/Cmd (Mac) –S: Save preset to file
Ctrl (Windows)/Cmd (Mac) Shift –O: Toggle keyboard overlay view
Ctrl (Windows)/Cmd (Mac) Shift –M: Toggle mute
Ctrl (Windows)/Cmd (Mac) –K: Toggle QWERTY keyboard input
Ctrl (Windows)/Cmd (Mac) –L: Toggle lock to scale



Plus there's a few more miscellaneous bug fixes and tweaks that have made their way into this version of AudioTheory Grids. Highlights include:

  • Modal scale backgrounds now correctly update in the mini popup
  • Fix for lines not correctly transposing when shifted up or down
  • Fix for a display bug where icons in the bottom left would incorrectly overlay at a reduced width
  • Sustain state now correctly saves
  • Fix for colour overlap when two notes next to each other were both pressed
  • Application now properly checks to resize if swapping from a 16:9 windowed to 16:10 fullscreen view
  • Fix for highlighting issue when using MIDI and QWERTY input together


And that concludes today's update. Thanks for reading.

Fraser

AudioTheory Grids 1.1.4 update

A small update is here to fix an issue where the app could unexpectedly crash if all notes were removed from the selector.

AudioTheory Grids 1.1.3 Update

A new patch for AudioTheory Grids is here! This includes the following:
  • Scale preset now updates if manually set
  • Fixed mute button for playback grid
  • The grey-out effect has been made uniform across the relative scale highlighting notes
  • The sustain button state now correctly saves between sessions

AudioTheory Grids 1.1.2 update

A small update is inbound!
–Bug fix for scales not reloading correctly
–Save/ load retains file name and last saved location
–Engine upgrade
–Larger sharp and flat icons for the default option buttons