As I was trying to understand more on the capabilities of the car, and what options I can do. The voice recognition on the car is quite impressive, it does seem as good at understanding as Amazon’s Echo, at least in the early days of “Alexa” (but that is a different story for another time).
I was trying to understand what things can I control, or the options one has via the voice. I am still not used to it, and keep forgetting, that is a option especially when driving. As of the v8 firmware series, the following are the choices that work for voice. Credit to Ingineer for discovering the full list when hacking the car.
The options in English are listed below, and this is missing the “ho ho ho” Easter egg and also the “cancel navigation” command.
"voice_command_list" : [
"command_type" : "navigate",
"description" : "drive to",
"description" : "drive 2",
"description" : "dr to",
"description" : "dr 2",
"description" : "drive",
"description" : "dr",
"description" : "navigate to",
"description" : "navigate 2",
"description" : "navigate",
"description" : "where is",
"description" : "take me to",
"description" : "take me 2",
"description" : "take me",
"command_type" : "call",
"description" : "call",
"description" : "dial",
"description" : "phone",
"command_type" : "note",
"description" : "note",
"description" : "report",
"description" : "bug note",
"description" : "bug report",
"command_type" : "play",
"description" : "play",
"description" : "plays",
"description" : "listen to",
"description" : "listens to",
"description" : "listen 2",
"description" : "listens 2"
]
And if you are keen to know, these are stored as a json file internally, and the fill list here here:
{
"voice_command_list" : [
{
"command_type" : "navigate",
"description" : "drive to",
"command_regexp" : "^drive to\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "drive 2",
"command_regexp" : "^drive 2\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "dr to",
"command_regexp" : "^dr to\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "dr 2",
"command_regexp" : "^dr 2\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "drive",
"command_regexp" : "^drive\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "dr",
"command_regexp" : "^dr\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "navigate to",
"command_regexp" : "^navigate to\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "navigate 2",
"command_regexp" : "^navigate 2\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "navigate",
"command_regexp" : "^navigate\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "where is",
"command_regexp" : "^where is\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "take me to",
"command_regexp" : "^take me to\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "take me 2",
"command_regexp" : "^take me 2\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "take me",
"command_regexp" : "^take me\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "naviguer à",
"command_regexp" : "^naviguer à\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "naviguer au",
"command_regexp" : "^naviguer au\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "aller à",
"command_regexp" : "^aller à\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "aller au",
"command_regexp" : "^aller au\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "nach navigieren",
"command_regexp" : "^nach\\b(.*)\\bnavigieren$"
},
{
"command_type" : "navigate",
"description" : "zur navigieren",
"command_regexp" : "^zur\\b(.*)\\bnavigieren$"
},
{
"command_type" : "navigate",
"description" : "zu navigieren",
"command_regexp" : "^zu\\b(.*)\\bnavigieren$"
},
{
"command_type" : "navigate",
"description" : "nach fahren",
"command_regexp" : "^nach\\b(.*)\\bfahren$"
},
{
"command_type" : "navigate",
"description" : "zur fahren",
"command_regexp" : "^zur\\b(.*)\\bfahren$"
},
{
"command_type" : "navigate",
"description" : "zu fahren",
"command_regexp" : "^zu\\b(.*)\\bfahren$"
},
{
"command_type" : "navigate",
"description" : "wo ist",
"command_regexp" : "^wo ist\\b(.*)$"
},
{
"command_type" : "navigate",
"description" : "navigiere nach",
"command_regexp" : "^navigiere nach\\b(.*)\\b$"
},
{
"command_type" : "navigate",
"description" : "navigiere zu",
"command_regexp" : "^navigiere zu\\b(.*)\\b$"
},
{
"command_type" : "navigate",
"description" : "导航到",
"command_regexp" : "^导航到(.*)$"
},
{
"command_type" : "navigate",
"description" : "在哪",
"command_regexp" : "^(.*)在哪$"
},
{
"command_type" : "navigate",
"description" : "开车到",
"command_regexp" : "^开车到(.*)$"
},
{
"command_type" : "navigate",
"description" : "导航去",
"command_regexp" : "^导航去(.*)$"
},
{
"command_type" : "navigate",
"description" : "導航去",
"command_regexp" : "^導航去(.*)$"
},
{
"command_type" : "navigate",
"description" : "導航到",
"command_regexp" : "^導航到(.*)$"
},
{
"command_type" : "navigate",
"description" : "帶我去",
"command_regexp" : "^帶我去(.*)$"
},
{
"command_type" : "navigate",
"description" : "帶我到",
"command_regexp" : "^帶我到(.*)$"
},
{
"command_type" : "navigate",
"description" : "去",
"command_regexp" : "^去(.*)$"
},
{
"command_type" : "navigate",
"description" : "到",
"command_regexp" : "^到(.*)$"
},
{
"command_type" : "call",
"description" : "call",
"command_regexp" : "^call\\b(.*)$"
},
{
"command_type" : "call",
"description" : "dial",
"command_regexp" : "^dial\\b(.*)$"
},
{
"command_type" : "call",
"description" : "phone",
"command_regexp" : "^phone\\b(.*)$"
},
{
"command_type" : "call",
"description" : "appeler",
"command_regexp" : "^appeler\\b(.*)$"
},
{
"command_type" : "call",
"description" : "composer",
"command_regexp" : "^composer\\b(.*)$"
},
{
"command_type" : "call",
"description" : "wählen",
"command_regexp" : "^(.*)\\bwählen$"
},
{
"command_type" : "call",
"description" : "anrufen",
"command_regexp" : "^(.*)\\banrufen$"
},
{
"command_type" : "call",
"description" : "wähle",
"command_regexp" : "^wählen\\b(.*)$"
},
{
"command_type" : "call",
"description" : "ruf an",
"command_regexp" : "^ruf\\b(.*)\\ban$"
},
{
"command_type" : "call",
"description" : "rufe an",
"command_regexp" : "^rufe\\b(.*)\\ban$"
},
{
"command_type" : "call",
"description" : "打电话给",
"command_regexp" : "^打电话给(.*)$"
},
{
"command_type" : "call",
"description" : "打电话给",
"command_regexp" : "^给(.*)打电话$"
},
{
"command_type" : "call",
"description" : "拨打",
"command_regexp" : "^拨打(.*)$"
},
{
"command_type" : "call",
"description" : "打给",
"command_regexp" : "^打给(.*)$"
},
{
"command_type" : "call",
"description" : "打電話俾",
"command_regexp" : "^打電話俾(.*)$"
},
{
"command_type" : "call",
"description" : "打俾",
"command_regexp" : "^打俾(.*)$"
},
{
"command_type" : "call",
"description" : "打電話去",
"command_regexp" : "^打電話去(.*)$"
},
{
"command_type" : "call",
"description" : "打去",
"command_regexp" : "^打去(.*)$"
},
{
"command_type" : "call",
"description" : "打電話比",
"command_regexp" : "^打電話比(.*)$"
},
{
"command_type" : "call",
"description" : "打比",
"command_regexp" : "^打比(.*)$"
},
{
"command_type" : "note",
"description" : "note",
"command_regexp" : "^note\\b(.*)$"
},
{
"command_type" : "note",
"description" : "report",
"command_regexp" : "^report\\b(.*)$"
},
{
"command_type" : "note",
"description" : "bug note",
"command_regexp" : "^bug note\\b(.*)$"
},
{
"command_type" : "note",
"description" : "bug report",
"command_regexp" : "^bug report\\b(.*)$"
},
{
"command_type" : "play",
"description" : "play",
"command_regexp" : "^play\\b(.*)$"
},
{
"command_type" : "play",
"description" : "plays",
"command_regexp" : "^plays\\b(.*)$"
},
{
"command_type" : "play",
"description" : "listen to",
"command_regexp" : "^listen to\\b(.*)$"
},
{
"command_type" : "play",
"description" : "listens to",
"command_regexp" : "^listens to\\b(.*)$"
},
{
"command_type" : "play",
"description" : "listen 2",
"command_regexp" : "^listen 2\\b(.*)$"
},
{
"command_type" : "play",
"description" : "listens 2",
"command_regexp" : "^listens 2\\b(.*)$"
},
{
"command_type" : "play",
"description" : "écouter",
"command_regexp" : "^écouter\\b(.*)$"
},
{
"command_type" : "play",
"description" : "jouer",
"command_regexp" : "^jouer\\b(.*)$"
},
{
"command_type" : "play",
"description" : "spielen",
"command_regexp" : "^(.*)\\bspielen$"
},
{
"command_type" : "play",
"description" : "hören",
"command_regexp" : "^(.*)\\bhören$"
},
{
"command_type" : "play",
"description" : "abspielen",
"command_regexp" : "^(.*)\\babspielen$"
},
{
"command_type" : "play",
"description" : "abhören",
"command_regexp" : "^(.*)\\babhören$"
},
{
"command_type" : "play",
"description" : "spiele",
"command_regexp" : "^spiele\\b(.*)$"
},
{
"command_type" : "play",
"description" : "spiel",
"command_regexp" : "^spiel\\b(.*)$"
},
{
"command_type" : "play",
"description" : "播放",
"command_regexp" : "^播放(.*)$"
},
{
"command_type" : "play",
"description" : "收听",
"command_regexp" : "^收听(.*)$"
},
{
"command_type" : "play",
"description" : "我想聽",
"command_regexp" : "^我想聽(.*)$"
}
]
}
Whilst the #NLP engine working on this is quite good, and impressive, I am hopeful that there will be more options added. Elon did share that is something they are working on, and it might be part of the updated v9 release coming out in the next few weeks.