Skip to content

KAZOO Support Channels

This documentation is curated by 2600Hz as part of the KAZOO open source project. Join our community forums here for peer support. Only features in the docs.2600hz.com/supported space are included as part of our 2600Hz Support Services plan.

Audio Macros

Audio Macro#

About Audio Macro#

Sometimes you need to group media files together to act as a single logical audio file. Any remaining macros will be skipped if DTMF terminators are pressed.

There are four types of media that can be included:

  1. play: same as the play callflow action, a media file or HTTP URL, to play to the caller
  2. prompt: play a Kazoo system prompt (or the account's overridden version)
  3. say: a way to say certain phrases (like pronouncing each digit in a number)
  4. tts: play the text as speech

Schema#

Validator for the audio_macro callflow data object

Key Description Type Default Required Support Level
language The language of the speaker string() false
macros.[].macro the macro type to process string('play' | 'prompt' | 'say' | 'tts' | 'tone') true
macros The audio macro data array(object()) [] false
skip_module When set to true this callflow action is skipped, advancing to the wildcard branch (if any) boolean() false
terminators.[] string() false
terminators What DTMF can terminate playback of the audio array(string()) ["1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"] false

callflows.audio_macro.prompt#

Validator for playing prompts

Key Description Type Default Required Support Level
id Prompt ID string() false
language The language of the speaker string() false
terminators.[] string() false
terminators What DTMF can terminate playback of the audio array(string()) ["1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"] false

callflows.audio_macro.say#

Validator for executing say commands

Key Description Type Default Required Support Level
gender The gender of the speaker string('masculine' | 'feminine' | 'neuter') false
language The language of the speaker string() false
method The method to use when saying the text string('none' | 'pronounced' | 'iterated' | 'counted') false
terminators.[] string() false
terminators What DTMF can terminate playback of the audio array(string()) ["1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"] false
text Text to say string() false
type The type to use when saying the text string('number' | 'items' | 'persons' | 'messages' | 'currency' | 'time_measurement' | 'current_date' | 'current_time' | 'current_date_time' | 'telephone_number' | 'telephone_extension' | 'url' | 'ip_address' | 'e-mail_address' | 'postal_address' | 'account_number' | 'name_spelled' | 'name_phonetic' | 'short_date_time') false

callflows.audio_macro.tone#

Validator for playing a tone - TGML

Key Description Type Default Required Support Level
duration_off time, in milliseconds, for turning the tone off integer() false
duration_on time, in milliseconds, for turning the tone on integer() false
frequencies The tone frequencies to play array(integer()) false
repeat how many times to repeat the tone integer() false
volume Volume of the tone being played integer() false

callflows.play#

Validator for the play callflow data object

Key Description Type Default Required Support Level
answer Whether to answer an unanswered call boolean() false
endless_playback Loop the media continuously boolean() false false
id Media ID or URL of the media to play string() false
loop_count How many times to loop the media integer() false
skip_module When set to true this callflow action is skipped, advancing to the wildcard branch (if any) boolean() false
terminators.[] string() false
terminators What DTMF can terminate playback of the audio array(string()) ["1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"] false

callflows.tts#

Validator for the TTS (Text-to-speech) callflow action

Key Description Type Default Required Support Level
endless_playback Loop the media until canceled boolean() false
engine What TTS engine to use string('flite' | 'google' | 'ispeech' | 'voicefabric') false
language The language of the speaker string() false
skip_module When set to true this callflow action is skipped, advancing to the wildcard branch (if any) boolean() false
terminators.[] string() false
terminators What DTMF can terminate playback of the audio array(string()) ["1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"] false
text The text to speak string(1..1000) true
voice What voice to use when speaking the text string() female false

Examples#

{
  "macros": [
    {
      "macro": "play",
      "id": "1a2b3c4e",
      "endless_playback": false,
    },
    {
      "macro": "tts",
      "text": "this can be said",
      "language": "en-us",
      "voice": "female"
    },
    {
      "macro": "prompt",
      "id": "vm-enter_pin",
    },
    {
      "macro": "say",
      "text": "123",
      "method": "pronounced",
      "type": "number",
    },
    {
      "macro": "tone",
      "frequencies": [400, 450],
      "duration_on": 400,
      "duration_off": 200
    }
  ],
  "terminators": ["1","2","3","4","5","6","7","8","9","*","0","#"]
}

Tones#

See the TGML page for tone examples.