Configuration and maintenance of the AI Media Server

This section covers how to configure the AI Media Server (AIMS) to support custom features and functionality, and the commands used for maintenance purposes.

Do not make any changes to the AIMS VM via the terminal interface (other than as described when running the initial Pexip installation wizard) unless directed to do so by Pexip support. This includes (but is not limited to) changes to the time zone, changes to IP tables, configuration of Ethernet interfaces, or the installation of any third-party code/applications.

This section includes:

Installing / updating TLS certificates

After you have completed the initial installation of the AIMS VM and it has restarted, you must install valid TLS certificates. These certificates must be trusted by the Pexip Infinity instance that is connecting to AIMS, so you can either use a public TLS certificate, or upload your private CA to Pexip Infinity as a trusted CA certificate. The AIMS server's public.pem file must contain the full certificate chain, and the root of the chain must be trusted by Pexip Infinity.

This same procedure is followed when you need to update or replace any expiring or expired certificates.

  1. Log in to the AIMS server via SSH as the user admin@IP.
  2. Copy your TLS certificates to the home directory of the admin user:
    scp public.pem admin@IP:
    scp private.pem admin@IP:
  3. At the command prompt, run
    aims-config tls-certs-set public.pem private.pem
  4. Check that when you connect to https://<IP>, you get a holding page and the correct certificates are in use.

Re-running the installation wizard

To rerun the installation wizard:

  1. Log in to the AIMS server as the user admin, either through SSH or the VMware console.
  2. At the command prompt, run the command installwizard
  3. At each step, the default values are the answers from the previous run (if they are still valid).

    Press ENTER to accept the default value, or enter the value you want to use instead.

When all installation wizard steps have been completed, the appliance automatically reboots.

Configuring services and languages

AIMS supports a number of different language services. Each service provides either speech-to-text transcription in a single language (referred to as Automatic Speech Recognition / ASR), or text-to-text translation between different languages (referred to as Neural Machine Translation / NMT). AIMS ships with English speech-to-text installed by default, and you install additional services via language bundles provided by Pexip. These additional services are not enabled by default; after installation of one or more language bundles you must enable the language model(s) you require.

We recommend that all AIMS servers associated with the same Pexip Infinity deployment have the same set of language services installed.

Supported services and language bundles

The table below lists each of the language services supported by AIMS and shows whether it is available for speech-to-text transcription or text-to-text translation; the name of the Pexip bundle used to install it; the NVIDIA language model used; and a link to the relevant NVIDIA AI model card (which provides detailed information about each model, including the training dataset, intended use, and other compliance information).

Each language uses its own Language Model, Punctuation and Capitalization Model, and Inverse Text Normalization Model.

Service description Pexip bundle name Model name GPU memory
(MiB)
Approx installed
disk usage (GiB)
Supported in AIMS v2
English (US) speech-to-text service (installed by default) en-US-parakeet 4000 n/a
Arabic speech-to-text service aims-model-ar-ar-conformer ar-AR-conformer 4000 2.0
Dutch speech-to-text service aims-model-nl-nl-conformer nl-NL-conformer 4000 2.5
French speech-to-text service aims-model-fr-fr-vad-conformer fr-FR_vad-conformer

(see also Multilingual Silero VAD)

4000 2.0
German speech-to-text service aims-model-de-de-conformer de-DE-conformer 4000 2.5
Italian speech-to-text service aims-model-it-it-conformer it-IT-conformer 4000 1.8
Japanese speech-to-text service aims-model-ja-jp-conformer ja-JP-conformer 4000 1.0
Korean speech-to-text service aims-model-ko-kr-conformer ko-KR-conformer 4000 2.0
Mandarin speech-to-text service aims-model-zh-cn-parakeet zh-CN-parakeet 6000 4.5
Portuguese (Brazilian) speech-to-text service aims-model-pt-br-conformer pt-BR-conformer 4000 2.0
Spanish speech-to-text service aims-model-es-es-conformer es-ES-conformer 4000 2.0
Spanish (US) speech-to-text service aims-model-es-us-conformer es-US-conformer 4000 2.0
Tech preview in AIMS v2
Multi-language text-to-text translation service aims-model-any-any-nmt-megatron any-any-nmt-megatron 11000 16.0
Experimental in AIMS v2
Multi-language speech-to-text service aims-model-ml-cs-universal-multi-parakeet ml-cs-universal-multi 7000 10.0

Installing language bundles

Installation of a language bundle (also referred to as language pack) requires more temporary disk space than the installed size noted in the table above. This is because temporary space will be required for the downloaded bundle and the temporary unpacked copy, in addition to the disk space for the actual installation.

You will receive a warning if you do not have enough disk space to safely install the bundle. If this is the case, you can resize the underlying virtual disk in your hypervisor and then reboot — the system will automatically pick up the extra disk space and you can then continue.

To install a language bundle:

  1. Go to https://dl.pexip.com/aims/index.html, select the version of AIMS you are using, and navigate to the /bundles/ folder. Select and download the language bundle.

  2. Use SFTP to upload the language bundle to your AIMS server.

  3. Run:

    aims-bundle install /PATH/TO/FILE

Getting available language bundles

To get a list of the Pexip language bundles currently installed, run:

aims-bundle list

This will output the loaded language bundles, for example:

aims-bundle list

Bundles installed (2):
Name                       Revision #pkgs  Installed Size
-----------------------------------------------------------------------------------
aims-model-de-de-conformer 2-2.0        1         2399710
aims-model-fr-fr-conformer 2-2.0        1         2006656

Removing a language bundle

To remove a language bundle, run:

aims-bundle remove <bundle>

for example:

aims-bundle remove aims-model-de-de-conformer

Configuration commands overview

All service and language configuration is performed via aims-config commands run from the command prompt. To access this, log in to the AIMS server as the user admin, either through SSH or the VMware console.

The full list of service and language configuration commands is given below; click on the link for more information.

Getting the available language models

To get a list of all the language models that are currently installed and available for enabling on the server, run:

aims-config services-list-available

This will output a list of available language models, for example:

de-DE-conformer
en-US-parakeet
es-US-conformer
fr-FR-conformer

Getting the enabled language models

To get a list of the language models that are currently enabled, run

aims-config services-list-default

This will output the enabled language models, for example:

default_services: de-DE-conformer,en-US-parakeet,fr-FR_vad-conformer,ml-cs-universal-multi-parakeet

Setting the enabled language models

To enable selected language models, run

aims-config services-set-default <language-model_1> <language-model_2>

For example:

aims-config services-set-default en-US-parakeet es-US-conformer

You will be prompted to reboot the appliance, and this will terminate all active sessions.

Changing the list of loaded services will reboot the box and terminate all running sessions (Y/N)

Setting the languages on specific cards

To set the languages loaded on a specific card, run

aims-config services-set-card "<GPU>" <index> <language>

where:

  • <GPU> is the name of the GPU card type
  • <index> is the index of the logical card
  • <language> is the language model to be loaded

For example, if you have an H100 with 8 logical cards, and want to use en-US on the first one, de-DE on the second and fr-FR and en-US on the rest, run:

aims-config services-set-card "NVIDIA H100 80GB HBM3" 0 en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 1 de-DE-conformer
aims-config services-set-card "NVIDIA H100 80GB HBM3" 2 fr-FR-conformer en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 3 fr-FR-conformer en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 4 fr-FR-conformer en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 5 fr-FR-conformer en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 6 fr-FR-conformer en-US-parakeet
aims-config services-set-card "NVIDIA H100 80GB HBM3" 7 fr-FR-conformer en-US-parakeet

Listing the languages loaded on specific cards

To list the language models loaded on a specific card, run:

aims-config services-list-card

This will output a list of available language models on that card, for example:

aims-config services-list-card
card_services:
NVIDIA H100 80GB HBM3,0,en-US-parakeet
NVIDIA H100 80GB HBM3,1,de-DE-conformer
NVIDIA H100 80GB HBM3,2,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,3,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,4,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,5,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,6,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,7,fr-FR-conformer,en-US-parakeet

Removing a language from a specific card

To remove a language from a specific card, run:

aims-config services-rm-card "<GPU>" <index>

where:

  • <GPU> is the name of the GPU card type
  • <index> is the index of the logical card

For example:

aims-config services-rm-card "NVIDIA H100 80GB HBM3" 1

would result in services-list-card giving the following output:

aims-config services-list-card
card_services:
NVIDIA H100 80GB HBM3,0,en-US-parakeet
NVIDIA H100 80GB HBM3,2,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,3,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,4,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,5,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,6,fr-FR-conformer,en-US-parakeet
NVIDIA H100 80GB HBM3,7,fr-FR-conformer,en-US-parakeet

If a given combination of card type and index cannot be found (e.g. index 1 in the example above), the default languages set by aims-config services-set-default will be used.

Getting the available languages

To get a list of all the languages that are currently installed and available for enabling on the server, run:

aims-config languages-list-available

This will output a list of available language models, for example:

de-DE,en-US,fr-FR

Getting the enabled languages

To get a list of all the languages that are currently enabled on the server, run:

aims-config languages-list-enabled

This will output a list of enabled languages, for example:

de-DE,en-US

Setting the default language

To set the default language for a particular Pexip Infinity instance, which is used for all calls from VMRs that do not have a specific language configured), run

aims-config infinity-instance-set-default-language <infinity-instance_name> <language>

where <infinity-instance_name> is the name of a Pexip Infinity instance registered with AIMS.

For example:

aims-config infinity-instance-set-default-language Pexip1 es-US

You will be prompted to reboot the appliance, and this will terminate all active sessions.

Word boosting

The "word boosting" capability allows administrators to enhance and extend the vocabulary of a language by uploading a word boosting file. This file is used to improve every Automatic Speech Recognition (ASR) interaction for live captions, ensuring the system recognizes proper names, products, and domain-specific terminologies more accurately.

When enabling or removing word boosting, any changes will take effect without needing to restart the AIMS server, but will only apply to newly-placed calls.

Enabling word boosting

To enable word boosting:

  1. Create text file(s) containing the list of words to be boosted. You must create a separate file for each language you wish to support.

    For a list of supported languages in AIMS v2, see Configuring services and languages.

    Each file must meet the following requirements:

    • one word per line, with no spaces
    • alphabetic characters only (including capital letters)
    • no numbers or symbols
    • UTF-8 encoded.

    For example, Pexip's en-US.txt file might include the following:

    Pexip
    Infinity
    AIMS
    VMR
    WebRTC
    
  2. Copy each file onto the AIMS server using SFTP/SCP.
  3. Log in to the AIMS server as the user admin, either through SSH or the VMware console.
  4. For each file, run the following command:
    aims-config wordboost-add <language> <file>

For example:

aims-config wordboost-add en-US /wordboost/en-US.txt

The tool will tell you that it has imported the word boost information, for example:

I: Wordboost file for en-US updated with 3 words
I: Updated livecaption config file

Removing word boosting

To remove any existing word boost configuration for a given language, run:

aims-config wordboost-rm <language>

For example:

aims-config wordboost-rm en-US

Expected response:

I: Wordboost file for en-US updated with 0 words
I: Updated livecaption config file

Listing languages

To list the languages for which a word boost file has been configured on the system, run:

aims-config wordboost-list

This will return a list of languages, for example:

de-DE
en-US
es-US
fr-FR

Listing boosted words

To obtain the list of words configured in the word boost list for a given language, run:

aims-config wordboost-show <language>

For example:

aims-config wordboost-show en-US

might return:

Pexip
AIMS

Configuring Pexip Infinity instances

Getting the registered Pexip Infinity instances

To get a list of Pexip Infinity instances registered with this AIMS server:

  1. Log in to the AIMS server as the user admin, either through SSH or the VMware console.
  2. At the command prompt, run:
    aims-config infinity-instance-list

Adding additional Pexip Infinity instances

To add additional Pexip Infinity instances:

  1. Log in to the AIMS server as the user admin, either through SSH or the VMware console.
  2. At the command prompt, run:
    aims-config infinity-instance-add
  3. At the prompt, enter a user-friendly name for this instance. This must be a single line with no spaces:
    Infinity Instance Name (user-friendly):
  4. At the prompt, paste the file containing the Live Captions App-Id and Live captions JWT public key that you copied when configuring Pexip Infinity with a media processing server:
    Paste the output from your Infinity node:

    The format should be similar to the following:

    {"appId":"00abc000-111a-1234-1abc-a11122b3c444","pubKey":"-----BEGIN PUBLIC KEY-----\naaBBccDD2211NNddejj22pp0044mmMMeEEpppqqJJ2jj2kkkkeeddii99EE11nneedjj==\n-----END PUBLIC KEY-----","defaultLanguageCode": "en-US"}

Removing a configured Pexip Infinity instance

To remove a Pexip Infinity instance:

  1. Log in to the AIMS server as the user admin, either through SSH or the VMware console.
  2. At the command prompt, run:
    aims-config infinity-instance-rm <infinity-instance_name>

The name must match the name of an existing instance.

For example:

aims-config infinity-instance-rm Pexip1

would return:

I: Removed instance Pexip1
I: Updated livecaption config file