Speech

API for communication with ZBOS by Zora Robotics.

Channels

zbos/dialog/languages/available/get

publish

Get available languages

Legacy topic for getting all installed languages (both tts and asr combined). Better not to use this.see zbos/dialog/languages/available/response/{key} for response

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/languages/available/response/{key}

subscribe

response: Get available languages

response: Legacy topic for getting all installed languages (both tts and asr combined)

Channel tags
  • Speech

Message Array<String>
Payload

Name

Type

Description

Accepted values

Message Payload

array(string)

Any

Examples of payload
"en-US"
"nl-BE"
"fr-FR"

zbos/dialog/languages/current/get

publish

Get current language

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/languages/current/response/{key}

subscribe

response: Get current language

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"en-US"

zbos/dialog/languages/current/set

publish

Set current language

Set the active language, example: 'en-US'. Note: this will be probably be changed to zbos/dialog/set/language in a future release.

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"en-US"

zbos/dialog/set/message

publish

Speak a message

Use this to make the robot say something.

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"Hello world"

zbos/dialog/set

publish

Speak a message with parameters

Use this to make the robot say something with parameters. Only message is required, other params are optional.

Channel tags
  • Speech

Message DialogOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

message

string

Any

speed

integer

Any

language

string

Language string like "en-US"

Any

volume

integer

Any

gesticulation

boolean

Any

voice

string

Any

pitch

integer

Any

blocking

boolean

Any

Examples of payload
{
  "requestId": "1",
  "message": "Hello world",
  "speed": 50,
  "language": "en-US",
  "volume": 50,
  "gesticulation": true,
  "voice": "Ava",
  "pitch": 120
}

zbos/dialog/languages/current/event

subscribe

event: Current language

Event when the system is done with changing language to a new language.

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"en-US"

zbos/dialog/animatedspeech/enable

publish

Enable animated speech

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/animatedspeech/disable

publish

Disable animated speech

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/animatedspeech/get

publish

Get status of animated speech

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/animatedspeech/response/{key}

subscribe

response: Get status of animated speech

Channel tags
  • Speech

Message Boolean
Payload

Name

Type

Description

Accepted values

Message Payload

boolean

Any

Example of payload (generated)
true

zbos/dialog/tts/start

publish

event: TTS started

Event when the robot starts speaking and what it is saying

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"Hi, my name is James"

zbos/dialog/tts/stop

publish

Stop robot speech

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/pause/hotword

publish

pause hotword recognition

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/resume/hotword

publish

resume hotword recognition

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/tts/end

subscribe

event: TTS ended

Event when the robot has finished speaking

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Example of payload (generated)
"string"

zbos/dialog/hotword/recognised

subscribe

event: robot has recognised a hotword

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/event/dialog/listen/started

subscribe

event: robot starts listening

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/event/dialog/listen/stopped

subscribe

event: robot stops listening

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/listen/start

publish

Start listening

Start listening for hotword and commands

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/listen/stop

publish

Stop listening

Cancel hotword recognition

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/service/start

publish

Start dialog service

Start the dialog service so the robot can listen to the mic.

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/service/stop

publish

Stop dialog service

Stop the dialog service so the mic is free to use by other applications.

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/service/stopped

subscribe

Event: dialog service stopped

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/service/started

subscribe

Event: dialog service started

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/iflytek/rotation/started

subscribe

Iflytek rotation started

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/iflytek/rotation/stopped

subscribe

Iflytek rotation stopped

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/tts/phonemereached

subscribe

event. Phoneme reached

Channel tags
  • Speech

Message PhonemeInfo
Payload

Name

Type

Description

Accepted values

jawOpen

boolean

Any

lipTension

integer

Any

mouthHeight

integer

Any

mouthUpturn

integer

Any

mouthWidth

integer

Any

teethLowerVisible

integer

Any

teethUpperVisible

integer

Any

tonguePosition

integer

Any

Examples of payload
{
  "jawOpen": false,
  "lipTension": 0,
  "mouthHeight": 10,
  "mouthUpturn": 0,
  "mouthWidth": 5,
  "teethLowerVisible": 1,
  "teethUpperVisible": 1,
  "tonguePosition": 1
}

zbos/dialog/grammars/add/multiple

publish

Grammars: add multiple

This is an extension for the grammar add topic. It removes all grammars first and then triggers a single platform reload. Hence grammars are added a lot faster.see zbos/dialog/grammars/add/response for response

Channel tags
  • Speech

Message Array<CustomGrammar>
Payload

Name

Type

Description

Accepted values

Message Payload

array(object)

Any

Message Payload.id

string

a unique id of the grammar. This must be unique among the application (next field).

Any

Message Payload.app

string

The application name. This will be used to determined which MQTT topic will be used to post the json output to.

Any

Message Payload.continuous

boolean

Any

Message Payload.input

object

Contains an array for each language with all the possible sentences. The sentences need to be in a format that the speech software understands.

Any

Message Payload.variables

object

Any

Examples of payload
{
  "id": "question_1_variable",
  "app": "App",
  "continuous": true,
  "input": {
    "nl-BE": [
      "Ken jij $name"
    ],
    "en-US": [
      "Do you know $name"
    ]
  },
  "variables": {
    "name": {
      "nl-BE": [
        {
          "input": "Arno",
          "data": "name_in_dutch"
        },
        {
          "input": "Gilles",
          "data": "name_in_dutch"
        }
      ],
      "en-US": [
        {
          "input": "Arno",
          "data": "name_in_english"
        },
        {
          "input": "Gilles",
          "data": "name_in_english"
        }
      ]
    }
  }
}

zbos/dialog/grammars/add/response

subscribe

response: grammar add

Channel tags
  • Speech

Message SuccessMessage

Success message

Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Optional error message

Any

Examples of payload
{
  "success": true
}

zbos/dialog/grammars/remove/multiple

publish

Grammars: remove multiple

This is an extension for the grammar remove topic. It removes all grammars first and then triggers a single platform reload. Hence grammars are removed a lot faster.see zbos/dialog/grammars/remove/response for response

Channel tags
  • Speech

Message Array<CustomGrammar>
Payload

Name

Type

Description

Accepted values

Message Payload

array(object)

Any

Message Payload.id

string

a unique id of the grammar. This must be unique among the application (next field).

Any

Message Payload.app

string

The application name. This will be used to determined which MQTT topic will be used to post the json output to.

Any

Message Payload.continuous

boolean

Any

Message Payload.input

object

Contains an array for each language with all the possible sentences. The sentences need to be in a format that the speech software understands.

Any

Message Payload.variables

object

Any

Examples of payload
{
  "id": "id send in add",
  "app": "app from add"
}

zbos/dialog/grammars/remove/response

subscribe

response: grammar add

Channel tags
  • Speech

Message SuccessMessage

Success message

Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Optional error message

Any

Examples of payload
{
  "success": true
}

zbos/dialog/grammars/match/{appId}

publish

Event: grammar match

Event when a custom grammar match is found, the output data is posted here.

Channel tags
  • Speech

Message GrammarMatch
Payload

Name

Type

Description

Accepted values

app

string

Any

triggered-by

string

The id of the grammer that has matched with the user input. This is the id from the input json.

Any

language

string

Language that speech software was configured in when the sentence is recognised.

Any

variables

object

Any

Examples of payload
{
  "language": "en-US",
  "variables": {
    "beverage": {
      "input": "Wine",
      "data": "this is wine"
    },
    "dish": {
      "input": "hamburger",
      "data": "this is a hamburger"
    }
  },
  "triggered-by": "input ID"
}

zbos/dialog/custom/grammar/rules/get

publish

Gets all custom grammar rules

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/custom/grammar/rules/get/response

subscribe

response: Get all custom grammar rules

Channel tags
  • Speech

Message Array<String>
Payload

Name

Type

Description

Accepted values

Message Payload

array(string)

Any

Example of payload (generated)
[
  "string"
]

zbos/dialog/tts/languages/get

publish

Get TTS languages

Get a list of languages that the TTS engine can use to talk.see zbos/dialog/tts/languages/response/{key} for response

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/tts/languages/response/{key}

subscribe

response: TTS languages list

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"BE"

zbos/dialog/tts/languages/current/get

publish

Get current TTS language

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/tts/languages/current/set

publish

Set TTS language

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"nl-BE"

zbos/dialog/asr/languages/get

publish

Get ASR languages

Get a list of languages recognized by the ASR engine. note: For now this is limited to the language code defined in the config. No Vocon load check is done yet.see zbos/dialog/asr/languages/response/{key} for response

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/asr/languages/response/{key}

subscribe

response: ASR languages list

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"nl-BE"

zbos/dialog/asr/languages/current/get

publish

Get current ASR language

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/asr/languages/current/set

publish

Set ASR language

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"nl-BE"

zbos/asr/recognition/result

subscribe

Speech recognised event

Event send by the dialog service when user said something. Mainly for subtitles.

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Examples of payload
"Okay James"

zbos/dialog/grammars/load

publish

Grammars: load

Request from speech software to load custom grammars from the storage on the robot.see zbos/dialog/grammars/load/response for response

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/grammars/load/response

subscribe

response: loaded grammars

Response from the RIL with all the rules stored in a file on the robot.

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/speech/provider/start

publish

Start speech provider

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/speech/provider/stop

publish

Stop speech provider

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/text/command

publish

Send a text message to dialog system

Channel tags
  • Speech

Message String
Payload

Name

Type

Description

Accepted values

Message Payload

string

Any

Example of payload (generated)
"string"

zbos/dialog/language/setup/start

publish

Start language setup

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/language/setup/stop

publish

Stop language setup

Channel tags
  • Speech

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/dialog/set/config

publish

Set the current speech config

Channel tags
  • Speech

Message SetDialogConfigRequest
Payload

Name

Type

Description

Accepted values

config_items

object

One or more config items.

Any

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz",
  "config_items": {}
}

zbos/dialog/set/config/response/{key}

subscribe

response: Speech config was set

Channel tags
  • Speech

Message SetDialogConfigRequest
Payload

Name

Type

Description

Accepted values

config_items

object

One or more config items.

Any

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz",
  "config_items": {}
}

zbos/dialog/get/config

publish

Get the current speech config

Channel tags
  • Speech

Message GetDialogConfigRequest
Payload

Name

Type

Description

Accepted values

config_items

array(string)

One or more config keys.

Any

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz",
  "config_items": []
}

zbos/dialog/get/config/response

subscribe

response: Current dialog config

Channel tags
  • Speech

Message GetDialogConfigRequest
Payload

Name

Type

Description

Accepted values

config_items

array(string)

One or more config keys.

Any

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz",
  "config_items": []
}

zbos/dialog/reset/config

publish

Reset the current speech config

Channel tags
  • Speech

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/dialog/reset/config/response

subscribe

response: Config has been reset

Channel tags
  • Speech

Message SuccessMessage

Success message

Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Optional error message

Any

Examples of payload
{
  "success": true
}