The Submissions page displays a customizable overview of a webform node's submissions. Submissions can be reviewed, updated, flagged and annotated. Watch video
204 submissions
# | Starred | Locked | Notes | Created | User | IP address | Script Title | Script Description Sort descending | Script | Name | Email Address | Organization Name | Organization URL | Operations |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
72 | Star/flag Script Upload: Submission #72 | Lock Script Upload: Submission #72 | Add notes to Script Upload: Submission #72 | Fri, 01/03/2020 - 18:10 | imedqo | 73.109.151.117 | Neon AI Navigator | Navigate the neon.ai website with voice | Script: "Neon AI Navigator" Variable: {options}: table_scrape(https://neon.ai) 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 | |||
59 | Star/flag Script Upload: Submission #59 | Lock Script Upload: Submission #59 | Add notes to Script Upload: Submission #59 | Wed, 11/20/2019 - 18:49 | imedqo | 73.109.151.117 | Mycroft Navigator | Navigates the mycroft.ai website | Script: "Mycroft Navigator" # Language: "en-us female" Variable: {options}: table_scrape(https://mycroft.ai) Variable: {chosen}: "" Variable: {termination_bool}: done Neon speak: "Please tell me what Mycroft web page you'd like to see. You can say things like random{options}" LOOP WN voice_input{chosen} # Neon speak: "navigating to {chosen}" if closest{chosen,options}: Execute: "neon browse to closest{chosen,options}" else: Neon speak: "Page not found" Neon speak: "What Mycroft web page would you like to see next?" LOOP WN END Exit |
Guy Daniels | guy@neongecko.com | guy daniels | ||
84 | Star/flag Script Upload: Submission #84 | Lock Script Upload: Submission #84 | Add notes to Script Upload: Submission #84 | Wed, 05/06/2020 - 12:54 | Anonymous | 50.35.82.111 | Demo Guess Number Timeout | Neon will select a number between 1 and 10 at random and give hints until the user guesses correctly. If there is no response for 15 seconds, the script will exit | Script: "Demo Guess Number Timeout" Author: Daniel McKnight Timeout: 15 Description: Neon will select a number between 1 and 10 at random and give hints until the user guesses correctly. If there is no response for 15 seconds, the script will exit Variable: numbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Variable: neon_num = random(numbers) Variable: user_guess = "" Set: neon_num = random(numbers) Neon speak: # "My number is {neon_num}" "I'm thinking of a number between 1 and 10" "Guess what it is or say 'exit'" LOOP guess voice_input{user_guess} if {user_guess} in {numbers}: if {user_guess} == {neon_num}: Neon speak: "You guessed it!" Exit if {user_guess} > {neon_num}: Neon speak: "Lower" LOOP guess END if {user_guess} < {neon_num}: Neon speak: "Higher" LOOP guess END else if {user_guess} != "exit": Neon speak: "That's not a valid guess, try again." LOOP guess END Exit |
Daniel McKnight | daniel@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 | |||
102 | Star/flag Script Upload: Submission #102 | Lock Script Upload: Submission #102 | Add notes to Script Upload: Submission #102 | Thu, 07/09/2020 - 18:25 | Anonymous | 73.42.151.74 | Test Pat | Richard Test Pat Patient Assistant Script | Script: "Test Pat" 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 09 18:22 again </speak> Testing" Variable: True = 1 Variable: False = 0 Variable: exitList = "exit", "cancel", "never mind" Variable: noList Variable: yesList Variable: alertsPhraseList Variable: inProgressList Variable: heyPatList 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 = "hey pat", "pat are you there", "is anybody listening", "what time is it", "Remind me to", "Play", "Email", "Record" 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 = "" enableNeonApps = {True} # 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] ..) customLanguage = "" enableNeonApps = {True} Name Speak : Pat : "Would you like to customize the Patient Assistant settings to disable non-emergency Neon AI patient applications, or to change 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 # 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'" # 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 @ReAskApps Name Speak : Pat : "Would you like to enable more Neon patient assistance applications including playing music, playing games, reminders for medicine, hydration, meals and sleep, requests to record symptoms or other stats, and to request general information or assistance with math?" timeoutReturnLabel = ReAskApps voice_input{customizeSettings} if {customizeSettings} == "": Goto: ReAskApps if {customizeSettings} IN {noList[*]}: enableNeonApps = {False} Goto: BeginAssistant @BeginAssistant timeoutReturnLabel = WaitForAlertPhrase Name Speak : Pat : "<prosody {customProsody}> Your demonstration patient assistant has signed in. If you want to know if I am listening, you can say, hey Pat, or, Pat are you there. </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[*]}: ## Not an emergency alert, check for secondary (in progress) if {enableNeonApps}: ## if {askReturnValue} CONTAINS {inProgressList[*]}: if {askReturnValue} STARTSWITH {inProgressList[*]}: Name Speak : Pat : "I'm sorry {userName} that is under construction." ## Not an alert, listen again Goto: WaitForAlertPhrase # Possible EMERGENCY Name Speak : Pat : "Pat the Patient Assistant heard an emergency alert. I heard {askReturnValue}" Reconvey : askReturnValue Name Speak : Pat : "</speak>PA 6 did reconvey" @PromptConfirmHelp askPrompt = "Please say just kidding if this is not an emergency" returnLabel = ConfirmHelp Goto : ASK @ConfirmHelp ## Did patient REALLY ask for "help"? if {askReturnValue} == "": Name Speak : Pat : "Pat the Patient Assistant heard nothing. I heard" Reconvey : askReturnValue Name Speak : Pat : "</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 : Pat : "<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 : Pat : "Pat the Patient Assistant heard you say this is not an emergency. I heard" Reconvey : askReturnValue ### Name Speak : Pat : "</speak>Did reconvey of jk" ## Patient said jk so restart listening Name Speak : Pat : "Please say help again if this is an emergency." Python: falseAlarmCount = {falseAlarmCount} + 1 Goto: WaitForAlertPhrase # EMERGENCY @Emergency Name Speak : Pat : "<prosody volume='+100%' rate='normal'>{userName}! Needs! Help! This is an EMERGENCY</prosody>" Name Speak : Pat : "Pat the Patient Assistant would now send an emergency alert, sound an alarm, 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} if {askReturnValue} == "start again": Name Speak : Pat : "</speak>Pat is restarting. Thanks again." Goto: StartUp Name Speak : Pat : "Pat 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 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} |
Richard | richard@neon.ai | |||
97 | Star/flag Script Upload: Submission #97 | Lock Script Upload: Submission #97 | Add notes to Script Upload: Submission #97 | Fri, 06/19/2020 - 15:55 | Anonymous | 50.35.82.111 | Demo Profile Reconveyance | Short demo that includes reading a value from a user profile and reconveyance of user input. | Script: Demo Profile Reconveyance Variable: body = "Test email body\nnewline" Variable: emailAddr = profile(user.email) Variable: spoken if {emailAddr}: Neon speak: "your email address is {emailAddr}" else: Neon speak: I don't know what your email address is Neon speak: Say something and I'll say it back to you voice_input(spoken) Neon Speak: You said: Reconvey: spoken Exit |
Daniel | daniel@neongecko.com | |||
101 | Star/flag Script Upload: Submission #101 | Lock Script Upload: Submission #101 | Add notes to Script Upload: Submission #101 | Mon, 06/29/2020 - 17:32 | Anonymous | 50.47.129.133 | Language Test | Short example demonstrating changing language settings. | Script: Language test Language: en-us male Neon speak: "I am an American Male" Language: female en-au Neon speak: "Now I am Australian Female" Language: en-gb Neon speak: Now I am British in your preferred gender Exit |
Daniel McKnight | daniel@neongecko.com | |||
43 | Star/flag Script Upload: Submission #43 | Lock Script Upload: Submission #43 | Add notes to Script Upload: Submission #43 | Tue, 11/19/2019 - 14:00 | Anonymous | 73.109.151.117 | Good Morning | short good morning script | Script: "Good Morning" Neon speak: "Good Morning" "The time is" Execute: "What time is it" Neon speak: "The weather is" Execute: "what is the weather" Neon speak: "Thank you for starting me up. I look forward to talking with you" Exit |
Daniel | daniel@neongecko.com | |||
58 | Star/flag Script Upload: Submission #58 | Lock Script Upload: Submission #58 | Add notes to Script Upload: Submission #58 | Wed, 11/20/2019 - 11:46 | Anonymous | 73.109.151.117 | Table Scrape Demo | short table scrape demo | Script: "Table Scrape Demo" Variable: {options}: table_scrape(https://www.neongecko.com/demos) Variable: {chosen}: "" Neon speak: "Please tell me what kind of help video you would like to see. You can say things like random{options}" voice_input{chosen} Neon speak: "Okay" Execute: "av play closest{chosen,options}" Exit |
Daniel | daniel@neongecko.com | |||
106 | Star/flag Script Upload: Submission #106 | Lock Script Upload: Submission #106 | Add notes to Script Upload: Submission #106 | Tue, 12/14/2021 - 18:17 | Anonymous | 76.121.181.179 | Testy | Test | Script: "Testy" Variable: example Variable: discard Variable: whatisay Variable: try Neon Speak: "Teach me with an example." Neon Speak: "Tell me something like this: when I say,,, jump,,, you say,,, how high." voice_input(discard) voice_input(whatisay) voice_input(discard) voice_input(whatyousay) Neon Speak: "I think I got it." Neon Speak: "Go ahead, try me." voice_input(discard) Neon Speak: "{whatyousay}" LOOP Q1 Neon Speak: "Try me again, or say exit." voice_input(try) if {try} == "exit": Exit Neon Speak: "{whatyousay}" #Execute: "{question}" LOOP Q1 END Exit |
Elon Testing | elon@neon.ai | |||
45 | Star/flag Script Upload: Submission #45 | Lock Script Upload: Submission #45 | Add notes to Script Upload: Submission #45 | Tue, 11/19/2019 - 14:01 | Anonymous | 73.109.151.117 | Test Neon Demo | Test Neon Demo | Script: "Test Neon Demo" Variable: {test_set}: "" Neon speak: "Please select your test preference. You can choose from the following demos: 'personal' for profile setup" "'language' for translation," "'standard'," "'clapper or clap'," "'av or music'," "'picture or record'," "'caffeine'," "'email'," "'coupons'," "'summary'," "'clear'," "'alarm or timer'," "'wakewords or wake words'," "'dialog', or " "'control' group tests." voice_input{test_set} Case: {test_set} "personal" Execute: "neon my name is Joshua Test" "neon my name is John Jacob Jingleheimer Smith" "neon tell me my first name" "neon tell me my last name" "neon tell me my full name" "neon my email address is josh@neongecko.com" "language" Execute: "neon translate cherry to russian" "neon tell me my language setting "neon speak to me in english "neon speak to me in Russian and French "neon speak to me in english "standard" Execute: "neon say hello world Execute: "what is the time Execute: "what is today's date Execute: "what time is it in paris Execute: "what is the weather in seattle Execute: "neon spell microphone Execute: "what is 25 times 71 Execute: "what is the derivative of x squared Execute: "what is the share price for ibm Execute: "tell me a joke Execute: "tell me about linux Execute: "send me the source for that Execute: "where are you Execute: "who are you Execute: "my location is Seattle, WA Execute: "what is my ip address "clapper or clap" Execute: "Set up clapper process Execute: "Quit clapper process Execute: "Deny clapper process by default Execute: "Enable clapper process by default "av or music" Execute: "neon av play Relaxing jazz radio Execute: "neon av play Sleepy blues piano radio Execute: "pause Execute: "resume Execute: "stop Execute: "avplay american folk guitar radio Execute: "increase volume Execute: "decrease volume Execute: "mute volume Execute: "unmute volume Execute: "what is the volume Execute: "neon play the latest news "picture or record" Execute: "take a picture Execute: "show me my last picture Execute: "take a 3-second video Execute: "show me my last video Execute: "neon record 3 seconds Execute: "playback my last recording "caffeine" Execute: "how much caffeine is in sprite Execute: "how about j street coffee Execute: "how much caffeine is in a cherry coke "email" Execute: "email me my transcripts "coupons" Execute: "neon update my brands Execute: "i like google Execute: "tell me coupons for microsoft Execute: "i like neon Execute: "tell me my likes Execute: "i do not like alpha Execute: "tell me my dislikes Execute: "tell me my coupons Execute: "email me my coupons "summary" Execute: "neon talk to me in Russian Execute: "what time is it in Moscow Execute: "what is the weather in Moscow Execute: "tell me about electricity Execute: "what is 625 divided by 25 Execute: "tell me my likes Execute: "how many inches are in a mile Execute: "translate cherry to French Execute: "how much caffeine is in pepsi Execute: "talk to me in English Execute: "change units/measuring system "clear" Execute: "I want to clear my user brands Execute: "I want to clear my user likes Execute: "clear all of my user data "alarm or timer" Execute: "neon set an alarm for 6:30 pm Execute: "neon remind me to go home at 7 pm Execute: "neon set a 2 minute timer Execute: "neon how much time is left Execute: "neon clear all reminders Execute: "cancel all alarms Execute: "cancel all timers "wakewords or wake words" Execute: "require wakewords Execute: "begin skipping wake words Execute: "i am not alone Execute: "neon i am alone "dialog" Execute: "switch to primary dialogue mode Execute: "how are you? Execute: "switch to random dialogue mode Execute: "how are you? "control" Execute: "create a support ticket Execute: "i want [you] to exit Execute: " i want [you] to shutdown Execute: "what is my current software version Exit |
Daniel | daniel@neongecko.com | |||
99 | Star/flag Script Upload: Submission #99 | Lock Script Upload: Submission #99 | Add notes to Script Upload: Submission #99 | Wed, 06/24/2020 - 19:21 | Anonymous | 50.35.82.111 | Subroutine Test | Testing subroutines | # Subroutine Test Script: "Subroutine Test" Name Speak : Patty : "</speak>Version 20200624 18:33 Subroutine Test" ## Initialize Variable: {exitList} = “Patty exit”, “Patty cancel”, “never mind” Variable: {noList} = “no”, “not now”, "never mind", "nope", "n" Variable: {yesList} = "yes", "yup", "y" Variable: {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" Variable: {heyPattyList} = "hey Patty", "Patty are you there" Variable: {askPrompt} = "" Variable: {returnLabel} = "" Variable: {askInput} = "" returnLabel = InstallAssistant askPrompt = "Hi, I'm Patty. Say your name, or cancel." Goto : ASK @InstallAssistant userName = askInput Name Speak : Patty : "Hi {userName}. I am glad you chose to test subroutines." Name Speak : Patty : "Patty Exiting" exit ## @ASK if {askPrompt} != "" Name Speak : Patty : "{askPrompt}" voice_input {askInput} if {askInput} IN {exitList[*]}: Name Speak : Patty : "Say yes to confirm exiting Patty" voice_input{askInput} if {askInput} IN {yesList[*]}: Name Speak : Patty : "Patty, signing off" exit else goto : ASK if {askInput} IN {heyPattyList[*]}: Name Speak : Patty : "Patty, the Neon AI Patient Assistant, is listening" goto : ASK Name Speak : Patty : "About to return to {returnLabel}" Goto: {returnLabel} |
Daniel McKnight | daniel@neongecko.com | |||
105 | Star/flag Script Upload: Submission #105 | Lock Script Upload: Submission #105 | Add notes to Script Upload: Submission #105 | Tue, 12/14/2021 - 18:03 | Anonymous | 76.121.181.179 | Corny One | The simplest possible CBE - elaborate later. | Script: "Corny One" Variable: example Variable: discard Variable: whatisay Variable: try Neon Speak: "Teach me with an example." Neon Speak: "Tell me something like this: when I say,,, jump,,, you say,,, how high." voice_input(discard) voice_input(whatisay) voice_input(discard) voice_input(whatyousay) Neon Speak: "I think I got it." Neon Speak: "Go ahead, try me." voice_input(discard) Neon Speak: "{whatyousay}" LOOP Q1 Neon Speak: "Try me again, or say exit." voice_input(try) if {try} == "exit": Exit Neon Speak: "{whatyousay}" LOOP Q1 END Exit |
Too Embarassing | elon@neon.ai | |||
108 | Star/flag Script Upload: Submission #108 | Lock Script Upload: Submission #108 | Add notes to Script Upload: Submission #108 | Thu, 03/09/2023 - 07:54 | Anonymous | 146.70.117.227 | User Voice Recognition | This is a User Voice Recognition skill for Neon that includes the ability to recognize the user's voice and save the voice recognition data to the bootable USB drive for the Mark 2. The updated code saves the user's voice recognition file to a text file named after the user's name, and then Neon confirms that the file has been saved after the training is completed. Skill Description: This skill allows Neon AI to recognize and remember the voice of its user (up to four different voices) and save the voice recognition data to the bootable USB drive for the Mark II device. |
import speech_recognition as sr import os class UserVoiceRecognitionSkill: def __init__(self): self.user_voice_profiles = {} self.sample_rate = 44100 self.chunk_size = 1024 self.format = sr.paInt16 def train_voice_profile(self, n_session): r = sr.Recognizer() with sr.Microphone(sample_rate=self.sample_rate, chunk_size=self.chunk_size) as source: n_session.say("What is your name?") audio = r.listen(source) try: user_name = r.recognize_sphinx(audio) except sr.UnknownValueError: n_session.say("Sorry, I couldn't understand your name. Please try again.") return with sr.Microphone(sample_rate=self.sample_rate, chunk_size=self.chunk_size) as source: n_session.say(f"Hi {user_name}! Please say a few sentences so I can learn to recognize your voice.") audio = r.listen(source) try: voice_profile = r.recognize_sphinx(audio) if len(self.user_voice_profiles) < 4: self.user_voice_profiles[user_name] = voice_profile n_session.say("Thank you! I have learned to recognize your voice.") else: n_session.say("I can only recognize up to four different voices. Please remove a voice profile to add a new one.") except sr.UnknownValueError: n_session.say("Sorry, I couldn't understand what you said. Please try again.") # Save user's voice recognition file to Bootable USB Drive for the Mark II with open(f"{user_name}.txt", "w") as f: f.write(voice_profile) # Confirm the voice recognition file is saved n_session.say(f"I now know your voice, {user_name}, and have saved it to my files.") n_session.complete() def execute(self, n_session): if not self.user_voice_profiles: self.train_voice_profile(n_session) r = sr.Recognizer() with sr.Microphone(sample_rate=self.sample_rate, chunk_size=self.chunk_size) as source: audio = r.listen(source) try: user_input = r.recognize_sphinx(audio) for user_name, voice_profile in self.user_voice_profiles.items(): if voice_profile.lower() in user_input.lower(): n_session.say(f"Hi {user_name}! How can I help you today?") return n_session.say("Sorry, I don't recognize your voice. Would you like to train me again?") except sr.UnknownValueError: n_session.say("Sorry, I couldn't understand what you said.") |
Adam Obradovic | elric@riseup.net | |||
109 | Star/flag Script Upload: Submission #109 | Lock Script Upload: Submission #109 | Add notes to Script Upload: Submission #109 | Thu, 03/09/2023 - 07:58 | Anonymous | 146.70.117.227 | Re-name Neon | This skill allows the user to rename Neon and save the new name to Neon's AI's Bootable USB Drive for the Mark II. Activation Phrase: "Hey Neon, rename yourself." Sample Utterances: "Change your name to [new name]." "Can you call yourself [new name] from now on?" "I want to give you a new name. Let's call you [new name]." Skill Steps: Neon AI will prompt the user to provide a new name for it. The user will provide the new name. Neon AI will confirm the new name and ask the user if they want to save it. If the user confirms, Neon AI will save the new name to its Bootable USB Drive for the Mark II and reply with a confirmation message. If the user does not confirm, Neon AI will ask if the user wants to try again or end the session. |
import neon import os app = neon.Application() @app.handle(intent='rename_neon') def rename_neon_handler(request, responder): new_name = request.slot_value('new_name') # Confirm the new name and ask the user if they want to save it confirmation_message = f"Are you sure you want to change my name to {new_name}?" confirmation = responder.yes_or_no(confirmation_message) if confirmation == 'yes': # Save the new name to Neon's AI's Bootable USB Drive for the Mark II bootable_drive_path = "/boot" new_name_file_path = os.path.join(bootable_drive_path, "neon_name.txt") with open(new_name_file_path, "w") as f: f.write(new_name) responder.reply(f"My new name is now {new_name}.") else: # Ask the user if they want to try again or end the session retry_message = "Do you want to try again or end this session?" retry = responder.yes_or_no(retry_message) if retry == 'yes': responder.listen() else: responder.reply("Okay, see you next time!") app.run() |
Adam Obradovic | elric@riseup.net | |||
57 | Star/flag Script Upload: Submission #57 | Lock Script Upload: Submission #57 | Add notes to Script Upload: Submission #57 | Tue, 11/19/2019 - 19:03 | Anonymous | 73.109.151.117 | User Register Demo | user register demo | Script: "User Register Demo" Variable: {full_name}: "" Variable: {first_name}: "" Variable: {last_name}: "" Variable: {selection}: "" Neon speak: "Hello human. My full name is Neon Gecko Inc. Please call me Neon. Lets get started." LOOP get_name Neon speak: "Please tell me your full name or say exit" voice_input{full_name} Execute: "neon my name is {full_name}" Neon speak: "Thank you." Python: time.sleep(5) Execute: "neon tell me my first name" Execute: "neon tell me my last name" LOOP change_name Neon speak: "Is that correct? Say yes, no, change first name, change last name or exit" voice_input{selection} Case: {selection} "yes" Neon speak: "Okay" Execute: "exit" "no" Neon speak: "Sorry. Please say name to try again" LOOP get_name END "change first name" Neon speak: "Tell me your first name or say exit" voice_input{first_name} Execute: "neon my first name is {first_name}" Execute: "neon tell me my first name" LOOP change_name END "change last name" Neon speak: "Tell me your last name or say exit" voice_input{last_name} Execute: "neon my last name is {last_name}" Execute: "neon tell me my last name" LOOP change_name END Exit |
Daniel | dainel@neongecko.com | |||
47 | Star/flag Script Upload: Submission #47 | Lock Script Upload: Submission #47 | Add notes to Script Upload: Submission #47 | Tue, 11/19/2019 - 14:03 | Anonymous | 73.109.151.117 | Weather Loop Demo | Weather Loop Demo | Script: "Demo Weather Loop" Variable: {location}: "" Variable: {forecast}: "" LOOP WW Neon speak: "Say A or Athens for the weather in Athens" "Say B or Bombay for the weather in Bombay" "Say S or Seattle for the weather in Seattle" "Say exit to exit" voice_input{location} Case {location}: "A or Athens" Execute: "What is the weather in Athens" Neon speak: "about to repeat A" "B or Bombay" Execute: "What is the weather in Bombay" Neon speak: "say 10 day or 5 day forecast" voice_input{forecast} Case {forecast}: "10 day or 10" Execute: "What is the 10 day forecast for Bombay" "5 day or 5" Execute: "What is the 5 day forecast for Bombay" Neon speak: "about to repeat B" "S or Seattle" Execute: "What is the weather in Seattle" Neon speak: "about to repeat S" Neon speak: "End of loop WW." LOOP WW END Neon speak: "I'm done now." Exit |
Daniel | daniel@neongecko.com | |||
51 | Star/flag Script Upload: Submission #51 | Lock Script Upload: Submission #51 | Add notes to Script Upload: Submission #51 | Tue, 11/19/2019 - 15:24 | Anonymous | 73.109.151.117 | Website Navigator | website navigator | Script: "Website Navigator" # Synonym: "demo website navigator" # Synonym: "website navigator demo" # Language: "English American Female" Variable: {options}: table_scrape(https://neongecko.com) # Variable: {options}: demos: https://www.neongecko.com/demos , videos: https://www.neongecko.com/demos , nano: https://www.neongecko.com/NeonNanoforWebsiteDesigners , audible: https://www.neongecko.com/NeonAudibleAiTech , tools: https://www.neongecko.com/NeonTechnology , websites: https://www.neongecko.com/neonnano , phones: https://www.neongecko.com/NeonAndroid , devices: https://www.neongecko.com/NeonAIforHome Variable: {chosen}: "" # Neon speak: "Options: {options}" 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 | daniel@neongecko.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 | |||
48 | Star/flag Script Upload: Submission #48 | Lock Script Upload: Submission #48 | Add notes to Script Upload: Submission #48 | Tue, 11/19/2019 - 14:04 | Anonymous | 73.109.151.117 | Welcome Neon Demo | Welcome Neon Demo | Script: "Welcome Neon Demo" #Language: "English British Male" Language: "en-gb" Variable: {full_name}: "" Variable: {first_name}: "" Variable: {last_name}: "" Variable: {response}: "" Neon speak: "Hello human. My full name is Neon Gecko Inc; call me Neon. Lets get started." Execute: "what time is it" Execute: "what is the weather" Neon speak: "Please say your first and last name or say exit, or you can type your response" voice_input{full_name} Execute: "my name is {full_name}" Neon speak: "Thank you." #Execute: "tell me my full name" if profile{user.first_name}: Execute: "tell me my first name" if profile{user.last_name}: Execute: "tell me my last name" Neon speak: "Is that correct? Say yes, change first name, change last name or exit" voice_input{response} Case: {response} "yes" Exit "change first name" Neon speak: "Tell me your first name or say exit" voice_input{first_name} Execute: "neon my first name is {first_name}" Execute: "neon tell me my first name" "change last name" Neon speak: "Tell me your last name or say exit" voice_input{last_name} Execute: "neon my last name is {last_name}" Execute: "neon tell me my last name" Exit |
Daniel | daniel@neongecko.com |