Speech modification with vox
Included with your controller is an advanced speech filtering system called vox. It is accessible through the cortex menu as of Companion 8.2.

Vox supports four stages of filtering, called semantic, linguistic, phonetic, and typographic. This distinction is made to ensure that the speech modifiers are applied in the correct order; e.g. a lisp filter (phonetic) should not have to contend with input from a filter that translates the text into binary (typographic).

The categories perform the following functions:

Order Category Modifies... Examples
1 semantic meaning word replacement (fs_vocabulary)
2 linguistic language automatic translation (fl_polyglot), animal noises (fl_barnyard)
3 phonetic sounds used lithping (fp_lisp), sssnake ssspeak (fp_serpentine)
4 typographic formatting nǫî̜s̶e (ft_glitch), ᵗᶦᶰʸ ᶠᵒᶰᵗ (ft_microvox)


When a filter is activated, it is added to the end of the list for its category, e.g. if fp_serpentine and ft_glitch are enabled, and the user activates fp_lisp, then the final filter pipeline will be fp_serpentine —› fp_lisp —› ft_glitch. Note that if fp_lisp were activated before fp_serpentine, then the serpentine filter would have no effect, as all of the sibilant characters it seeks to lengthen (s, z, etc.) would already be replaced with lisped equivalents.

Management through the command line


To see a list of supported filters, type: vox list. This will produce a listing of all supported speech filters that are registered with vox. If the list is empty but some filters are installed, typing vox probe will repopulate it.

To see the filters that are currently enabled, type vox status. Filters are enabled with vox <name>, e.g. vox lisp, and disabled with vox <name> remove.

Other commands of the form vox <name> <parameters> will be passed directly to the filter. Most filters are coded to recognize help as a parameter, and to provide documentation explaining their use when it is provided. Other parameters will generally configure the filter. Any parameters other than remove or help will cause the filter to be activated if it is not already in use.

Additional vox features


The vox command is also used to manage two system policy settings, the output pipe and speech release. These can be adjusted by any user with access to the cortex menu.

The output pipe


Also known as gag mode or gag compatibility mode, this configures the unit's vocal model to redirect its audio into one or more attached devices using the RLV protocol. Note: most RLV-based gag devices do not work properly with the output pipe system because they refuse to take input from attached hardware such as the controller. Only attempt to use this feature with certified NS-compatible devices.

When the output pipe is enabled, the unit's radio communications are restricted only to the voice processor channel. The send command can be used to circumvent this limitation.

To enable or disable the output pipe from the command-line, use: vox pipe <on|off>

Speech release control


Under most circumstances, the unit may speak the special message !release into its voice processor in order to completely bypass the vocoder architecture. This has several benefits, most importantly when interfacing with non-compatible gag devices (see above) and with legacy equipment that requires operation with a spoken command. However, the operator may see fit to prevent this entirely in order to ensure that vox-based speech modifications are obeyed.

To enable or disable !release from the command-line, use: vox release <on|off>