How to Implement Personalised Voice Notification service

TechTalks How to build voice noticfication service using voice api
Share with

Introduction to personalised voice notification services 

A personalised voice notification service generates audio versions of written messages using text-to-speech (TTS) technology. By using this technology, you can create custom audio notifications tailored to everyone. As a result, users can receive audio prompts that are more personalized and engaging, enhancing customer loyalty and experience. 

Benefits of using a personalised voice notification service 

Customer engagement, improved customer experience, and the ability to provide timely and accurate information are some of the benefits that can be realized. As customers feel appreciated and recognized, a personalised voice message can enhance the customer experience and create a more engaging and welcoming environment. 

Understanding of personalised voice prompts 

A personalized voice prompt is an audio message that is customized by using Text-To-Speech to address the user by name or provide specific information based on their profile or history. Some common types of personalised voice prompts are name, profile, context, location, activity, preference, and mood. 

For example, the prompt for the name attribute could be “Hi [name], this is a reminder about your appointment tomorrow,” while the value for the appointment time attribute could be “Your appointment is at [time] on [date].” 

Why to choose EnableX Voice API platform to build Personalised voice notification Service 

EnableX is a cloud-based communication platform that offers a suite of communication APIs, including Voice API. It offers high-quality voice communication through its WebRTC technology, has a wide range of features, developer-friendly, and is scalable and compliant with industry standards. 

How much does it cost to send a voice notification?

EnableX provides a number of pricing options for building voice notification service. You can check the pricing here. Please note we have a variety of plans available based on your requirement. You can choose from the following options based on minimum usage commitments:

  • Pay per second per outbound call
  • Pay a fixed minimum amount per outbound call, and additional charges on extra seconds
  • pay per outbound notification sent
    For more information, please contact our sales team.

How to configure your personalised voice notifications with EnableX 

EnableX Offers this voice notification services. To configure Voice notification service with EnableX, you need to 

  1. Sign-Up for an account with EnableX 
  2. Create a project with voice service 
  3. Get API access credentials 
  4. Configure voice service 
  5. Configure phone number 
  6. Configure voice prompts 
  7. Add Voice Prompt to Configured Number 

How to create project with voice service 

  • Login to  EnableX Portal 
  • Navigate to Projects Menu, Select Create New Project 
  • Click on Voice Checkbox 

How to access API Credentials 

Once you successfully created a voice project, you will receive credential details (APP-ID & APP-KEY) on your registered email address, or you can get your project credentials by: 

  • Navigate to My Project
  • Select the Project from the list of projects
  • Click on PROJECT CREDENTIAL
  • Click on SEND APP CREDENTIAL to get the APP-ID and APP-KEY for the project on the registered email address. 

How to get API credentials for voice notification service

 

How to configure your phone number for personalised voice notifications 

To use any voice service (Inbound or Outbound), you must have a phone number associated with your project.  

EnableX offers phone numbers for your application.  

  • Navigate to the Project 
  • Click on the BUY NUMBERS 
  • Select Country, Services, Type and Numbers 
  • Click on the PLACE ORDER 

Buy virtual number for voice notification

Once you buy phone number, then add phone number to your project 

  • Select PHONE NUMBERS 
  • Select the Outbound direction 
  • Click on the ADD PHONE TO PROJECT 

How to configure voice prompts 

To configure voice prompts, 

  • Navigate to Voice Project 
  • Go to Preferences 
  • Select from the existing Voice Prompts or Click ADD NEW PROMPT FILE 
  • Enter required details and enable Text-to-Speech 
  • Select Language, Welcome Text, and Voice Type 
  • Click on Submit Request 
  • The system will return a unique identification to play the prompt through the API Play Prompt. 

How to configure voice prompt using API

Standard prompts and values allow for the same message to be delivered to multiple recipients in a personalised way. This helps to ensure that any message is tailored to the individual, while also making it easier to create and manage the notification service.  

Add Voice Prompt to Configured Number 

  • Navigate to the Project 
  • Go to Voice Settings 
  • Click on VOICE PROMPTS 
  • Select Number from the dropdown menu 
  • Enter Event URL 
  • Select Voice Prompt Template from the dropdown menu 
  • Click on Save 

How to set up voice notification service

You have now successfully added a voice prompt to your configured Phone Number. Alternatively, you can build your own service using EnableX voice API, which allows for greater customization and control. 

Best practices for implementing personalised voice notifications into your application 

  • Run the following command from your terminal or command prompt to create a new directory for your project files on your computer  
  • git clone https://github.com/EnableX/voice-outbound-text-to-speech.git 
  • cd voice-outbound-text-to-speech 
  • npm install 
  • Get your EnableX account credentials and save to .env file  
  • Setting up configurations using environment variable 
  • Secure Webhook 
  • Get SSL Certificate 
  • Start Client application Script 

Configure your system to use the Voice API 

Now using the EnableX Voice API client, you can create a workflow that defines the prompts and values you want to use for each attribute in your system. You can define the prompts and values using JSON. 

Making an outbound call using Voice API 

During Voice API calls, the developer provides a CLI (Caller Line Identity) that will be used as an outbound number. The CLI is validated against the configured number. A call will fail if the number does not match. 

  • Select the outbound phone number 
  • Use the URL, Pass the Authorisation header and request Json body as given below: 
const URL = "https://api.enablex.io/voice/v1/call"; 
const HttpVerb = "POST" 
const APP_ID = process.env.ENABLEX_APP_ID;  
const APP_KEY = process.env.ENABLEX_APP_KEY;   
const authKey = btoa(`${APP_ID}:${APP_KEY}`); 
 
const options = {   
    headers: {   
      "Authorization": "Basic ${authKey}",   
      "Content-Type": "application/json"   
    }  
  };  
 
const data = { 
    "name" : "Service Name", 
    "from" : "EnableX Number", 
    "to" : "Destination Number", 
    "action_on_connect" : { 
      //Play Text To Speech to the User once call is connected 
      "play" : { 
        "text" : "Text to be played as speech", 
        "voice" : "female", 
        "language" : "en-US" 
      } 
    }, 
    // Initial silence timeout in seconds before user start speaking. 
    "start_timeout" : "1", 
    // Wait before the voice server returns the result after silence in seconds. 
    "recognizer_timeout": "10",  
    "event_url" : "https://yourserver.com/webhook" 
  }

Add Play Prompt with advanced options
Add a play prompt with some advanced options to your application to improve the user experience. You can use the following advanced options: 

express-as: This attribute is used to express emotions like cheerfulness, empathy, and calm.
break: This attribute is used to specify a pause in the speech through text-to-speech engine.
prosody: This attribute is used to control the prosodic features of the speech, such as the pitch, contour, range, volume, and rate of speech. It can be used to create more expressive and engaging speech.
say-as: This attribute is used to specify how a particular word or phrase should be pronounced.
For more detailed information, please click the link

const URL = "https://api.enablex.io/voice/v1/call"; 
 
const APP_ID = process.env.ENABLEX_APP_ID;  
const APP_KEY = process.env.ENABLEX_APP_KEY;   
const authKey = btoa(`${APP_ID}:${APP_KEY}`); 
 
const options = {   
    headers: {   
      "Authorization": "Basic ${authKey}",   
      "Content-Type": "application/json"   
    }  
  };  
 
const data = { 
    "name" : "Service Name", 
    "from" : "EnableX Number", 
    "to" : "Destination Number", 
    "action_on_connect" : { 
      //Text to Speech with advance options 
      "play" : { 
        "text_to_speech_option" : { 
            "text" : "good morning welcome to text to speech demo", 
            //text will be played after 2 seconds. 
            "silence" : { 
                "type" : "leading",  
                "value" : "2000ms" 
            }, 
            //text to be played after 2 seconds break", 
             "break" : { 
                "time" : "2000ms" 
            }, 
            //text will be played in gentle voice 
            "express-as" : { 
                "style" : "gentle",  
                 "text" : "text will be played in gentle voice"  
                }, 
            //"text" : "text played at 30% higher rate and 50% volume" 
            "prosody" : { 
                "rate" : "+30.00%", 
                "pitch" : "high", 
                "volume" : "+50.00%", 
            }, 
            //<say-as interpret-as="date" format="mdy">10-19-2016</say-as> 
            "say-as" : { 
                "interpret-as" : "date", 
                "format" :"mdy" 
            }  
        } 
      } 
    }, 
    // Initial silence timeout in seconds before user start speaking. 
    "start_timeout" : "1", 
    // Wait before the voice server returns the result after silence in seconds. 
    "recognizer_timeout": "10",  
    "event_url" : "https://yourserver.com/webhook", 

Once you have learned how to set up an outbound call with EnableX Voice API, you will be able to listen to different languages or accents accordingly. You will also be able to customize your spoken text even further to ensure it is appropriate to your business. 

It has been proven that individualized voice notification services can greatly enhance communication with customers, employees, and other users. Business owners can use modern technologies to develop highly customized and interactive voice notification services to create a better user experience and drive better business outcomes by utilizing modern technologies.   

Learn more about our voice API product here
Understand complete developer documentation for voice API here

Are you looking for feature-rich APIs to build exciting solutions?
Sign up for free to begin!
Signup Cpaas API