Filter submissions
204 submissions
# Starred Locked Notes Created User IP address Script Title Script Description Sort ascending Script Name Email Address Organization Name Organization URL Operations
83 Star/flag Script Upload: Submission #83 Lock Script Upload: Submission #83 Add notes to Script Upload: Submission #83 Tue, 03/17/2020 - 13:09 imedqo 73.109.151.117 xyz xyz script Script: "xyz"
Neon speak: "Hello"
Neon speak: "Thank you for running the xyz script. Would you like to hear a joke"
Execute: "tell me a joke"
Neon speak: "Here is the current time"
Execute: "what is the time"
Exit
josh josh@neongecko.com
67 Star/flag Script Upload: Submission #67 Lock Script Upload: Submission #67 Add notes to Script Upload: Submission #67 Wed, 12/04/2019 - 15:28 Anonymous 73.109.151.117 Weather Time Population Goto WTP script with added Goto examples to go to line and go to label Script: "Weather Time Population Goto"
Language: "en-au female"
Synonym: "Demo WTP Goto"
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"
Goto: athens_weather
"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"
@athens_weather
Execute: "What is the weather in Athens"
Goto: 50
"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
107 Star/flag Script Upload: Submission #107 Lock Script Upload: Submission #107 Add notes to Script Upload: Submission #107 Mon, 12/26/2022 - 19:58 Anonymous 111.196.190.249 welcomezhh welcomezhh in Chinese Script: "welcomezhh"
Language: zh-cn, female
Variable: name
Variable: like
Variable: location
Variable: question
Neon Speak: "你好, 我名字是 Neon."
Neon Speak: "你叫什么名字?"
voice_input(name)
Neon Speak: "很高兴见到你 {name}"

Neon Speak: "你在哪个城市?"
voice_input(location)
Execute: " {location} 现在什么时间?"
Execute: " {location} 现在什么天气?"
LOOP Q1
Neon Speak: "请问我问题,或说退出或 exit"
if {question} == "exit":
Exit
if {question} == "退出":
Exit
voice_input(question)
#Execute: "{question}"
LOOP Q1 END
Exit
andy zhou ablozhou@gmail.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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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