The Submissions page displays a customizable overview of a webform node's submissions. Submissions can be reviewed, updated, flagged and annotated. Watch video
208 submissions
# | Starred Sort descending | Locked | Notes | Created | User | IP address | Script Title | Script Description | Script | Name | Email Address | Organization Name | Organization URL | Operations |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
225 | Star/flag Script Upload: Submission #225 | Lock Script Upload: Submission #225 | Add notes to Script Upload: Submission #225 | Fri, 03/29/2024 - 19:52 | Anonymous | 5.188.210.91 | aregempm | <a href="https://bmtadalafil.online/">buy tadalafil in india</a> | <a href="https://bmtadalafil.online/">buy tadalafil in india</a> | best price tadalafil online best price tadalafil online | martinedepaulis@outlook.com | best price tadalafil online | https://tadalafi.online/ | |
241 | Star/flag Script Upload: Submission #241 | Lock Script Upload: Submission #241 | Add notes to Script Upload: Submission #241 | Sat, 04/06/2024 - 02:38 | Anonymous | 5.188.210.25 | bqhydttk | <a href="http://happyfamilystorerx.online/">international pharmacy no prescription</a> | <a href="http://happyfamilystorerx.online/">international pharmacy no prescription</a> | happy family canadian pharmaceuticals online happy family canadian pharmaceuticals online | cliffgraves@gmail.com | happy family canadian pharmaceuticals online | http://happyfamilymedicalstore.online/ | |
257 | Star/flag Script Upload: Submission #257 | Lock Script Upload: Submission #257 | Add notes to Script Upload: Submission #257 | Sat, 04/13/2024 - 16:32 | Anonymous | 5.188.210.30 | hsiodpxi | <a href="https://metoformin.online/">metformin 1000 mg price india</a> | <a href="https://metoformin.online/">metformin 1000 mg price india</a> | ozempic generic ozempic generic | psedis@yahoo.com | ozempic generic | http://metformindi.online/ | |
62 | Star/flag Script Upload: Submission #62 | Lock Script Upload: Submission #62 | Add notes to Script Upload: Submission #62 | Tue, 12/03/2019 - 11:51 | imedqo | 73.109.151.117 | Welcome | A welcome file to greet guests of neon.ai | Script: "Welcome" Variable: {name}: "" Variable: {like}: "" Variable: {location}: "" Variable: {question}: "" Neon Speak: "Hello, My name is Neon." Neon Speak: "What is your name?" voice_input{name} Neon Speak: "Nice to meet you {name}" Neon Speak: "tell me a brand you like, for example, I like neon" voice_input{like} Execute: "tell me my coupons" Neon Speak: "Where are you" voice_input{location} Execute: "tell me the time in {location}" Execute: "tell me the weather in {location}" Neon Speak: "Please ask me a question or say exit" voice_input{question} if {question} == "exit" Exit Execute: "{question}" Exit |
Josh | josh@neongecko.com | |||
98 | Star/flag Script Upload: Submission #98 | Lock Script Upload: Submission #98 | Add notes to Script Upload: Submission #98 | Wed, 06/24/2020 - 18:33 | imedqo | 24.19.150.34 | Patient Assistant | Patient Assistant | Script: "Patient Assistant" Language: "en-us male" # Set up wait time for patient responses Variable: timeoutReturnLabel = AnnounceVersion Timeout: 30 TIMEOUT # Announce version ("Testing" is displayed as text and is not spoken) @AnnounceVersion Name Speak : Pat : "Neon Patient Assistant Application Demonstration Version 2020 07 07 18:00 </speak> Testing" Variable: exitList = "exit", "cancel", "never mind" Variable: noList Variable: yesList Variable: alertsPhraseList Variable: heyPatList Variable: askPrompt Variable: returnLabel Variable: heardSilence Variable: falseAlarmCount Variable: askReturnValue = "" Variable: userName Variable: moreAppInfo Variable: customizeSettings Variable: customizeLanguage Variable: customizeProsody Variable: photoTime @StartUp # Initialize # exitList = "exit", "cancel", "never mind" noList = "no", "not now", "never mind", "nope", "n" yesList = "yes", "yup", "y" alertsPhraseList = "help", "I need help", "help me", "emergency", "this is an emergency", "i need a doctor", "i need a doctor", "i need a doctor", "i need a doctor", "i need a doctor", "i need a nurse", "i need aid", "i need a caregiver", "i need assistance", "i fell", "i can't get up", "fire" heyPatList = "hey pat", "pat are you there", "is anybody listening", "what time is it" speechGenderList = "female", "male" speechRateList = "medium", "fast", "slow" speechAccentList = "American", "British" or "Australian" askPrompt = "" returnLabel = "" heardSilence = "" falseAlarmCount = 0 askReturnValue = "" userName = "" moreAppInfo = "" customizeSettings = "" customizeLanguage = "" customProsody = "rate=’medium’" photoTime = "" # Ask to install assistant @PromptInstallAssistant returnLabel = InstallAssistant timeoutReturnLabel = PromptInstallAssistant Name Speak : Pat : "Hi, I'm Pat. I'm a demonstration patient assistant from Neon AI. Thank you for helping test my conversational skills." askPrompt = "Please tell me your name, or you can say cancel to exit." Goto : ASK @InstallAssistant userName = {askReturnValue} Name Speak : Pat : "Hi {userName}. I am glad you chose to install the Neon Patient Assistant Application." ## Offer additional information @ReAskMoreInfo Name Speak : Pat : "Before starting the Patient Assistant, would you like more information on the Neon conversational patient assistance application?" timeoutReturnLabel = ReAskMoreInfo voice_input{moreAppInfo} if {moreAppInfo} IN {noList[*]}: Goto: PromptCustomize Name Speak : Pat : "Hi {userName}. I'm Pat the demonstration conversational patient assistant from Neon AI. I am an artificial intelligence personal assistant, I'm augmented with Neon Gecko open source code and CPI Corp patented technology. Neon AI makes the Patient Assistant application to enable patients to alert their caregivers to emergencies and other needs, and to get simple information. As your automated patient assistant I listen for calls for help and send alerts to the patient care administrator. For example, you can say help, or I fell. Another thing you can say is what time is it .. </speak> In the future you will be able to play your favorite music, turn the lights on or off, and even ask to send a text message .. And if you don't want to call me Pat, someday you will be able to change my name." # Customize @PromptCustomize ## Offer customization of settings for administrator, voice and system settings ## Set up PA voice: name, gender, accent, pitch, speed, [Later: language, diction, empathy] ## Set up system settings: timeoutSeconds (wait time for user input) ## Set up administrator (password, email, name, phone, [Later: staff names, secondary contacts] ..) ## Set up nurse (password, email, name, phone, [Later: staff names, secondary contacts] ..) Name Speak : Pat : "Would you like to customize the Patient Assistant settings for my voice?" # Name Speak : Pat : "Would you like to customize the Patient Assistant settings for administrator, voice and PAT system settings?" timeoutReturnLabel = PromptCustomize voice_input{customizeSettings} if {customizeSettings} !IN {yesList[*]}: Goto: BeginAssistant Name Speak : Pat : "Hi {userName}. You can customize the voice for the Neon demonstration conversational patient assistant. You can say no change, or say female, male, normal, fast, slow, American, British or Australian. </speak> In the future you will be able to set up information for the administrator, staff members and the patient, and change my name and other PAT system settings." @ReAskCustomize # Name Speak : Pat : "Would you like to change the voice of the Neon conversational patient assistance application?" timeoutReturnLabel = ReAskCustomize voice_input{customizeSettings} if {customizeSettings} == "": Goto: PromptCustomize if {customizeSettings} CONTAINS "no change": Goto: BeginAssistant if {customizeSettings} IN {noList[*]}: Goto: BeginAssistant customLanguage = "" # Variable: britWords = british, gb, uk #if {customizeSettings} CONTAINS "British": if {customizeSettings} CONTAINS british, gb, uk: customLanguage = "'en-GB'" else if {customizeSettings} CONTAINS "Australian, AU, aussie": customLanguage = "en-AU" else customLanguage = "en-us" if {customizeSettings} CONTAINS "female": customLanguage = “{customLanguage} female" else customLanguage = “{customLanguage} male" Language: {customLanguage} if {customizeSettings} CONTAINS "fast": customProsody = "rate='fast'" else if {customizeSettings} CONTAINS "slow": customProsody = "rate='slow'" else customProsody = “rate=’medium’” # Later: Provide example of new Language/Prosody and offer reset # Later: Make settings into a case statement and error check: # split_words(wordList, customizeSettings) # customSettingCount = length({wordList}) # wordListIndex = 0 # LOOP # Case # LOOP END @BeginAssistant timeoutReturnLabel = WaitForAlertPhrase Name Speak : Pat : "<prosody {customProsody}> Your demonstration patient assistant has signed in. You can say, hey Pat, or, Pat are you there, if you want to know if I am listening. </prosody>" # Wait for alert @WaitForAlertPhrase askPrompt = "" returnLabel = GotPatientPhrase ### Name Speak : Pat : "PA 1 pre ask" Goto : ASK @GotPatientPhrase ## Did patient ask for "help" if {askReturnValue} !IN {alertsPhraseList[*]}: ### Name Speak : Pat : "PA 4 not an alert, listen again" Goto: WaitForAlertPhrase # Possible EMERGENCY Name Speak : Pat : "PA 5 got alert, about to reconvey {askReturnValue}" Reconvey : askReturnValue Name Speak : Pat : "PA 6 did reconvey" @PromptConfirmHelp askPrompt = "Please say just kidding if this is not an emergency" returnLabel = ConfirmHelp ### Name Speak : Pat : "PA 7 about to ask to cancel help request" Goto : ASK @ConfirmHelp ### Name Speak : Pat : "PA 8 check for jk" ## Did patient REALLY ask for "help"? if {askReturnValue} == "": Name Speak : Pat : "Pat the Patient Assistant heard nothing." Name Speak : Pat : "PA 7 got alert, about to reconvey of heard nothing {askReturnValue}" Reconvey : askReturnValue Name Speak : Pat : "PA 8 did reconvey of nothing?" ## PA heard nothing after emergency request .. if second time then this is an emergency if {heardSilence == "TRUE"} : Goto: Emergency heardSilence = "TRUE" ## LATER: Increase volume, speak slower Name Speak : Pat : "{userName}! I need to hear from you! Is this an emergency?" Goto: PromptConfirmHelp if {askReturnValue} CONTAINS "just kidding", "never mind","not an emergency": Name Speak : Pat : "Pat the Patient Assistant heard you say this is not an emergency." Reconvey : askReturnValue Name Speak : Pat : "Please say help again if this is an emergency." ### Name Speak : Pat : "PA 9 jk so restart listening" Python: falseAlarmCount = {falseAlarmCount} + 1 Goto: WaitForAlertPhrase # EMERGENCY @Emergency Name Speak : Pat : "This is an EMERGENCY" Name Speak : Pat : "Pat the Patient Assistant would now send an emergency alert, keep engaged with the patient, and send updated alerts to the caregiver." Name Speak : Pat : "Pat test completed. Say start again to start again?" voice_input{askReturnValue} ### Name Speak : Pat : "PA 10 check for restart request" if {askReturnValue} == "start again": ### Name Speak : Pat : "PA 10 restarting" Goto: StartUp Name Speak : Pat : "Pat exiting" exit # ========== Subroutines @ASK # The ASK subroutine speaks the askPrompt and waits for a response. If the response is a command to Pat to perform an action, then the request is effected and Pat continues waiting for a response, otherwise, the response is returned to the caller in the askReturnValue. # Input parameters: askPrompt, returnLabel and timeOutReturnLabel # Result parameter: askReturnValue ### Name Speak : Pat : "Ask 1 Starting" if {askPrompt}: Name Speak : Pat : " {askPrompt} " ### Name Speak : Pat : "Ask 2 Starting ask subroutine" voice_input {askReturnValue} ### Name Speak : Pat : "Ask 3 got input" if {askReturnValue} IN {exitList[*]}: Name Speak : Pat : "Say yes to confirm exiting Pat, the Neon AI Patient Assistant" voice_input{askReturnValue} if {askReturnValue} IN {yesList[*]}: Name Speak : Pat : "Pat, the Neon AI Patient Assistant, signing off" exit else goto: ASK ### Name Speak : Pat : "Ask 4 not cancel command {askReturnValue}" if {askReturnValue} IN {heyPatList[*]}: Name Speak : Pat : "<prosody {customProsody}> {userName}, Pat the AI Patient Assistant demo here. I'm listening all the time but I don't <phoneme alphabet=”x-sampa” ph=”rikord”>record</phoneme> everything you say. I only make recordings of calls for help or in an emergency. </prosody>" # Note - Disambiguation for the pronunciations of "record": <phoneme alphabet=”x-sampa” ph=”rikord”>record</phoneme> Verb as in “I record everything you say” vs. Noun as in "Make a record of the conversation". Name Speak : Pat : "The time is" Execute : "Neon what time is it" if {falseAlarmCount} != 0: Name Speak : Pat : "The false alarm count is {falseAlarmCount}!" goto : ASK ### Name Speak : Pat : "Ask 5 About to return to {returnLabel}" Goto: {returnLabel} @TIMEOUT Goto: {timeoutReturnLabel} |
jsh r | j@j.com | |||
85 | Star/flag Script Upload: Submission #85 | Lock Script Upload: Submission #85 | Add notes to Script Upload: Submission #85 | Fri, 05/08/2020 - 13:59 | Anonymous | 50.35.82.111 | Website Navigator Timeout | Website navigator with an added reminder prompt if no response is heard after 10 seconds | Script: "Website Navigator Timeout" Variable: {options}: table_scrape(https://neongecko.com) Variable: {chosen}: "" Timeout: 10 instructions #Timeout: 10 7 @instructions Neon speak: "Please tell me what Neon AI web page you'd like to see. You can say things like random{options} or say quit or exit." LOOP WN voice_input{chosen} # Neon speak: "navigating to {chosen}" if {chosen} == "quit": Neon speak: "say pause to turn off the mic or say exit to close the window." voice_input{chosen} if {chosen} == "pause": # execute skill to turn off mic Execute: "neon mute microphone" else: if closest{chosen,options}: Execute: "neon browse to closest{chosen,options}" else: Neon speak: "Page not found" Neon speak: "Tell me another Neon AI web page you'd like to see or say quit." LOOP WN END Exit |
Daniel McKnight | daniel@neongecko.com | |||
114 | Star/flag Script Upload: Submission #114 | Lock Script Upload: Submission #114 | Add notes to Script Upload: Submission #114 | Sat, 02/10/2024 - 01:22 | Anonymous | 5.188.210.38 | ajwnpwhv | <a href="http://ozempic.pics/">rybelsus canada pharmacy</a> | <a href="http://ozempic.pics/">rybelsus canada pharmacy</a> | buy rybelsus buy rybelsus | dlphn2074@outlook.com | buy rybelsus | http://wegovy.guru/ | |
130 | Star/flag Script Upload: Submission #130 | Lock Script Upload: Submission #130 | Add notes to Script Upload: Submission #130 | Sun, 02/18/2024 - 01:36 | Anonymous | 5.188.210.38 | lsdtfwlc | <a href="https://semaglutide.company/">where can i buy semaglutide</a> | <a href="https://semaglutide.company/">where can i buy semaglutide</a> | semaglutide australia online semaglutide australia online | asimhussain@aol.com | semaglutide australia online | https://semaglutide.directory/ | |
146 | Star/flag Script Upload: Submission #146 | Lock Script Upload: Submission #146 | Add notes to Script Upload: Submission #146 | Fri, 02/23/2024 - 19:00 | Anonymous | 5.188.210.84 | beflddva | <a href="http://semaglutide.cyou/">wegovy</a> | <a href="http://semaglutide.cyou/">wegovy</a> | order wegovy online order wegovy online | alva@mail.com | order wegovy online | http://rybelsus.monster/ | |
162 | Star/flag Script Upload: Submission #162 | Lock Script Upload: Submission #162 | Add notes to Script Upload: Submission #162 | Sun, 03/03/2024 - 03:02 | Anonymous | 5.188.210.25 | tezybcdi | <a href="https://rybelsussemaglutide.com/">semaglutide best price</a> | <a href="https://rybelsussemaglutide.com/">semaglutide best price</a> | rybelsus weight loss rybelsus weight loss | ronnvi@gmail.com | rybelsus weight loss | https://ozempictabs.com/ | |
178 | Star/flag Script Upload: Submission #178 | Lock Script Upload: Submission #178 | Add notes to Script Upload: Submission #178 | Fri, 03/08/2024 - 18:19 | Anonymous | 5.188.210.21 | ovxtbmcr | <a href="https://predniso.online/">prednisone tablets</a> | <a href="https://predniso.online/">prednisone tablets</a> | purchase prednisone canada purchase prednisone canada | lona@gmail.com | purchase prednisone canada | https://prednisonexg.online/ | |
194 | Star/flag Script Upload: Submission #194 | Lock Script Upload: Submission #194 | Add notes to Script Upload: Submission #194 | Sun, 03/17/2024 - 07:55 | Anonymous | 5.188.210.30 | auzctdlr | <a href="https://metoformin.online/">buying metformin online</a> | <a href="https://metoformin.online/">buying metformin online</a> | where to buy semaglutide where to buy semaglutide | odense61@yahoo.com | where to buy semaglutide | http://ametformin.com/ | |
210 | Star/flag Script Upload: Submission #210 | Lock Script Upload: Submission #210 | Add notes to Script Upload: Submission #210 | Sat, 03/23/2024 - 12:05 | Anonymous | 5.188.210.38 | cxatfanq | <a href="http://synthroidx.com/">synthroid 150 mcg</a> | <a href="http://synthroidx.com/">synthroid 150 mcg</a> | synthroid 75 pill synthroid 75 pill | brggset@mail.com | synthroid 75 pill | http://synthroidotp.online/ | |
226 | Star/flag Script Upload: Submission #226 | Lock Script Upload: Submission #226 | Add notes to Script Upload: Submission #226 | Sat, 03/30/2024 - 19:17 | Anonymous | 5.188.210.30 | csfbkrsz | <a href="http://metformindi.com/">can i buy metformin without prescription</a> | <a href="http://metformindi.com/">can i buy metformin without prescription</a> | buy rybelsus in canada buy rybelsus in canada | jorgeandangie@outlook.com | buy rybelsus in canada | https://metforminn.com/ | |
242 | Star/flag Script Upload: Submission #242 | Lock Script Upload: Submission #242 | Add notes to Script Upload: Submission #242 | Sat, 04/06/2024 - 19:27 | Anonymous | 5.188.210.91 | dxsnnhxs | <a href="https://tadalafilu.online/">tadalafil 20 mg buy</a> | <a href="https://tadalafilu.online/">tadalafil 20 mg buy</a> | generic tadalafil 2018 generic tadalafil 2018 | malibufarmington@gmail.com | generic tadalafil 2018 | https://tadalafilu.online/ | |
258 | Star/flag Script Upload: Submission #258 | Lock Script Upload: Submission #258 | Add notes to Script Upload: Submission #258 | Mon, 04/15/2024 - 16:20 | Anonymous | 5.188.210.91 | rostjlht | <a href="https://tadalafilstd.com/">where to buy tadalafil 20mg</a> | <a href="https://tadalafilstd.com/">where to buy tadalafil 20mg</a> | wegovy tab 3mg wegovy tab 3mg | paigewestfall@yahoo.com | wegovy tab 3mg | https://tadalafilu.online/ | |
65 | Star/flag Script Upload: Submission #65 | Lock Script Upload: Submission #65 | Add notes to Script Upload: Submission #65 | Tue, 12/03/2019 - 12:30 | imedqo | 73.109.151.117 | Welcome Loops Demo | demo welcome loops skill file | Script: "Welcome Loops Demo" Variable: {name}: "" Variable: {like}: "" Variable: {location}: "" Variable: {question}: "" Neon Speak: "Hello, My name is Neon." Neon Speak: "What is your name?" voice_input{name} Neon Speak: "Nice to meet you {name}" Neon Speak: "tell me a brand you like, for example, I like neon" voice_input{like} Execute: "tell me my coupons" Neon Speak: "Where are you" voice_input{location} Execute: "tell me the time in {location}" Execute: "tell me the weather in {location}" LOOP Q1 Neon Speak: "Please ask me a question or say exit" if {question} == "exit" Exit voice_input{question} #Execute: "{question}" LOOP Q1 END Exit |
Josh | josh@neongecko.com | |||
103 | Star/flag Script Upload: Submission #103 | Lock Script Upload: Submission #103 | Add notes to Script Upload: Submission #103 | Thu, 08/06/2020 - 11:57 | imedqo | 24.19.150.34 | Guess My Word | Guess My Word | Script: "Guess My Word" Language: "en-us female" # Demonstration word game player from Neon AI # "Hi {userName}. Let's play the game guess my 7 word popular phrase. It very simple. I will choose a 7 word phrase and tell you one word. Then you guess a word, and if it is in the seven work phrase I will tell you its position or to guess again. Anytime you want you can guess the phrase, just say I guess and I will tell you if you're right. If you want me to tell you what you've already guessed, just say recap or history. Say hint and I will tell you another word." # Later n word phrases; n letter words; subject specific popular phrase input from Wolfram, google; foreign language # Set up wait time for participant responses Variable: timeoutReturnLabel = AnnounceVersion Timeout: 30 TIMEOUT @AnnounceVersion Name Speak : Gamon : "Neon Word Game Demonstration Version 2020 08 06 22:30 </speak> Testing" # Announce version ("Testing" is displayed as text and is not spoken) Variable: sevenWordPhraseArray = "A DATE THAT WILL LIVE IN INFAMY", "A DAY THAT WILL LIVE IN INFAMY", "A WORD TO THE WISE IS ENOUGH", "A WORD TO THE WISE IS SUFFICIENT", "AND A MERRY OLD SOUL WAS HE", "CAN'T SEE THE FOREST FOR THE TREES", "CHILL OUT AND PLAY SOME VIDEO GAMES", "COME OUT COME OUT WHEREVER YOU ARE", "I SMELL THE BLOOD OF AN ENGLISHMAN", "I'M LATE FOR A VERY IMPORTANT DATE", "IF IT AIN'T BROKE DON'T FIX IT", "IF YOU BUILD IT HE WILL COME", "IF YOU BUILD IT THEY WILL COME", "IT WAS A DARK AND STORMY NIGHT", "IT'S ALL HUMBUG I TELL YOU HUMBUG", "JACK AND JILL WENT UP THE HILL", "JACK FELL DOWN AND BROKE HIS CROWN", "LAUGH AND THE WORLD LAUGHS WITH YOU", "LEAP TALL BUILDINGS IN A SINGLE BOUND", "LIFE LIBERTY AND THE PURSUIT OF HAPPINESS", "LIONS AND TIGERS AND BEARS OH MY", "LITTLE BO PEEP HAS LOST HER SHEEP", "LITTLE PIGS LITTLE PIGS LET ME IN", "LIVE FROM NEW YORK IT'S SATURDAY NIGHT", "NEITHER A BORROWER NOR A LENDER BE", "NOT BY THE HAIR ON MY CHINNY-CHIN-CHIN", "NOT BY THE HAIR OF MY CHINNY-CHIN-CHIN", "NOW I LAY ME DOWN TO SLEEP", "OH WHAT A TANGLED WEB WE WEAVE", "ONE THING I CAN SAY FOR SURE", "OLD MOTHER HUBBARD WENT TO THE CUPBOARD", "OVER THE RIVER AND THROUGH THE WOODS", "THE BEST-LAID SCHEMES OF MICE AND MEN", "THE BEST-LAID PLANS OF MICE AND MEN", "DISCRETION IS THE BETTER PART OF VALOR", "THE BETTER PART OF VALOR IS DISCRETION", "THE FACE THAT LAUNCHED A THOUSAND SHIPS", "THE HABITS OF HIGHLY EFFECTIVE PEOPLE", "THE STUFF THAT DREAMS ARE MADE FROM", "THE STUFF THAT DREAMS ARE MADE OF", "THE STUFF OF WHICH DREAMS ARE MADE", "THE STUFF FROM WHICH DREAMS ARE MADE", "THINGS THAT GO BUMP IN THE NIGHT", "THIS IS THE SONG THAT NEVER ENDS "TO ERR IS HUMAN TO FORGIVE DIVINE", "TO FETCH HER POOR DOG A BONE", "WE HOLD THESE TRUTHS TO BE SELF-EVIDENT", "WE THE PEOPLE OF THE UNITED STATES", "WHEN IN THE COURSE OF HUMAN EVENTS" Variable: usedPhrases Variable: chosenPhrase Variable: hintCount Variable: sayNext Variable: foundWords Variable: chosenPhraseWords Variable: chosenPhraseWordsByLen Variable: iWord Variable: blankCount Variable: userInput Variable: userInputWords Variable: userInputWordsLen usedPhrases[*] = "" Variable: True = 1 Variable: False = 0 Variable: exitList = "exit", "cancel", "never mind" Variable: noList Variable: yesList Variable: alertsPhraseList Variable: inProgressList Variable: heyList Variable: askPrompt Variable: returnLabel Variable: heardSilence Variable: falseAlarmCount Variable: askReturnValue = "" Variable: userName Variable: moreAppInfo Variable: customizeSettings Variable: customizeLanguage Variable: customizeProsody Variable: photoTime Variable: enableNeonApps @StartUp # Initialize # exitList = "exit", "cancel", "never mind" noList = "no", "not now", "never mind", "nope", "n" yesList = "yes", "yup", "y" alertsPhraseList = "help", "I need help", "help me", "emergency", "this is an emergency", "i need a doctor", "i need a doctor", "i need a doctor", "i need a doctor", "i need a doctor", "i need a nurse", "i need aid", "i need a caregiver", "i need assistance", "i fell", "i can't get up", "fire" inProgressList = "what time is it", "Remind me to", "Play", "Record this", "Send an email", "Send a text" heyList = "hey Gamon", "Gamon are you there", "is anybody listening", "what time is it" speechGenderList = "female", "male" speechRateList = "medium", "fast", "slow" speechAccentList = "American", "British", "Australian" askPrompt = "" returnLabel = "" heardSilence = "" falseAlarmCount = 0 askReturnValue = "" userName = "" moreAppInfo = "" customizeSettings = "" customizeLanguage = "" customProsody = "rate='medium'" photoTime = "" enableNeonApps = {True} # Ask to install assistant @PromptInstallAssistant returnLabel = InstallAssistant timeoutReturnLabel = PromptInstallAssistant Name Speak : Gamon : "Hi, I'm Gamon. I'm a demonstration word game player from Neon AI. Thank you for helping test my conversational skills." askPrompt = "Please tell me your name, or you can say cancel to exit." GOTO : ASK @InstallAssistant userName = {askReturnValue} Name Speak : Gamon : "Hi {userName}. I am glad you chose to play word games with me." ## Offer additional information @ReAskMoreInfo Name Speak : Gamon : "Before starting the Neon Word Game, would you like more information on the Neon conversational AI?" timeoutReturnLabel = ReAskMoreInfo voice_input{moreAppInfo} if {moreAppInfo} IN {noList[*]}: GOTO : PromptCustomize Name Speak : Gamon : "Hi {userName}. I'm Gamon the word games playing assistant from Neon AI. I am an artificial intelligence personal assistant, I'm augmented with Neon Gecko open source code and CPI Corp patented technology." # Customize @PromptCustomize ## Offer customization of settings for administrator, voice and system settings ## Set up PA voice: name, gender, accent, pitch, speed, [Later: language, diction, empathy] ## Set up system settings: timeoutSeconds (wait time for user input) customLanguage = "" enableNeonApps = {True} Name Speak : Gamon : "Would you like to customize the Neon Word Game settings to change my voice?" # Later: Provide example of new Language/Prosody and offer reset timeoutReturnLabel = PromptCustomize voice_input{customizeSettings} if {customizeSettings} !IN {yesList[*]}: GOTO : BeginAssistant Name Speak : Gamon : "Hi {userName}. You can customize my voice for the Neon demonstration conversational game player. You can say female, male, normal, fast, slow, American, British or Australian, or say no change. </speak>" @ReAskCustomize # Name Speak : Gamon : "Would you like to change the voice of the Neon conversational Word Game Assistant?" timeoutReturnLabel = ReAskCustomize voice_input{customizeSettings} if {customizeSettings} == "": GOTO : PromptCustomize if {customizeSettings} CONTAINS "no change": GOTO : BeginAssistant if {customizeSettings} IN {noList[*]}: GOTO : BeginAssistant # Variable: britWords = british, gb, uk if {customizeSettings} CONTAINS british, gb, uk: customLanguage = "'en-GB'" else if {customizeSettings} CONTAINS "Australian, AU, aussie": customLanguage = "en-AU" else customLanguage = "en-us" if {customizeSettings} CONTAINS "female": customLanguage = "{customLanguage} female" else customLanguage = "{customLanguage} male" Language: {customLanguage} if {customizeSettings} CONTAINS "fast": customProsody = "rate='fast'" else if {customizeSettings} CONTAINS "slow": customProsody = "rate='slow'" else customProsody = "rate='medium'" @ReAskApps Name Speak : Gamon : "Would you like to enable more Neon applications including playing music, playing other games, taking notes, setting reminders, making calculation, requesting general information or changing my voice?" timeoutReturnLabel = ReAskApps voice_input{customizeSettings} if {customizeSettings} == "": GOTO : ReAskApps if {customizeSettings} IN {noList[*]}: enableNeonApps = {False} GOTO : BeginAssistant @BeginAssistant timeoutReturnLabel = WaitForAlertPhrase Name Speak : Gamon : "<prosody {customProsody}> Your demonstration word game assistant has signed in. If you want to know if I am listening, you can say, hey Gamon , or, Gamon are you there. </prosody>" Name Speak : Gamon : "Hi {userName}. Let's play the game guess my 7 word popular phrase. It very simple. I will choose a 7 word phrase and tell you one word. Then you guess a word, and if it is in the seven work phrase I will tell you its position or to guess again. Anytime you want you can guess the phrase, just say I guess and I will tell you if you're right. If you want me to tell you what you've already guessed, just say recap or history. Say hint and I will tell you another word." ### SET UP GAME # Choose New Phrase @ChooseNewPhrase chosenPhrase = random {sevenWordPhraseArray} # Check if used before if usedPhrases CONTAINS chosenPhrase GOTO : ChooseNewPhrase # Add New Phrase to list of phrased used usedPhrases = chosenPhrase hintCount = 0 sayNext = "" foundWords[*] = "" # Build word row for the sevenWordPhrase Python: chosenPhraseWords = chosenPhrase.split() # Build word row by word length [0]..[6] Python: chosenPhraseWordsByLen = chosenPhraseWords.sort(key=len) @NextHint # Give first or next hint if foundWords CONTAINS chosenPhraseWordsByLen[hintCount] : Python: hintCount++ GOTO : NextHint Name Speak : Gamon : "Hint {hintCount}, the {sayNext} longest word is" {chosenPhraseWordsByLen[hintCount]} foundWords = {chosenPhraseWordsByLen[hintCount]} Python: hintCount++ sayNext = "next" @GuessNextWord Name Speak : Gamon : "Here's where we're at" iWord = 0 blankCount = 0 LOOP SayFoundWords if chosenPhraseWord[iWord] in foundWords : Name Speak : Gamon : chosenPraseWord[i] else Name Speak : Gamon : "blank" Python: blankCount++ Python: iWord++ LOOP SayFoundWords UNTIL iWord >= 7 if blankCount == 0 Name Speak : Gamon : "Game Over! Thank you {userName} for playing with me" Name Speak : Gamon : "Let's play again" GOTO : ChooseNewPhrase ### Wait for Gamon/Emergency/Neon activiation alert phrase @WaitForAlertPhrase askPrompt = "Say I guess followed by a word, or I guess followed a phrase, or hint or recap or guessed words or exit" timeoutReturnLabel = WaitForAlertPhrase returnLabel = GotUserPhrase Goto : ASK @GotUserPhrase userInput = askReturnValue if {userInput} == "" : GOTO : ReAskGuess if {userInput} STARTSWITH "hint" : GOTO : NextHint if {userInput} IN "guessed words", "recap", "history" : Name Speak : Gamon : "Here are your mis guessed words" {guessedWords} GOTO : GuessNextWord if {userInput} STARTSWITH "I guess" : Python: userInputWords = userInput.split() Python: userInputWordsLen = len(userInputWords) Python: userInputWords = userInput.split() if userInputWordsLen == 3 : guessedWord = userInputWords[2] if chosenPhraseWords[*] CONTAINS guessedWord : if guessedWord !IN foundWords[*] : foundWords = guessedWord else if guessedWord !IN misGuessedWords[*] : misGuessedWords = guessedWord GOTO : GuessNextWord if userInputWordsLen != 9 : # wrong number of words Name Speak : Gamon : "I'm sorry {userName} I heard the wrong number of words." Name Speak : Gamon : "I heard {userInputWords}" Name Speak : Gamon : "Please try again." GOTO : GuessNextWord if userInputWords[2:] != chosenPhrase Name Speak : Gamon : "I heard {userInputWords}" Name Speak : Gamon : "I'm sorry {userName} that's not the popular phrase I'm thinking of." Name Speak : Gamon : "Please try again." GOTO : GuessNextWord Name Speak : Gamon : "Yay {userName} userInputWords[2:] is correct. Name Speak : Gamon : "Game Over! Thank you {userName} for playing with me" Name Speak : Gamon : "Let's play again" GOTO : ChooseNewPhrase ### SYSTEM ALERT PHRASES ## Did user ask for "help" if {askReturnValue} !IN {alertsPhraseList[*]}: ## Not an emergency alert, check for secondary (in progress) if {enableNeonApps}: ## if {askReturnValue} CONTAINS {inProgressList[*]}: if {askReturnValue} STARTSWITH {inProgressList[*]}: Case: # inProgressList = "what time is it", "Remind me to", "Play", "Record this", "Send an email", "Send a text" Name Speak : Gamon : "I'm sorry {userName} that is under construction." ## Not a Gamon/Alert/Neon activation phrase, listen again GOTO : WaitForAlertPhrase # Possible EMERGENCY Name Speak : Gamon : "The Emergency Assistant heard an emergency alert. I heard {askReturnValue}" Reconvey : askReturnValue Name Speak : Gamon : "</speak>PA 6 did reconvey" @PromptConfirmHelp askPrompt = "Please say just kidding if this is not an emergency" returnLabel = ConfirmHelp GOTO : ASK @ConfirmHelp ## Did user REALLY ask for "help"? if {askReturnValue} == "": Name Speak : Gamon : "The Emergency Assistant heard nothing. I heard" Reconvey : askReturnValue Name Speak : Gamon : "</speak>PA 8 did reconvey of nothing heard" ## PA heard nothing after emergency request .. if second time then this is an emergency if {heardSilence} == {True} : GOTO : Emergency heardSilence = {True} ## Increase volume and speak slowly Name Speak : Gamon : "<prosody volume='+100%' rate='slow'>{userName}! I need to hear from you! Is this an emergency?</prosody>" GOTO : PromptConfirmHelp if {askReturnValue} CONTAINS "just kidding", "never mind", "not an emergency": Name Speak : Gamon : "The Emergency Assistant heard you say this is not an emergency. I heard" Reconvey : askReturnValue ### Name Speak : Gamon : "</speak>Did reconvey of jk" ## User said jk so restart listening Name Speak : Gamon : "Please say help again if this is an emergency." Python: falseAlarmCount = {falseAlarmCount} + 1 GOTO : WaitForAlertPhrase # EMERGENCY @Emergency Name Speak : Gamon : "<prosody volume='+100%' rate='normal'>{userName}! Needs! Help! This is an EMERGENCY</prosody>" Name Speak : Gamon : "The Emergency Assistant would now send an emergency alert, sound an alarm, keep engaged with the user, and send updated alerts to the caregiver." Name Speak : Gamon : "Gamon test completed. Say start again to start again?" voice_input{askReturnValue} if {askReturnValue} == "start again": Name Speak : Gamon : "</speak> Gamon is restarting. Thanks again." GOTO : StartUp Name Speak : Gamon : "Gamon exiting. Thanks again for helping test my skills." exit # ========== Subroutines @ASK # The ASK subroutine speaks the askPrompt and waits for a response. If the response is a command to Gamon to perform an action, then the request is effected and Gamon continues waiting for a response, otherwise, the response is returned to the caller in the askReturnValue. # Input parameters: askPrompt, returnLabel and timeOutReturnLabel # Result parameter: askReturnValue ### Name Speak : Gamon : "Ask 1 Starting" if {askPrompt}: Name Speak : Gamon : " {askPrompt} " ### Name Speak : Gamon : "Ask 2 Starting ask subroutine" voice_input {askReturnValue} ### Name Speak : Gamon : "Ask 3 got input" if {askReturnValue} IN {exitList[*]}: Name Speak : Gamon : "Say yes to confirm exiting Gamon, the Neon Word Game Assistant" voice_input{askReturnValue} if {askReturnValue} IN {yesList[*]}: Name Speak : Gamon : "Gamon , the Neon Word Game Assistant, signing off" exit else GOTO : ASK ### Name Speak : Gamon : "Ask 4 not cancel command {askReturnValue}" if {askReturnValue} IN {heyList[*]}: Name Speak : Gamon : "<prosody {customProsody}> {userName}, Gamon the Word Game Assistant demo here. I'm listening all the time but I don't <phoneme alphabet= "x-sampa” ph= "rikord”>record</phoneme> everything you say. I only make recordings of calls for help or if you say emergency. </prosody>" # Note - Disambiguation for the pronunciations of "record": <phoneme alphabet= "x-sampa” ph= "rikord”>record</phoneme> Verb as in “I record everything you say” vs. Noun as in "Make a record of the conversation". Name Speak : Gamon : "The time is" Execute : "Neon what time is it" if {falseAlarmCount} != 0: Name Speak : Gamon : "The false alarm count is {falseAlarmCount}!" GOTO : ASK ### Name Speak : Gamon : "Ask 5 About to return to {returnLabel}" GOTO : {returnLabel} @TIMEOUT GOTO : {timeoutReturnLabel} |
Josh | josh@neongecko.com | |||
42 | Star/flag Script Upload: Submission #42 | Lock Script Upload: Submission #42 | Add notes to Script Upload: Submission #42 | Tue, 11/19/2019 - 14:00 | Anonymous | 73.109.151.117 | Basic Execute | Basic Execute | Script: "Basic Execute" Neon speak: "Lets get started." Execute: "What time is it" Neon speak: "I'm finished." Exit |
Daniel McKnight | daniel@neongecko.com | |||
96 | Star/flag Script Upload: Submission #96 | Lock Script Upload: Submission #96 | Add notes to Script Upload: Submission #96 | Thu, 06/11/2020 - 17:27 | Anonymous | 50.35.82.111 | Test Email | Demo script for sending emails | Script: Test Email Variable: body = "Test email body\nnewline" Neon speak: "</speak>sending email" Email: My Email Title, body Exit |
Daniel McKnight | daniel@neongecko.com |