Share your repls and programming experiences

← Back to all posts
Omni - A Virtual Assistant
cloud9c (106)

Omni - Voice Assistant

Omni is an online virtual assistant that uses speech recognition and speech synthesis. It can answer questions, using over 100 sources (Wikipedia, IMBd, The Free Dictionary, etc). Features include:

  • Getting the weather
  • Image Searching
  • Playing Music

For people who would rather type, the user's chatbox is editable (pressing enter would cause Omni to start processing).


Below is a full list of commands:

CommandExample
*Answering Questions"What is DuckDuckGo", "Who is Larry Page" "What are the Simpsons Characters
SoundCloud"Play Rock on SoundCloud", "Play Alone by Marshmello on SoundCloud"
YouTube"Play Despacito", "Play Ice Bucket Challenge Videos"
Current Weather"Is it snowing", "What is the Temperature"
Location-Based Weather"What is the weather in London", "Weather of China"
Image Searching (Flickr)"Show me an image of a cat", "Picture of a Mountain Range"
Small Talk"How are you", "What's your name"
Timer"Set a timer for one hour and twenty minutes", "Make a timer for one minute and two seconds"
Time"What's the time"
Date"What day is it today", "What's the date"

*CORS (Cross-Origin Resource Sharing) blocks javascript from getting a few answers. The solution is to use server-side languages like PHP, but it requires owning a server. Found a workaround!


Settings

SettingDescription
Hey OmniVoice-Activation (like Hey Siri). Work in Progress
User Language and DialectChanges the Speech Recognition language/dialect. Only English is supported so far
Omni VoiceChanges Omni's voice. It only speaks in English so far, so changing the language would make it have an accent (which is fun).
Omni VolumeChanges the Omni's volume (max is the default)
Omni RateChanges the Omni's rate of speech
Omni PitchChanges the Omni's pitch (middle is the default)

How does Omni find its answers?

Results that don't fit into any function are split into 4 categories:

  • A (article),
  • C (categories)
  • D (disambiguation)
  • E (exclusive)

Article answers give an abstract/summary of the answer, using sources such as Wikipedia and IMBd. Disambiguation answers mean that the result is not specific enough (more than one possible answer). For example, the word "Apple" could mean the company or the fruit. For this reason, the reply is a bullet list of more specific answers. Category answers are from results such as "Simpsons Characters", where the answer is a list of characters in The Simpsons. Exclusive answers mean it is something with a definite answer, rather than defining something. For example, 2*2 or the size of Earth.

Example (GIF)

Important: You have to open the repl in a new tab

This is because the functions (keyboard & microphone) won't work.

Commentshotnewtop
davwheat (24)

Asks Omni: 'What is the capital of the UK?'
Omni replies: 'Capital UK is a radio station broadcasting through the digital platform across the United Kingdom and is owned by Global Radio.'

cloud9c (106)

@davwheat This happens because it removes stop words such as "what" "is" "the" "of". The end result is just "Capital UK".

HarperframeInc (230)

Me: What is 1 + 1?

Omni: [Object object]
Me: Okay Puts answer on homework

Solve this bug, please.

cloud9c (106)

@HarperframeInc sorry, I didn't fix it for keyboard users... try it now

joshwood (107)

This is really impressive. How did you do the voice recognition?

cloud9c (106)

@joshwood There's a really good documentation by Mozilla on Web Speech API

1Ethan (7)

This is really exceptional. Although some inputs aren't accepted, overall this is great and performs well. I also got the voice input working. Nicely done, @cloud9c !

madmonster (7)

superbly amazing.

cloud9c (106)

@madmonster Thanks. Too bad I didn't have enough votes :(

KiKUP (39)

Amazing, but once I turn on voice recognition I can't turn it off.

cloud9c (106)

@KiKUP That's odd. I can't replicate that problem.

SharanKiller (1)

Why is she just alive

cloud9c (106)

@SharanKiller Make sure to hit run and then open in a new tab

TacoCode (4)

Also, if you type "How are you?" instead of "How are you", then Omni returns an error. The bot (He? She? It?) doesn't like question marks?

TacoCode (4)

Hey mate, found a bug: If you type "what is 1+q" then Omni returns "[object Object]"

AydenB (38)

doesnt work anymore

cloud9c (106)

@AydenB no it works, just that I didn't activate it in a long time. fork it and run it yourself

madmonster (7)

Astonishing powerful. Well done! :)

NachoMan (9)

Holy CRAP! This is awesome! You should try to connect it to spotify somehow.

cloud9c (106)

@NachoMan Thanks. I tried Spotify but it requires me to reauthenticate every hour

amasad (1258)

Very cool! This is one of my favorite from the challenge