Omni - A Virtual Assistant
cloud9c (111)

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:

*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!


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.

You are viewing a single comment. View All
cloud9c (111)

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