Using Sting with a Screen Reader
What you need
Sting’s controls are custom-built, so they have their own accessibility support. Everything in the interface can be reached, read, and changed from the keyboard.
macOS
VoiceOver, in Logic Pro or another compatible plug-in host, or REAPER with OSARA.
Windows
NVDA or Narrator, in REAPER with OSARA.
Ableton Live, on either platform
Live does not expose third-party plug-in interfaces to screen readers, so Sting’s own interface is not available there. Everything else is: all of Sting’s parameters can be read and changed through Live’s own device parameter list, with VoiceOver on macOS or NVDA or Narrator on Windows.
The step sequencer is there too, reached one step at a time rather than as a grid: a control selects the step and the others set its value. The list is flat and unlabelled beyond the parameter names, so controls sit further apart than they do in Sting’s own interface, but no control is out of reach. Setting up Sting in your host has the one setting Live needs before all of its parameters are available.
The commands in this guide use the default screen reader shortcuts. If you have customized your keys, use your own equivalents.
Two ways to use Sting
There are two ways to access Sting with a screen reader. They differ in how far apart the controls are and how much each one tells you. Every control is reachable either way.
Sting’s own interface
Controls announce their name and value together, switches announce their state, and each one describes what it does rather than only what it is called. The step sequencer can be navigated as a grid.
It is also arranged in groups rather than one long line. Modulation is a block you can step into when you want it and step over when you do not, so getting from the start of the interface to the sequencer does not mean passing through thirty-odd modulation parameters on the way.
This works when Sting’s own window is open and focused, and requires a host that allows screen readers to access plug-in windows.
The host’s parameter list
Most DAWs can also show Sting’s parameters as a standard list of controls, without opening Sting’s interface. This works with any host, including Ableton Live. Everything is reachable this way, the step sequencer included. A control selects the step and another sets its value, rather than moving around a grid.
What a list cannot do is group anything or explain anything. It is one flat sequence, so reaching a control means passing every control before it, and the host decides how values are described, often as a percentage where Sting would say the musical value.
One thing is missing rather than further away: exporting a pattern as MIDI is done from Sting’s own interface and has no parameter, so it cannot be reached from a host’s list.
Setting up Sting in your host
Logic Pro
Logic can show Sting either through its own interface or through Logic’s Controls view.
The Sting interface gives you full access to the accessible controls and step grid. Controls view gives you Logic’s standard parameter list and can be useful when you want to quickly find a specific parameter.
REAPER with OSARA
REAPER with OSARA can be used on both macOS and Windows.
Open the FX window and select Sting in the FX chain. REAPER shows either the plug-in’s own interface or its own generic parameter list, and the button that switches between them is called UI.
Its name stays the same whichever one you are on, so the button cannot tell you where you are. Go by what you hear: if it is a plain list of parameter names, press UI once to reach Sting’s own controls.
Both routes work. OSARA’s parameter dialog reaches every parameter through REAPER, and Sting’s own interface adds the grouping and the descriptions.
Ableton Live
Ableton Live does not expose third-party plug-in interfaces to screen readers, so Sting’s own interface is not available this way.
Instead, use Live’s device parameter list. Every parameter is there, including the step sequencer: you select a step with one control and set its value with another, rather than moving around a grid. What Live cannot give you is Sting’s grouping or its descriptions. The list is flat, so a control at the end is a long way from one at the start.
By default Live only exposes a limited number of parameters. To make all of Sting’s available, add this line to your Options.txt file and restart Live.
-_PluginAutoPopulateThreshold=128
If you are typing it rather than copying it: that is a hyphen, then an underscore, then PluginAutoPopulateThreshold as a single word with a capital letter starting each of Plugin, Auto, Populate and Threshold, then an equals sign, then 128. There are no spaces anywhere in it.
Other hosts
If your DAW allows screen readers to access the plug-in’s own window, you can use Sting’s built-in accessibility support. Otherwise, use the parameter list provided by the host.
How Sting speaks
Sting reports the control name and its current value together:
Swing, 40 percent
When you change a value, the new value is announced immediately. Switches also announce their state:
Tie mode, on
Moving around
Next control
- VoiceOver
- VO + Right Arrow
- NVDA
- Tab
Previous control
- VoiceOver
- VO + Left Arrow
- NVDA
- Shift + Tab
Hear the current item again
- VoiceOver
- VO + F3
- NVDA
- NVDA + Tab
VO is the VoiceOver modifier, normally Control + Option.
Changing values
Controls with adjustable values behave like sliders.
Increase
- VoiceOver
- VO + Up Arrow
- NVDA
- Up Arrow
Decrease
- VoiceOver
- VO + Down Arrow
- NVDA
- Down Arrow
The new value is announced after each change, so you can adjust parameters entirely by ear.
Buttons and switches
Switches announce their current state and can be activated with:
- VoiceOver
- VO + Space
- NVDA
- Space or Enter
The step grid
Next or previous step
- VoiceOver
- VO + Right / Left Arrow
- NVDA
- Control + Alt + Right / Left Arrow
Move between rows
- VoiceOver
- VO + Up / Down Arrow
- NVDA
- Control + Alt + Up / Down Arrow
Each step announces its position and value, for example:
Step 5, C3
You can then change the value using the same increase and decrease commands used for other Sting controls.
If something doesn’t work
If a control cannot be reached, does not report its value, or does not announce changes correctly, note the control and the host you are using and report it.
If values are not being announced as they change, also check your screen reader’s settings for value-change announcements.
Quick reference
Next control
- VoiceOver
- VO + Right Arrow
- NVDA
- Tab
Previous control
- VoiceOver
- VO + Left Arrow
- NVDA
- Shift + Tab
Increase a value
- VoiceOver
- VO + Up Arrow
- NVDA
- Up Arrow
Decrease a value
- VoiceOver
- VO + Down Arrow
- NVDA
- Down Arrow
Activate a button or switch
- VoiceOver
- VO + Space
- NVDA
- Space or Enter
Move through the step grid
- VoiceOver
- VO + Arrow Keys
- NVDA
- Control + Alt + Arrow Keys