0

I have a form with a prompt asking for a user name, the thing is i don't need any rules here, all i want to do is take the field and store the user's speech. Somewhere down the line i want to post this variable to a php file, which will add it to a database. This may seem trivial but can any1 help me, all the example I have seen contains grammars and rules like oneof etc. Attempt,

?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<var name="myUserName" />
<form id="Registerdetails">
<field name="User_name">
<prompt>
Welcome to the Day Planner Registration System. 
Please state a username of your choosing?
</prompt>
<grammar xml:lang="en-US" root = "User_name">
<rule id="User_name" scope="public">
</rule>
</grammar>
<filled>
<assign name = "myUserName" expr="User_name"/>
</filled>

T.I.A

Stefan

aspiringCoder
  • 415
  • 1
  • 9
  • 24

1 Answers1

0

Actually what you are asking for is not trivial. There are speech recognition systems that do not require grammars. These types of systems use statistical language modeling and are very expensive to purchase and tune. Usually only the Fortune 500 companies can afford to properly implement these types of systems. Most systems today that request a name from a person still use grammars. An example of this type of system is an auto attendant application that acts like an operator and tries to direct you to the person you are looking for. These have the advantage of being able to restrict the grammar to just names within the organization. If you are trying to get a grammar that handles all of the names in the world, that is a challenge. A suggested alternative is to use the vxml record tag to record the users name and store that, possibly for manual transcription at a later time. Even the best tuned statistical language modeling system will have trouble accurately transcribing all of the names in the world. If you provide more information on the how the names will be used in the application and the IVR platform you are using I may be able to provide a more refined answer.

Updated Based on Better Understanding of Question

A recording will not work for authentication. If you want to use speech for authentication you want to use voice biometrics which uses the voice print just like a unique finger print. Nuance has a product for this. I believe Nuance has a way to incorporate this technology into VoiceXML applications although full support for biometrics in VoiceXML will not be available until VoiceXML 3.0 is available.

Passwords is one area where it is best to use DTMF/telephone keypad. If a user in a crowded area they are often reluctant to speak their password out loud. The alternative for these types of systems is to have the users register to use the system via email or web and supply them with a numeric account number and numeric password/PIN that they can enter on the phone. You could even have them register using SMS (text messaging) using a service like SMSIfied.

You probably could setup a registration process in the voice application. Maybe they enter up to the first 6 digits that correspond to their last name on the telephone keypad (ex: Jones would be 56637) and they select their own numeric PIN. The application would have to manage that the user name and PIN combination are unique for all of the users in the system.

Kevin Junghans
  • 17,475
  • 4
  • 45
  • 62
  • Ok basically i want a registration system within my application, i want to store what the user says when prompted say a username of your choosing within a temporary variable which will be passed in a "goto" to a php file which will insert the data into a database... i know this might not be possible as it means that there is nothing to match patterns to.. could you use DTMF to somehow use text? – aspiringCoder Mar 27 '12 at 12:47
  • So basically you want the system to understand any name in the world and transcribe it, of which there are millions. Not an easy task. What will you do with the names in the database? Is it enough to have a recording as I suggested in my answer. Using DTMF to spell a name is cumbersome and will probably have the majority of your users getting frustrated and hang up. A technique used for this is two keypad presses per character. For example keypad 3 has the letters DEF on it. For the letter E you would press 3 then 2, since E is the 2nd letter on the 3 key. – Kevin Junghans Mar 27 '12 at 14:22
  • The usernames are used to authenticate the user with a password etc.. could you do that using a recording? – aspiringCoder Mar 27 '12 at 14:47