Share your repls and programming experiences

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

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.

davwheat (23)

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 (122)

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

HarperframeInc (455)

Me: What is 1 + 1?

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

Solve this bug, please.

joshwood (117)

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

cloud9c (122)

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

amasad (3543)

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

1Ethan (8)

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 (34)

superbly amazing.

KiKUP (47)

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

SharanKiller (1)

Why is she just alive

oddanim8s (2)

an error is HEREEEEEEEE

NicolasLeduc (0)

it just says thinking...

cloud9c (122)

@NicolasLeduc It's been 2 years so don't expect anything to work

ByBolawa (0)

hey dude the soundclound and youtube features aren't working on this

duck132912 (214)

How does it get the weather because I am also trying to build a virtual assistant but it does not have weather yet

Rileygamer21 (32)

its not working for me

Rileygamer21 (32)

@cloud9c Its still not working even if I type something in

Rileygamer21 (32)

@cloud9c I could try to download it and see if it works like that.

AydenB (41)

doesnt work anymore

madmonster (34)

Astonishing powerful. Well done! :)

SolveForX2 (12)

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