The Submissions page displays a customizable overview of a webform node's submissions. Submissions can be reviewed, updated, flagged and annotated. Watch video
213 submissions
# | Starred | Locked | Notes | Created | User | IP address | Script Title | Script Description Sort descending | Script | Name | Email Address | Organization Name | Organization URL | Operations |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
54 | Star/flag Script Upload: Submission #54 | Lock Script Upload: Submission #54 | Add notes to Script Upload: Submission #54 | Tue, 11/19/2019 - 16:04 | Anonymous | 73.109.151.117 | Variable Demo | Demo script that can tell you about weather, time, or pupulation of a city. | Script: "Variable Demo" Language: "en-au female" Variable: {location}: "" Variable: {info_type}: time, weather, population Neon speak: "Say select_one{info_type} for world info" voice_input{info_type} Neon speak: "What location would you like?" voice_input{location} Execute: "What is the {info_type} in {location}" Exit |
Daniel | daniel@neongecko.com | |||
53 | Star/flag Script Upload: Submission #53 | Lock Script Upload: Submission #53 | Add notes to Script Upload: Submission #53 | Tue, 11/19/2019 - 15:46 | Anonymous | 73.109.151.117 | Convert Demo | Demo script that converts units of measure. | Script: "Convert Demo" Language: "en-us female" Variable: {quantity}: "" Variable: {from_units}: "" Variable: {to_units}: "" Variable: {selected}: "" Variable: {conversions}: weight, volume, length, time, currency Neon speak: "Say convert select_one{conversions} to convert or exit when done" voice_input{selected,conversions} Neon speak: "How many units would you like to convert?" voice_input{quantity} Neon speak: "What are the units to convert from?" voice_input{from_units} Neon speak: "What are the units to convert to?" voice_input{to_units} Execute: "how many {to_units} are in {quantity} {from_units}" Exit |
Daniel McKnight | daniel@neongecko.com | |||
55 | Star/flag Script Upload: Submission #55 | Lock Script Upload: Submission #55 | Add notes to Script Upload: Submission #55 | Tue, 11/19/2019 - 18:29 | Anonymous | 73.109.151.117 | WTP Demo | Demo script with examples of nested cases and voice_input. | Script: "WTP Demo" Language: "en-au female" Synonym: "Demo WTP" Synonym: "WTP Demo" Variable: {response}: "" Neon speak: "Say 1 or World Times for world times" "Say 2 or World Weather for world weather" "Say 3 or World Populations for world populations" voice_input{response} Case {response}: "1 or World Times" Neon speak: "Say A or Athens for Athens's time" "Say B or Bombay for Bombay's time" "Say S or Seattle for Seattle's time" voice_input{response} Case {response}: "A or Athens" Execute: "What time is it in Athens" "B or Bombay" Execute: "What time is it in Bombay" "S or Seattle" Execute: "What time is it in Seattle" "2 or World Weather" 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" voice_input{response} Case {response}: "A or Athens" Execute: "What is the weather in Athens" "B or Bombay" Execute: "What is the weather in Bombay" "S or Seattle" Execute: "What is the weather in Seattle" "3 or World Populations" Neon speak: "Say A or Athens for Athens's population" "Say B or Bombay for Bombay's population" "Say S or Seattle for Seattle's population" voice_input{response} Case {response}: "A or Athens" Execute: "What is the population of Athens" "B or Bombay" Execute: "What is the population of Bombay" "S or Seattle" Execute: "What is the population of Seattle" Exit |
Daniel | daniel@neongecko.com | |||
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 | |||
110 | Star/flag Script Upload: Submission #110 | Lock Script Upload: Submission #110 | Add notes to Script Upload: Submission #110 | Thu, 03/09/2023 - 08:34 | Anonymous | 146.70.117.227 | YouTube Music Player | Description: This skill allows users to search for and play music from YouTube while complying with copyright laws. The skill will only play music that is licensed for use or falls under fair use guidelines. Activation Phrase: "Hey Neon, play music from YouTube." Sample Utterances: "Play [song name] by [artist name]." "Find [song name] on YouTube." "Play the top songs from [artist name] on YouTube." Skill Steps: Neon AI will prompt the user for the name of the song and/or artist they want to listen to. The skill will use the YouTube API to search for the requested music. If the requested music is licensed for use or falls under fair use guidelines, Neon AI will play the music for the user. If the requested music is not licensed for use or does not fall under fair use guidelines, Neon AI will inform the user that the requested music cannot be played due to copyright restrictions. The user can then request a different song or artist to listen to, or end the session. Legal Disclaimer: The YouTube Music Player skill is intended for personal, non-commercial use only. The user is responsible for ensuring that any music played through this skill is licensed for use or falls under fair use guidelines. Neon AI is not responsible for any copyright infringement that may result from the use of this skill. By using this skill, the user agrees to comply with all applicable copyright laws and regulations. |
import neon from neon_util import get_youtube_video app = neon.Application() @app.handle(intent='play_music') def play_music_handler(request, responder): song_name = request.slot_value('song_name') artist_name = request.slot_value('artist_name') # Use YouTube API to search for the requested music video_id = get_youtube_video(song_name, artist_name) if video_id is not None: # Play the music if it is licensed for use or falls under fair use guidelines responder.play_media('https://www.youtube.com/watch?v=' + video_id) else: # Inform the user that the requested music cannot be played due to copyright restrictions responder.reply('Sorry, the requested music cannot be played due to copyright restrictions.') app.run() |
Adam Obradovic | elric@riseup.net | |||
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 | |||
44 | Star/flag Script Upload: Submission #44 | Lock Script Upload: Submission #44 | Add notes to Script Upload: Submission #44 | Tue, 11/19/2019 - 14:00 | Anonymous | 73.109.151.117 | Hello World Input | Hello World Input | Script: "Hello World Input" Variable: {input}: "" Neon speak: "Hello World. Say anything or exit" voice_input{input} Neon speak: "you said {input}" Exit |
Daniel | daniel@neongecko.com | |||
80 | Star/flag Script Upload: Submission #80 | Lock Script Upload: Submission #80 | Add notes to Script Upload: Submission #80 | Mon, 02/03/2020 - 18:00 | imedqo | 73.109.151.117 | Test Eliza | Name speak Eliza test | Script: Test Eliza Language: "en-GB female" Variable: input = "" Variable: split_input # Static Strings Variable: initial = It's nice to meet you. How are you today? Variable: final = Goodbye. Thank you for talking to me. Variable: quit = bye, goodbye, quit # Substitutions Variable: input_sub = dont don't, cant can't, wont won't, recollect remember, dreamt dreamed, dreams dream, maybe perhaps, when what, certainly yes, machine computer, computers computer, were was, "you're" "you are", "i'm" "i am", same alike # Synonyms Variable: belief = belief, feel, think, believe, wish Variable: family = family, mother, mom, father, dad, sister, brother, wife, children, child Variable: desire = desire, want, need, wish Variable: sad = sad, unhappy, depressed, sick Variable: happy = happy, elated, glad, better Variable: cannot = cannot, can't Variable: everyone = everyone, everybody, nobody, noone Variable: people = people, they, others, adults, children, teenagers Variable: be = be, am, is, are, was Variable: sorry = sorry, i apologize Variable: language = deutsch, francais, italiano, espanol # Input to response matching Variable: key_sub = "{sorry_0} [sorry] for {Vsorry}" "Please don't apologize about {Vsorry}" "No need to apologize about {Vsorry[*]}" "I've told you that apologies are not required." "Vsorry's are {Vsorry[*]}", "i remember {Viremember}" "Do you often think of {Viremember}?" "Does thinking of {Viremember} bring anything else to mind?" "What else do you recollect?" "Why do you recollect {Viremember} just now?" "What in the present situation reminds you of {Viremember}?" "Viremember's are {Viremember[*]}", "do you remember {Vyouremember}" "Did you think I would forget {Vyouremember}?" "Why do you think I should recall {Vyouremember} now?" "What about {Vyouremember}? "You mentioned {Vyouremember}?" "Vyouremember's are {Vyouremember[*]}", "if {Vif}" "Do you think its likely that {Vif}?" "Do you wish that {Vif}?" "What do you know about {Vif}?" "Really, if {Vif}?" "Vif's are {Vif[*]}", "{Vdreamed} dreamed {Vdreamed2}" "Really, {Vdreamed2}?" "Have you ever fantasized {Vdreamed2} while you were awake?" "Have you ever dreamed {Vdreamed2} before?" "Vdreamed2's are {Vdreamed2[*]}", "dream" "What does that dream suggest to you?" "Do you dream often?" "What persons appear in your dreams? "Do you believe that dreams have something to do with your problems?", "perhaps" "You don't seem quite certain." "Why the uncertain tone?" "Can't you be more positive?" "You aren't sure?" "Don't you know?", "name" "I am not interested in names." "I've told you before, I don't care about names -- please continue.", "{Vlanguage}[language]{Vlanguage2}" "I speak only English" "I do not speak {[language]}", "hello" "How do you do. Please state your problem." "Hi. What seems to be your problem?", "how are you" "We were discussing you -- not me.", "are you {Vareyou}" "Why are you interested in whether I am {Vareyou} or not?" "Would you prefer if I weren't {Vareyou}?" "Perhaps I am {Vareyou} in your fantasies." "Do you sometimes think I am {Vareyou}?" "Vareyou's are {Vareyou[*]}", "computer" "Do computers worry you?" "Why do you mention computers?" "What do you think machines have to do with your problem?" "Don't you think computers can help people?" "What about machines worries you?" "What do you think about machines?", "am i {Vami}" "Do you believe you are {Vami}?" "Would you want to be {Vami}?" "Do you wish I would tell you you are {Vami}?" "What would it mean if you were {Vami}?" "Vami's are {Vami[*]}", "[people] are {Vpeople}" "Did you think they might not be {Vpeople}?" "Would you like it if they were not {Vpeople}?" "What if they were not {Vpeople}?" "Possibly they are {Vpeople}." "Vpeople's are {Vpeople[*]}", "was i {Vwasi}" "What if you were {Vwasi}?" "Do you think you were {Vwasi}?" "Were you {Vwasi}?" "What would it mean if you were {Vwasi}?" "What does {Vwasi} suggest to you ?" "Vwasi's are {Vwasi[*]}", "i was {Viwas}" "Were you really?" "Why do you tell me you were {Viwas} now?" "Perhaps I already know you were {Viwas}." "Viwas's are {Viwas[*]}", "was you {Vwereyou}" "Would you like to believe I was {Vwereyou}?" "What suggests that I was {Vwereyou}?" "What do you think?" "Perhaps I was {Vwereyou}." "What if I had been {Vwereyou}?" "Vwereyou's are {Vwereyou[*]}", "i am {Vsad} [sad]" "I am sorry to hear that you are {[sad]}." "Do you think that coming here will help you not to be {[sad]}?" "I'm sure it's not pleasant to be {[sad]}." "Can you explain what made you {[sad]}?", "i am {Vhappy} [happy]" "How have I helped you to be {[happy]}?" "Has your treatment made you {[happy]}?" "What makes you {[happy]} just now?" "Can you explain why you are suddenly {[happy]}?", "i [belief] {Vbelief1} i {Vbelief2}" "Do you really think so?" "But you are not sure you {Vbelief2}." "Do you really doubt you {Vbelief2}?" "Vbelief2's are {Vbelief2[*]}", "i am {Viam}" "Is it because you are {Viam} that you came to me?" "How long have you been {Viam}?" "Do you believe it is normal to be {Viam}?" "Do you enjoy being {Viam}?" "Viam's are {Viam[*]}", "i [cannot] {Vicannot}" "Why do you think that you can't {Vicannot}?" "Have you tried?" "Perhaps you could {Vicannot} now." "Do you really want to be able to {Vicannot}?" "Vicannot's are {Vicannot[*]}", "i don't {Vidont}" "Don't you really {Vidont}?" "Why don't you {Vidont}?" "Do you wish to be able to {Vidont}?" "Does that trouble you?" "Vidont's are {Vidont[*]}", "do i feel {Vdoifeel}" "Tell me more about such feelings." "Do you often feel {Vdoifeel}?" "Do you enjoy feeling {Vdoifeel}?" "Of what does feeling {Vdoifeel} remind you?" "Vdoifeel's are {Vdoifeel[*]}", "i {Viyou} you" "Perhaps in your fantasies we {Viyou} each other." "Do you wish to {Viyou} me?" "You seem to need to {Viyou} me." "Do you {Viyou} anyone else?" "Viyou's are {Viyou[*]}", "you are {Vyouare}" "What makes you think I am {Vyouare}?" "Does it please you to believe I am {Vyouare}?" "Do you sometimes wish you were {Vyouare}?" "Perhaps you would like to be {Vyouare}." "Vyouare's are {Vyouare[*]}", "you {Vyoume} me" "Why do you think I {Vyoume} you?" "You like to think I {Vyoume} you, don't you ?" "What makes you think I {Vyoume} you?" "Really, I {Vyoume} you?" "Do you wish to believe I {Vyoume} you?" "Suppose I did {Vyoume} you -- what would that mean?" "Does someone else believe I {Vyoume} you?" "Vyoume's are {Vyoume[*]}", "yes" "You seem to be quite positive." "You are sure." "I see." "I understand.", "no" "Are you saying no just to be negative?" "You are being a bit negative." "Why not?" "Why 'no'?", "my {Vmyfamily1} [family] {Vmyfamily2}" "Tell me more about your {[family]}." "Who else in your family {Vmyfamily2}?" "Your {[family]}?" "What else comes to mind when you think of your {[family]}?" "Vmyfamily2's are {Vmyfamily2[*]}", "i [desire] {Vdesire}" "What would it mean to you if you got {Vdesire}?" "Why do you want {Vdesire}?" "Suppose you got {Vdesire} soon?" "What if you never got {Vdesire}?" "What would getting {Vdesire} mean to you?" "What does wanting {Vdesire} have to do with this discussion?" "Vdesire's are {Vdesire[*]}", "what" "Why do you ask?" "Does that question interest you?" "What is it you really wanted to know?" "Are such questions much on your mind?" "What answer would please you most?" "What do you think?" "What comes to mind when you ask that?" "Have you asked such questions before?" "Have you asked anyone else?", "because" "Is that the real reason?" "Don't any other reasons come to mind?" "Does that reason seem to explain anything else?" "What other reasons might there be?", "why don't you {Vwhydontyou}" "Do you believe I don't {Vwhydontyou}?" "Perhaps I will {Vwhydontyou} in good time." "Should you {Vwhydontyou} yourself?" "You want me to {Vwhydontyou}?" "Vwhydontyou's are {Vwhydontyou[*]}", "why can't i {Vwhycanti}" "Do you think you should be able to {Vwhycanti}?" "Do you want to be able to {Vwhycanti}?" "Do you believe this will help you to {Vwhycanti}?" "Have you any idea why you can't {Vwhycanti}?" "Vwhycanti's are {Vwhycanti[*]}", "why" "Why do you ask?" "Does that question interest you?" "What is it you really wanted to know?" "Are such questions much on your mind?" "What answer would please you most?" "What do you think?" "What comes to mind when you ask that?" "Have you asked such questions before?" "Have you asked anyone else?", "[everyone] {Veveryone}" "Really, {[everyone]}?" "Surely not {[everyone]} {Veveryone}." "Can you think of anyone in particular ?" "Who, for example?" "Are you thinking of a very special person?" "Who, may I ask?" "Someone special perhaps?" "You have a particular person in mind, don't you?" "Who do you think you're talking about?" "Veveryone's are {Veveryone[*]}", "always" "Can you think of a specific example?" "When?" "What incident are you thinking of?" "Really, always?", "alike" "In what way?" "What resemblance do you see?" "What does that similarity suggest to you?" "What other connections do you see?" "What do you suppose that resemblance means?" "What is the connection, do you suppose?" "Could here really be some connection?" "How?", "[be] like" "In what way?" "What resemblance do you see?" "What does that similarity suggest to you?" "What other connections do you see?" "What do you suppose that resemblance means?" "What is the connection, do you suppose?" "Could here really be some connection?" "How?", "can you {Vcanyou}" "You believe I can {Vcanyou} don't you?" "You want me to be able to {Vcanyou}." "Perhaps you would like to be able to {Vcanyou} yourself." "Vcanyou's are {Vcanyou[*]}", "can i {Vcani}" "Whether or not you can {Vcani} depends on you more than me." "Do you want to be able to {Vcani}?" "Perhaps you don't want to {Vcani}." "Vcani's are {Vcani[*]}", "your {Vyour}" "Why are you concerned over my {Vyour}?" "What about your own {Vyour}?" "Are you worried about someone else's {Vyour}?" "Really, my {Vyour}?" "Vyour's are {Vyour[*]}", "my {Vmy}" "Your {Vmy}?" "Why do you say your {Vmy}?" "Does that suggest anything else which belongs to you?" "Is it important that your {Vmy}?" "Vmy's are {Vmy[*]}", "you {Vyou}" "We are discussing you -- not me." "Oh. I {Vyou}?" "You're not really talking about me -- are you?" "What are your feelings now?" "Vyou's are {Vyou[*]}", "i {Vi}" "You say {Vi}?" "Can you elaborate on that?" "Do you say {Vi} for some special reason?" "That's quite interesting." "Vi's are {Vi[*]}", "thank you" "you are welcome" "don't mention it" "no problem", "[quit]" "{final}", "{Vx}" "I'm not sure I understand you fully." "Please go on." " What do you mean by {Vx}?" "Do you feel strongly about discussing such things?" "Vx's are {Vx[*]}" Name speak: Eliza: {initial} LOOP pre voice_input {input} Set: user_speech = {input} sub_values{input, input_sub} sub_key{input, key_sub} Name speak: Eliza: {input} if {user_speech} in {quit}: Exit LOOP pre END Neon speak: {final} Exit |
Daniel McKnight | daniel@neongecko.com | |||
73 | Star/flag Script Upload: Submission #73 | Lock Script Upload: Submission #73 | Add notes to Script Upload: Submission #73 | Fri, 01/03/2020 - 18:13 | imedqo | 73.109.151.117 | Apple Navigator | Navigate the apple.com website with voice | Script: "Apple Navigator" Variable: {options}: table_scrape(https://apple.com) Variable: {chosen}: "" Neon speak: "Please tell me what apple.com 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 Apple web page you'd like to see or say quit." LOOP WN END Exit |
Daniel McKnight | daniel@neongecko.com | |||
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 |