Installing Watson Speech services

An instance administrator can install Watson Speech services on IBM® Software Hub Version 5.4.

Who needs to complete this task?

Instance administrator To install Watson Speech services, you must be an instance administrator. An instance administrator has permission to install software in the following projects:

The operators project for the instance

The operators for this instance of Watson Speech services are installed in the operators project.

In the installation commands, the ${PROJECT_CPD_INST_OPERATORS} environment variable refers to the operators project.

The operands project for the instance

The custom resources for the control plane and Watson Speech services are installed in the operands project.

In the installation commands, the ${PROJECT_CPD_INST_OPERANDS} environment variable refers to the operands project.

When do you need to complete this task?

Review the following options to determine whether you need to complete this task:

  • If you want to install multiple services at the same time, follow the process in Running a batch installation of solutions and services instead.
  • If you didn't install Watson Speech services as part of a batch installation, complete this task to add Watson Speech services to your environment.

    Repeat as needed If you are responsible for multiple instances of IBM Software Hub, you can repeat this task to install more instances of Watson Speech services on the cluster.

Information you need to complete this task

Review the following information before you install Watson Speech services:

Environment variables

The commands in this task use environment variables so that you can run the commands exactly as written.

  • If you don't have the script that defines the environment variables, see Setting up installation environment variables.
  • To use the environment variables from the script, you must source the environment variables before you run the commands in this task. For example, run:
    source ./cpd_vars.sh
Security context constraint

Watson Speech services works with the default Red Hat® OpenShift® Container Platform security context constraint, restricted-v2.

Storage requirements
You must specify storage classes when you install Watson Speech services. The following storage classes are recommended. However, if you don't use these storage classes on your cluster, ensure that you specify a storage class with an equivalent definition.
Storage Notes Storage classes
OpenShift Data Foundation When you install the service, specify file storage and block storage.
  • File storage: ocs-storagecluster-cephfs
  • Block storage: ocs-storagecluster-ceph-rbd
IBM Fusion Data Foundation When you install the service, specify file storage and block storage.
  • File storage: ocs-storagecluster-cephfs
  • Block storage: ocs-storagecluster-ceph-rbd
IBM Fusion Global Data Platform When you install the service, specify the same storage class for both file storage and block storage.
  • File storage:

    Either of the following storage classes:

    • ibm-spectrum-scale-sc
    • ibm-storage-fusion-cp-sc
  • Block storage:

    Either of the following storage classes:

    • ibm-spectrum-scale-sc
    • ibm-storage-fusion-cp-sc
IBM Storage Scale Container Native When you install the service, specify the same storage class for both file storage and block storage.
  • File storage: ibm-spectrum-scale-sc
  • Block storage: ibm-spectrum-scale-sc
Portworx When you install the service, the --storage_vendor=portworx option ensures that the service uses the correct storage classes.
  • File storage: portworx-shared-gp3
  • Block storage: portworx-db-gp3-sc
NFS Not supported. Not applicable.
Amazon Elastic storage When you install the service, specify file storage and block storage.

File storage is provided by Amazon Elastic File System. Block storage is provided by Amazon Elastic Block Store.

  • File storage: efs-nfs-client
  • Block storage:

    Either of the following storage classes:

    • gp2-csi
    • gp3-csi
NetApp Trident When you install the service, specify the same storage class for both file storage and block storage.
  • File storage: ontap-nas
  • Block storage: ontap-nas
Nutanix Not supported. Not applicable.

Before you begin

This task assumes that the following prerequisites are met:

System requirements
This task assumes that the cluster meets the minimum requirements for Watson Speech services.
Where to find more information
If this task is not complete, see System requirements.
In addition, if you plan to use features that require GPU, ensure that you have the appropriate type and number of GPU for Watson Speech services.
Where to find more information
If this task is not complete, see GPU requirements.
Workstation
This task assumes that the workstation from which you will run the installation is set up as a client workstation and has the following command-line interfaces:
  • IBM Software Hub CLI: cpd-cli
  • OpenShift CLI: oc
  • Helm CLI: helm
Where to find more information
If this task is not complete, see Setting up a client workstation.
Control plane
This task assumes that the IBM Software Hub control plane is installed.
Where to find more information
If this task is not complete, see Installing an instance of IBM Software Hub.
Private container registry
If your environment uses a private container registry (for example, your cluster is air-gapped), this task assumes that the following tasks are complete:
  1. The Watson Speech services software images are mirrored to the private container registry.
    Where to find more information
    If this task is not complete, see Mirroring images to a private container registry.
  2. The cpd-cli is configured to pull the olm-utils-v4 image from the private container registry.
    Where to find more information
    If this task is not complete, see Pulling the olm-utils-v4 image from the private container registry.
Load balancer
The load balancer timeout settings are adjusted for Watson Speech services.
Where to find more information
If this task is not complete, see Changing load balancer settings.
GPU operators
If you plan to use features that require GPUs, this task assumes that the operators required to use GPUs are installed.
Where to find more information
If this task is not complete, see Installing operators for services that require GPUs.
Red Hat OpenShift AI
If you plan to use features that require Red Hat OpenShift AI, this task assumes that Red Hat OpenShift AI is installed.
Where to find more information
If this task is not complete, see Installing Red Hat OpenShift AI.
Multicloud Object Gateway
This task assumes that the following tasks are complete:
  1. Multicloud Object Gateway is installed and configured.
    Where to find more information
    If this task is not complete, see Installing Multicloud Object Gateway.
  2. The secrets that enable Watson Speech services to connect to Multicloud Object Gateway exist.
    Where to find more information
    If this task is not complete, see Creating secrets for services that use Multicloud Object Gateway.
Cluster-scoped resources
This task assumes that the cluster-scoped resources, such as custom resource definitions, cluster roles, and cluster role bindings, exist.
Where to find more information
If this task is not complete, see Creating cluster-scoped resources for the IBM Software Hub platform and services.
Image pull secrets
This task assumes that the secrets that contain the image pull credentials for the instance exist.
Where to find more information
If this task is not complete, see Creating image pull secrets for an instance of IBM Software Hub.

Procedure

Complete the following tasks to install Watson Speech services:

  1. Specifying installation options
  2. Installing the service
  3. Validating the installation
  4. What to do next

Specifying installation options

If you plan to install the Watson Speech services, you can specify the following installation options in a file named install-options.yml in the cpd-cli work directory (For example: cpd-cli-workspace/olm-utils-workspace/work).

The parameters are optional. If you do not set these installation parameters, the default values are used.

The sample YAML content uses the default values.

Retain the --- syntax at the beginning of the entry to ensure that this entry is treated as a separate document.

---
# ............................................................................
# Watson Speech services parameters
# ............................................................................
non_olm:
  watsonSpeech:
    tags:
      sttRuntime: true
      sttAsync: false
      sttCustomization: false
      ttsRuntime: true
      ttsCustomization: false
    scaleConfig:
      stt:
        size: xsmall
      tts:
        size: xsmall
    sttModels:
     - enUsBroadbandModel
     - enUsNarrowbandModel
     - enUsShortFormNarrowbandModel
     - enUsTelephony
     - enUsMultimedia
    ttsVoices:
     - enUSAllisonV3Voice
     - enUSLisaV3Voice
     - enUSMichaelV3Voice
Watson Speech services microservice parameters

Use these parameters to specify which microservices are installed.

Property Description
sttRuntime Specify whether to enable the microservice for speech recognition. You must enable this microservice if you install the Watson Speech to Text service.
Default value
true
Valid values
false
Do not enable the microservice for speech recognition.
Important: This microservice is automatically enabled if you set either of the following properties to true:
  • sttCustomization
  • sttAsync
true
Enable the microservice for speech recognition.

When you set this property to true, it enables the /v1/recognize interface.

Install the Watson Speech to Text microservice
  watsonSpeech:
    tags:
      sttRuntime: true
sttAsync Specify whether to enable asynchronous HTTP requests. For example, enable this feature if you have large requests that you want to process asynchronously.
Default value
false
Valid values
false
Do not enable asynchronous HTTP requests.
true
Enable asynchronous HTTP requests.

When you set this property to true, it enables the /v1/recognitions interface.

Install the asynchronous HTTP request microservice
  watsonSpeech:
    tags:
      sttAsync: true
sttCustomization Specify whether to enable Watson Speech to Text customization:
  • Language model customization, which enables the service to more accurately recognize domain-specific terms.
  • Acoustic model customization, which enables the service to adapt to environmental noise, audio quality, and the accent or cadence of the speakers.
Default value
false
Valid values
false
Do not enable Watson Speech to Text customizations.
true
Enable Watson Speech to Text customizations.
When you set this property to true, it enables the following interfaces:
  • /v1/customizations for language model customization.
  • /v1/acoustic_customizations for acoustic model customization.
Install the model customization microservice
  watsonSpeech:
    tags:
      sttCustomization: true
ttsRuntime Specify whether to enable the microservice for speech synthesis. You must enable this microservice if you install the Watson Text to Speech service.
Default value
true
Valid values
false
Do not enable the microservice for speech synthesis.
Important: This microservice is automatically enabled if you set ttsCustomization to true.
true
Enable the microservice for speech synthesis.

When you set this property to true, it enables the /v1/synthesize interface.

Install the Watson Text to Speech microservice
  watsonSpeech:
    tags:
      ttsRuntime: true
ttsCustomization Specify whether to enable Watson Text to Speech customization, which enables the service to create a dictionary of words and their translations for a specific language.
Default value
false
Valid values
false
Do not enable Watson Text to Speech customizations.
true
Enable Watson Text to Speech customizations.

When you set this property to true, it enables the /v1/customizations interface for customization.

Install the dictionary customization microservice
  watsonSpeech:
    tags:
      ttsCustomization: true
Scaling parameters
Property Description
size Specify the size of the service.
Default value
xsmall
Valid values
  • xsmall
  • small
  • medium
  • large
  • custom

For detailed information about each size, refer to the component scaling guidance PDF.

Overriding the Watson Speech to Text size
  watsonSpeech:
    scaleConfig:
      stt:
        size: xsmall
Overriding the Watson Text to Speech size
  watsonSpeech:
    scaleConfig:
      tts:
        size: xsmall  
Watson Speech to Text models

The following options apply only if you install the Watson Speech to Text service.

Property Description
sttModels Specify which Watson Speech to Text models are installed.

Specify the models as a list. For example:

  watsonSpeech:
    sttModels:
     - enUsBroadbandModel
     - enUsNarrowbandModel
     - enUsShortFormNarrowbandModel
     - enUsTelephony
     - enUsMultimedia
Default value
By default, the following models are installed:
  • enUsBroadbandModel (US English (en-US) Broadband model)
  • enUsNarrowbandModel(US English (en-US) Narrowband model)
  • enUsShortFormNarrowbandModel (US English (en-US) Short-Form Narrowband model)
  • enUsMultimedia (US English (en-US) Multimedia model)
  • enUsTelephony (US English (en-US) Telephony model )
Valid Values
Previous- generation models
  • enUsBroadbandModel (US English (en-US) Broadband model)
  • enUsNarrowbandModel(US English (en-US) Narrowband model)
  • enUsShortFormNarrowbandModel (US English (en-US) Short-Form Narrowband model)
  • arMsBroadbandModel (Modern Standard Arabic (ar-MS) Broadband model)
  • deDeBroadbandModel (German (de-DE) Broadband model)
  • deDeNarrowbandModel (German (de-DE) Narrowband model)
  • enAuBroadbandModel (Australian English (en-AU) Broadband model)
  • enAuNarrowbandModel (Australian English (en-AU) Narrowband model)
  • enGbBroadbandModel (UK English (en-GB) Broadband model)
  • enGbNarrowbandModel (UK English (en-GB) Narrowband model)
  • esEsBroadbandModel (Castilian Spanish (es-ES, es-AR, es-CL, es-CO, es-MX, and es-PE) Broadband models)
  • esEsNarrowbandModel (Castilian Spanish (es-ES, es-AR, es-CL, es-CO, es-MX, and es-PE) Narrowband models)
  • frCaBroadbandModel (Canadian French (fr-CA) Broadband model)
  • frCaNarrowbandModel (Canadian French (fr-CA) Narrowband model)
  • frFrBroadbandModel (French (fr-FR) Broadband model)
  • frFrNarrowbandModel (French (fr-FR) Narrowband model)
  • itItBroadbandModel (Italian (it-IT) Broadband model)
  • itItNarrowbandModel (Italian (it-IT) Narrowband model)
  • jaJpBroadbandModel (Japanese (ja-JP) Broadband model)
  • jaJpNarrowbandModel (Japanese (ja-JP) Narrowband model)
  • koKrBroadbandModel (Korean (ko-KR) Broadband model)
  • koKrNarrowbandModel (Korean (ko-KR) Narrowband model)
  • nlNlBroadbandModel (Dutch (nl-NL) Broadband model)
  • nlNlNarrowbandModel (Dutch (nl-NL) Narrowband model)
  • ptBrBroadbandModel (Brazilian Portuguese (pt-BR) Broadband model)
  • ptBrNarrowbandModel (Brazilian Portuguese (pt-BR) Narrowband model)
  • zhCnBroadbandModel (Mandarin Chinese (zh-CN) Broadband model)
  • zhCnNarrowbandModel (Mandarin Chinese (zh-CN) Narrowband model)
Next-generation models
  • enUsMultimedia (US English (en-US) Multimedia model)
  • enUsTelephony (US English (en-US) Telephony model )
  • arMsTelephony (Modern Standard Arabic (ar-MS) Telephony model)
  • csCZTelephony (Czech (cs-CZ) Telephony model)
  • deDeMultimedia (German (de-DE) Multimedia model)
  • deDeTelephony (German (de-DE) Telephony model)
  • enAuMultimedia (Australian English (en-AU) Multimedia model)
  • enAuTelephony (Australian English (en-AU) Telephony model)
  • enGbMultimedia (UK English (en-GB) Multimedia model)
  • enGbTelephony (UK English (en-GB) Telephony model)
  • enInTelephony (Indian English (en-IN) Telephony model)
  • enWwMedicalTelephony (English (all supported dialects) Medical Telephony model)
  • esEsMultimedia (Castilian Spanish (es-ES) Multimedia model)
  • esEsTelephony (Castilian Spanish (es-ES) Telephony model)
  • esLaTelephony (Latin American Spanish (es-LA) Telephony model)
  • frCaMultimedia (Canadian French (fr-CA) Multimedia model)
  • frCaTelephony (Canadian French (fr-CA) Telephony model)
  • frFrMultimedia (French (fr-FR) Multimedia model)
  • frFrTelephony (French (fr-FR) Telephony model)
  • hiInTelephony (Indian Hindi (hi-IN) Telephony model)
  • itItMultimedia (Italian (it-IT) Multimedia model)
  • itItTelephony (Italian (it-IT) Telephony model)
  • jaJpMultimedia (Japanese (ja-JP) Multimedia model)
  • jaJpTelephony (Japanese (ja-JP) Telephony model)
  • koKrMultimedia (Korean (ko-KR) Multimedia model)
  • koKrTelephony (Korean (ko-KR) Telephony model)
  • nlBeTelephony (Belgian Dutch (nl-BE) Telephony model)
  • nlNlMultimedia (Netherlands Dutch (nl-NL) Multimedia model)
  • nlNlTelephony (Netherlands Dutch (nl-NL) Telephony model)
  • ptBrMultimedia (Brazilian Portuguese (pt-BR) Multimedia model)
  • ptBrTelephony (Brazilian Portuguese (pt-BR) Telephony model)
  • svSeTelephony (Swedish (sv-SE) Telephony model)
  • zhCnTelephony (Mandarin Chinese (zh-CN) Telephony model)
Large speech models
  • deDe (German (de-DE) model)
  • enUs (US English (en-US) model)
  • enAu (Australian English (en-AU) model)
  • enGb (UK English (en-GB) model)
  • enIn (Indian English (en-IN) model)
  • esAR (Argentinian Spanish (es-AR) model)
  • esCl (Chilean Spanish (es-CL) model)
  • esCo (Colombian Spanish (es-ES) model)
  • esEs (Castilian Spanish (es-ES) model)
  • esMx (Mexican Spanish (es-ES) model)
  • esPe (Peruvian Spanish (es-ES) model)
  • frCa (Canadian French (fr-CA) model)
  • frFr (French (fr-FR) model)
  • jaJp (Japanese (ja-JP) model)
  • ptBr (Brazilian Portuguese (pt-BR) model)
  • ptPt (Portugal Portuguese (pt-PT) model)
Watson Text to Speech voices

The following options apply only if you install the Watson Text to Speech service.

Property Description
ttsVoices Specify which Watson Text to Speech voices are installed.

Specify the voices as a list. For example:

  watsonSpeech:
    ttsVoices:
     - enUSAllisonV3Voice
     - enUSLisaV3Voice
     - enUSMichaelV3Voice
Default value
By default, the following voices are installed:
  • enUSAllisonV3Voice (US English (en-US) Allison enhanced neural voice)
  • enUSLisaV3Voice (US English (en-US) Lisa enhanced neural voice)
  • enUSMichaelV3Voice (US English (en-US) Michael enhanced neural voice)
Valid Values
Enhanced neural voices
  • enUSAllisonV3Voice (US English (en-US) Allison enhanced neural voice)
  • enUSLisaV3Voice (US English (en-US) Lisa enhanced neural voice)
  • enUSMichaelV3Voice (US English (en-US) Michael enhanced neural voice)
  • enUSEmilyV3Voice (US English (en-US) Emily enhanced neural voice)
  • enUSHenryV3Voice (US English (en-US) Henry enhanced neural voice)
  • enUSKevinV3Voice (US English (en-US) Kevin enhanced neural voice)
  • enUSOliviaV3Voice (US English (en-US) Olivia enhanced neural voice)
  • deDEBirgitV3Voice (German (de-DE) Birgit enhanced neural voice)
  • deDEDieterV3Voice (German (de-DE) Dieter enhanced neural voice)
  • deDEErikaV3Voice (German (de-DE) Erika enhanced neural voice)
  • enGBCharlotteV3Voice (UK English (en-GB) Charlotte enhanced neural voice)
  • enGBJamesV3Voice (UK English (en-GB) James enhanced neural voice)
  • enGBKateV3Voice (UK English (en-GB) Kate enhanced neural voice)
  • esESEnriqueV3Voice (Castilian Spanish (es-ES) Enrique enhanced neural voice)
  • esESLauraV3Voice (Castilian Spanish (es-ES) Laura enhanced neural voice)
  • esLASofiaV3Voice (Latin American Spanish (es-LA) Sofia enhanced neural voice)
  • esUSSofiaV3Voice (North American Spanish (es-US) Sofia enhanced neural voice)
  • frCALouiseV3Voice (French Canadian (fr-CA) Louise enhanced neural voice)
  • frFRNicolasV3Voice (French (fr-FR) Nicolas enhanced neural voice)
  • frFRReneeV3Voice (French (fr-FR) Renee enhanced neural voice )
  • itITFrancescaV3Voice (Italian (it-IT) Francesca enhanced neural voice)
  • jaJPEmiV3Voice (Japanese (ja-JP) Emi enhanced neural voice)
  • koKRJinV3Voice (Korean (ko-KR) Jin enhanced neural voice)
  • nlNLMerelV3Voice (Netherlands Dutch (nl-NL) Merel enhanced neural voice)
  • ptBRIsabelaV3Voice (Brazilian Portuguese (pt-BR) Isabela enhanced neural voice)
Expressive neural voices
  • enAUHeidiExpressive (Australian English (en-AU) Heidi expressive neural voice)
  • enAUJackExpressive (Australian English (en-AU) Jack expressive neural voice)
  • enGBGeorgeExpressive (GB English (en-GB) George expressive neural voice)
  • enUSAllisonExpressive (US English (en-US) Allison expressive neural voice)
  • enUSEmmaExpressive (US English (en-US) Emma expressive neural voice)
  • enUSLisaExpressive (US English (en-US) Lisa expressive neural voice)
  • enUSMichaelExpressive (US English (en-US) Michael expressive neural voice)
  • ptBRLucasExpressive (Brazilian Portuguese (pt-BR) Lucas expressive neural voice)
Natural voices
  • enAUHeidiNatural (Australian English (en-AU) Heidi natural voice)
  • enAUJackNatural (Australian English (en-AU) Jack natural voice)
  • enCAHannahNatural (Canadian English (en-CA) Hannah natural voice)
  • enGBChloeNatural (UK English (en-GB) Chloe natural voice)
  • enGBGeorgeNatural (UK English (en-GB) George natural voice)
  • enUSEllieNatural (US English (en-US) Ellie natural voice)
  • enUSEmmaNatural (US English (en-US) Emma natural voice)
  • enUSEthanNatural (US English (en-US) Ethan natural voice)
  • enUSJacksonNatural (US English (en-US) Jackson natural voice)
  • enUSVictoriaNatural (US English (en-US) Victoria natural voice)
  • esLAAlejandroNatural (Latin American Spanish (es-LA) Alejandro natural voice)
  • esLADanielaNatural (Latin American Spanish (es-LA) Daniela natural voice)
  • ptBRLucasNatural (Brazilian Portuguese (pt-BR) Lucas natural voice)
  • ptBRCamilaNatural (Brazilian Portuguese (pt-BR) Camila natural voice)

Installing the service

To install Watson Speech services:

  1. Log the cpd-cli in to the Red Hat OpenShift Container Platform cluster:
    ${CPDM_OC_LOGIN}
    Remember: CPDM_OC_LOGIN is an alias for the cpd-cli manage login-to-ocp command.
  2. Install the operator and custom resource for Watson Speech services.

    The command that you run depends on the storage on your cluster.


    Red Hat OpenShift Data Foundation storage

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    IBM Fusion Data Foundation storage

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    IBM Fusion Global Data Platform storage
    Remember: When you use IBM Fusion Global Data Platform storage, both ${STG_CLASS_BLOCK} and ${STG_CLASS_FILE} point to the same storage class, typically ibm-spectrum-scale-sc or ibm-storage-fusion-cp-sc.

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    IBM Storage Scale Container Native storage
    Remember: When you use IBM Storage Scale Container Native storage, both ${STG_CLASS_BLOCK} and ${STG_CLASS_FILE} point to the same storage class, typically ibm-spectrum-scale-sc.

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    Portworx storage

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --storage_vendor=portworx \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --storage_vendor=portworx \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    AWS with EFS and EBS storage

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

    NetApp Trident
    Remember: When you use NetApp Trident storage, both ${STG_CLASS_BLOCK} and ${STG_CLASS_FILE} point to the same storage class, typically ontap-nas.

    Run the appropriate command for your environment:

    Default installation (without installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET}
    Custom installation (with installation options)
    cpd-cli manage install-components \
    --license_acceptance=true \
    --components=watson_speech \
    --release=${VERSION} \
    --patch_id=${PATCH_ID} \
    --operator_ns=${PROJECT_CPD_INST_OPERATORS} \
    --instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --block_storage_class=${STG_CLASS_BLOCK} \
    --file_storage_class=${STG_CLASS_FILE} \
    --image_pull_prefix=${IMAGE_PULL_PREFIX} \
    --image_pull_secret=${IMAGE_PULL_SECRET} \
    --param-file=/tmp/work/install-options.yml

Validating the installation

Watson Speech services is installed when the install-components command returns:
[SUCCESS]... The install-components command ran successfully

If you want to confirm that the custom resource status is Completed, you can run the cpd-cli manage get-cr-status command:

cpd-cli manage get-cr-status \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--components=watson_speech

What to do next

Before users can work with the Watson Speech services, you must provision at least one service instance. For more information, see Creating a service instance for Watson Speech services.