
Jarvis: an Amazon Echo clone in your browser - monteslu
https://iceddev.com/blog/jarvis-an-amazon-echo-clone-in-your-browser/
======
IshKebab
Yeah it's a clone of the trivial parts of the Echo, but not the difficult
parts that are necessary to make it great, specifically:

* Beamforming microphone array (this is a real clone: [http://www.xmos.com/products/microphones](http://www.xmos.com/products/microphones) )

* Wake-word / hot-word detection ("Ok Google", "Alexa", etc.)

* Intent recognition / NLU

~~~
kayoone
Even if true, not sure why you wrote such a snarky comment. This obviously is
a side project of the author and just serves as an inspiration, it's not like
he is asking money for it or anything.

~~~
AnkhMorporkian
I think it's probably because the headline called it a clone, which sort of
implies 1:1 feature parity. It's neat, but it's not a clone.

~~~
dumbguy
Pedantic stupidity.

~~~
MawNicker
No. Wow. Clarification is not Pedantry.

------
blhack
Hey, it's monteslu!

If you are unaware, OP runs the best coworking meetup(s) in Phoenix. If you're
a Phoenix dev and not coming to coffee and code, then you're missing out!

Louis/Alyson (since Jarvis was her project, I think): welcome to the #1 on HN
club ;-)

/me snark

~~~
tracker1
I have to agree, it's nice that Phoenix has a pretty active node community...
though it feels like everyone is too busy working to hit a lot of the
meetings... I'd love to catch a coffee and code meetup, but I work too far
away, and am in the office for morning standups etc, around that time.

Just the same, always get ideas from the Phoenix/AZ node user group
meetings... it's also nice to see when someone demos an idea you had... such
as routing redux at the server via websockets.

~~~
warbrett
You should try and make it out at least once. I loved it when I used to live
there and definitely regret not going more since moving.

------
tomc1985
What is the current state of offline, non-cloud-connected speech-to-text?

My phone has a voice processing chip, and it recognizes my speech pretty well,
but I still can't figure out if it's completely disconnected from the cloud
(despite intentionally not agreeing to the privacy policy)

His demo is just a shim for Amazon's API...

~~~
travem
> My phone has a voice processing chip, and it recognizes my speech pretty
> well, but I still can't figure out if it's completely disconnected from the
> cloud

Does it work when you are in airplane mode?

~~~
tomc1985
It does.

There's an offline language pack installed, though.

------
zyxley
I'm curious, anybody know if there's a simple way to wire this up to Home
Assistant ([https://home-assistant.io](https://home-assistant.io))? My first
thought was MQTT, but for some reason PageNodes doesn't have any MQTT output
support, which is kind of odd for something claiming to be an IoT connectivity
platform.

~~~
monteslu
Pure MQTT is done over TCP which browsers don't support without an extension.
I'm trying to keep this purely web based as long as I can :)

Some MQTT servers tunnel messages via websockets, sever-sent-events, and REST
calls which are supported by pagenodes.

~~~
detaro
Am I interpreting it right that Pagenodes basically aims to be node-red, but
in the browser?

~~~
monteslu
The goals are similar. PageNodes does its best to leverage newer browser
capabilites. WebRTC, WebUSB, SeviceWorker, offline support, etc.

~~~
detaro
Ok, so less "prototype in the browser, then offload to a server once it
works", but more for local "app" type things? Interesting idea, has some
limitations but also opens up tons of interactions that are harder for a
server-based solution (webcam, ...)

~~~
samrocksc
Bingo! It's always evolving too. We do use a lot of experimental flags from
the browser, this helps work with up and coming features as well for learning
about new APIs very easily.

------
verst
Does anyone know how the Google TTS voices in the example are exposed by
Google? Is there an API / service for these? I haven't been able to find it.

I was able to use them on PageNodes via the "espeak" output just fine, but
would like to use them directly in my own apps.

~~~
warbrett
This might help you:
[https://github.com/monteslu/pagenodes/blob/7388ce58726836cf6...](https://github.com/monteslu/pagenodes/blob/7388ce58726836cf663499a4dd2f39ca2272c5fa/src/editor/nodeDefs/core/espeak.js#L8)

~~~
verst
Super helpful. Thanks!

In Chrome the following works as a basic sample:

    
    
      speech = new SpeechSynthesisUtterance(String("生日快乐"))
      voice = speechSynthesis.getVoices()[80]  // use Google Chinese Voice
      speech.voice = voice
      speechSynthesis.speak(speech)

------
Jaruzel
This article is a bit out of my comfort zone (I'm not a web app developer),
however it does link to a GitHub repository by Amazon, that I was unaware of,
which shows how to configure a Raspberry Pi as an Echo clone in quite a lot of
detail. This is something I _can_ do and have bookmarked it for a rainy day.
So for that alone, thanks for the submission!

~~~
squeaky-clean
Here's the previous HN discussion on that [0]. Keep in mind that the DIY Echo
project doesn't support "always-listening" with a wake word, but instead you
have to press a button to activate the voice-control. Not really that
inconvenient though, and some people do prefer a button to something always
listening.

[0]
[https://news.ycombinator.com/item?id=11362460](https://news.ycombinator.com/item?id=11362460)

~~~
Jaruzel
Thanks!

------
known
Funny ad

------
rickcarlino
Hi Louie.

\- Rick

------
illumin8
Unfortunately, I think my first chatbot that I wrote about a year ago, and
named Jarvis (based on Hubot by Github) will be cloned by a million of these
projects...

I admit, it's not the most creative name; I just thought it would be cool a
year ago to feel like Iron Man as I asked Jarvis to deploy my application to
production...

~~~
blhack
Are you trying to imply that this project is copying _your_ name...?

