TTS or Text To Speech is a process which converts text to WAV file. If someone types a sentence in a note pad, TTS software would convert it to voice and plays it through speaker attached to computer or laptop. This sample automates the process of account balance enquiries and assists the customers in knowing the status of their account balance, wherever they are.
Download the evaluation version of Xtend IVR and install the telephony application in your system. Run the sample script from the Script Editor. Click here to refer the code.
The automated attendant will work as given below:
$db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=bankacc.mdb;User Id=admin;Password=;" $retrycount = 2 MAIN: display "Waiting for call . . ." answer 1 speak "<pitch absmiddle='5'/>Welcome to Lotus Bank Telebanking service." play "\pau=500\" ACCEPT_ACCNO: display "Accept account number" $msg = "Please enter your account number" $Acno = AcceptNum($msg) if $Acno == "" then goto GOODBYE ACCEPT_PIN: display "Accept PIN number" $msg = "Please enter your pin number." $Pin = AcceptNum($msg) if $Pin == "" then goto GOODBYE display "Validating User" $sql = format("SELECT * FROM BANK WHERE AccNo = '%s'",$Acno) $dbalias = db.RunSQL($db, $sql) if $dbalias.eof speak "The account number you have entered is invalid." goto GOODBYE endif if compare($dbalias.PIN,$Pin) <> 0 speak "The pin number you have entered is invalid." goto GOODBYE endif play "\pau=500\" $bal = concat("The balance amount in ", $dbalias.Name, "'s account number <rate absspeed='-3'><context ID='number_digit'>", $dbalias.Accno, "</context></rate> is ") Speak $bal $money = concat("<context ID = 'currency'>$",$dbalias.Balance,".</context>") speak $money GOODBYE: display "Terminating Call" play "\pau=500\" speak "Thank you for using the service." hangup goto MAIN ONHANGUP: hangup goto MAIN ONSYSTEMERROR: log $error display $error hangup goto MAIN function AcceptNum($speech) $retry = $retrycount while $retry > 0 $digit = "" speak concat("<pitch absmiddle='5'/>",$speech) play "\pau=500\" srKeepGrammar(true) srAcceptWords("zero","one","two","three","four","five","six","seven", "eight","nine","0","1","2","3","4","5","6","7","8","9") while true $key = Input(4,5) if $InputMode == "S" if srConfidence() >= 100 $value = ConvertSpeech($key) if len($value) != 0 $digit = concat($digit,$value) if len($digit) >= 4 $key = $digit break endif endif endif else break endif endwhile if len($key) != 0 break endif $retry -= 1 endwhile return $key function ConvertSpeech($sp) $result = "" if $sp == "zero" or $sp == "0" $result = "0" endif if $sp == "one" or $sp == "1" $result = "1" endif if $sp == "two" or $sp == "2" $result = "2" endif if $sp == "three" or $sp == "3" $result = "3" endif if $sp == "four" or $sp == "4" $result = "4" endif if $sp == "five" or $sp == "5" $result = "5" endif if $sp == "six" or $sp == "6" $result = "6" endif if $sp == "seven" or $sp == "7" $result = "7" endif if $sp == "eight" or $sp == "8" $result = "8" endif if $sp == "nine" or $sp == "9" $result = "9" endif return $result $Words = "" $Ctr = 1 while $Ctr <= $PluginParamCount $Var = format("$PluginParam%d",$Ctr) $Str = alltrim($$Var) if len($Str) <> 0 $Words = format("%s,%s", $Words, $Str) endif $Ctr += 1 endwhile $Words = alltrim($Words) if len($Words) == 0 srGrammar("") return endif $GrmStart = '<GRAMMAR LANGID="409"> <DEFINE> <ID NAME="RID_Language" VAL="409"/> </DEFINE> <RULE ID="RID_Language" TOPLEVEL="ACTIVE"> <LIST PROPID="RID_Language"> ' $GrmEnd = ' </LIST> </RULE> </GRAMMAR>' $GrmWord = ' <P>%s</P> ' $Grm = $GrmStart while TRUE $Words = alltrim($Words) if len($Words) == 0 break endif $pos = find($Words,',') if $pos == -1 $Str = format($GrmWord,$Words) $Grm = format("%s%s", $Grm, $Str) break endif $Str = mid($Words,0,$pos) $Str = alltrim($Str) if len($Str) <> 0 $Str = format($GrmWord,$Str) $Grm = format("%s%s", $Grm, $Str) endif $Words = mid($Words, $pos+1)s endwhile $Grm = concat($Grm, $GrmEnd) srGrammar($Grm) return