Hacker News new | past | comments | ask | show | jobs | submit login
Stephanie, open-source virtual assistant built to control and automate tasks (slapbot.github.io)
77 points by PleaseHelpMe on June 11, 2017 | hide | past | favorite | 68 comments



For anyone else on Linux that gets the error:

Default Audio Player for mp3 files is not set up, like vlc or something.

when you try to run it, note that Stephanie depends on the python module os.startfile[0] which apparently is a Windows only thing that works like xdg-open. I'm not a python expert but here's what I did: the offending file is stephanie-va-master/Stephanie/TextManager/speaker.py. If you edit line 15 which is:

os.startfile(self.speak_result)

and change it to:

os.system("xdg-open " + self.speak_result)

everything works. Somebody else more knowledgeable can probably suggest something better.

[0]https://docs.python.org/3.6/library/os.html#os.startfile

Edit: Fixed! They fixed it by wrapping that line in an if statement checking the output of sys.platform. Very responsive dev.


The website is a way better source than the Github repo: https://slapbot.github.io/


It looks great. Started watching the pitch video...somebody get that guy a decent microphone!!


I came here to 2nd this!


OK, we changed to that from https://github.com/slapbot/stephanie-va.


There are lots of projects like this today; but I think the most important and useful thing (profoundly missing) is an open source state-of-art offline (or maybe hybrid) speech recognition package. Until that happens, almost nothing has changed.


This is exactly the kind of IoT I was hoping for. Not the bastardized corporate data-mining kind.

Hope this project keeps growing!


It uses speech to text from Google/MS/Facebook/IBM/SoundCloud with your API key

https://slapbot.github.io/documentation/configuration/


I wonder how easy it'd be to add support for Sphinx via Python's SpeechRecognition package...


Has anyone in this thread actually used this or looked at the code?

This outsources speech recognition, and then the natural language understanding is literally just keyword matching: https://github.com/SlapBot/stephanie-va/blob/master/modules....

This is about as technically interesting as the Jarvis this takes inspiration from.


There's nothing stopping you from using your own speech recognition software once someone makes an open-source platform/database for it.

It's a step in the right direction.


> or just write your own modules to extend the functionality of the application using simple as f* guide.

I'm not one to be a prude... but, is this really necessary?


I would recommend re-recording the video with a better audio setup, including a good mic or try to process the audio somehow. It's a bit difficult to hear.


Cool! Any video demo or anything of this anywhere?


This may be helpful to you : https://youtu.be/Pp5dXbWZsrU?t=1m40s


I'm sure this is a great project, but for once, it would be wonderful if Virtual Assistants weren't named after women.


We've already hashed this out in these very comments. If you'd read before posting, you'd see the premise was investigated by looking at the current crop of virtual assistants on the play store and found to be false.


Firstly, there's no requirement to read other unrelated threads before commenting in this thread.

Secondly, what's more relevant: Siri, Cortana, and Alexa, or random assistants on the Play store? (I'm ignoring Google Assistant, as that's named after a company, not a male or female).

To be clear, I don't think it matters whether assistants are named after males or females, I just thought your comment was needlessly dismissive. Had you provided a link to the other hacker news thread[s] and not been as aggressive, your comment would have had much more value.


>Firstly, there's no requirement to read other unrelated threads before commenting in this thread.

The guy started a new thread on the exact same issue that had already been discussed completely with insightful posts on both sides in another thread containing exactly 32 comments which was more than half the total comments on the article at the time he posted. Starting a new thread when over 50 percent of the comments were on this exact subject was absolutely unnecessary and frankly tiresome. And you claim that is "unrelated". How exactly do you get that?

>Secondly, what's more relevant: Siri, Cortana, and Alexa, or random assistants on the Play store?

The latter are more relevant as this is an assistant written by some guy by himself in Python. Furthermore, in the settings for this one, you can name it whatever you want. Additionally, note how Siri defaults to male or female depending on the market. Specifically, in the UK, it is male out of the box.

>I'm ignoring Google Assistant

Hmm..

>I just thought your comment was needlessly dismissive. Had you provided a link to the other hacker news thread[s] and not been as aggressive, your comment would have had much more value.

Provide a link? Use your eyes. The comments are inches away on this exact page.

The bottom line is, this issue was talked about thoroughly, yet it keeps being brought up, derailing the comments, instead of actually discussing the topic at hand which is the app the guy wrote. This kind of thing makes Hacker News less useful and that is a worse problem than my purported "dismissiveness" over something that shouldn't exist in the first place.


Nice. Anyone interested in porting this to Android to replace Google voice-driven services? F-Droid needs this.


https://slapbot.github.io/documentation/configuration/

Sadly not possible with fdroid if it has api keys from proprietary services.


Oh, I though it did speech to text itself. It just calls one of several commercial speech to text engines run by Google, Microsoft, Facebook, etc.

Could CMUSphinx be used? That's open source speech recognition that can fit in a phone if you keep the vocabulary size down.


The whole thing is written in Python so it shouldn't be that hard. Maybe use something like QPython[0] It might Just Work.

[0]http://qpython.com/


Someday, someone will buck the trend of naming their voice assistant with a woman's name. Sadly, today is not that day.


Also, don't use a common male/female name for a voice assistant the same way you don't use a common name for a dog. You don't want to be calling your assistant or pet and some nearby person looks up.

PS: If you have a grudge against your neighbor, you could use their first name for your dog >:)


I agree, in fact, I think our AI deserve far less regard than pets or even our least favorite being (spiders and molds and such).

I want to call my voice assistant robot "Assistant" or just say "Computer", like in Star Trek.


To be fair, Siri is androgynous enough and could be given a man's voice by default.


I gave Siri a male voice right out of the bag, and keep forgetting other people have female Siris. Having Butler Siri feels classy...


In the UK, Siri has a male voice by default.


I'm more bothered by the fact that the name is three syllables. Ain't nobody got time for that.


Maybe deliberate to reduce false activations? Even with three, our Echo Dot triggers many times per day when nobody is talking to "her"!


Let me rephrase my suggestion for what to do here. Seems in the config.ini file, there is a setting for what you want the assistant's name to be:

[SYSTEM]

assistant_name = Stephanie

welcome_message = How may I help you?

wake_up_engine = False

wake_up_command = Stephanie wake up

I would presume you just replace Stephanie with whatever you want.


Personification of the assistant allows a more intimate experience for those not of the computer science inclination. Humans know how to talk to other humans, most are still too unfamiliar with speaking only to "a computer program at a data center somewhere" to get any real use out of it.

Anecdotal, but I have an aunt who hates computers but loves the Echo because of Alexa. By giving the assistant a name and speaking to it conversationally, she was able to "trust" it much faster than many other technologies.


>Personification of the assistant allows a more intimate experience for those not of the computer science inclination.

Fair enough. Yeah, I'm pretty sure I don't want anything I do with my phone to be described as an "intimate experience". Takes all kinds.


What's wrong with the trend?


The use of (nearly exclusively?) women's names and voices for servant roles? It continues a stereotype that I believe is problematic.


A woman's voice is not used due to it being a "servent". A woman's voice is used, because testing has shown both men and women respond positively to women's voices, while the same is not true of men's voices.

Of course, along with a women's voice, it makes sense to go along with a woman's name.


I wonder whether people whould have enjoyed different kinds of male / androgynous voices. Soft voice? Energetic coffee-powered male voice to make us feel like businessmen during an MBA? Effeminate male voice because it would trigger sympathy? Masculine female voice because it mixes styles? Aged-man voice because it evokes wisdom? Grand-mother voice because it evokes good tips for life? Celebrity voices?

I concur that the initial female voice of Siri, Alexa and Cortana reminded me that all assistants shouldn't be women, and I believe future ones will match people's preference, so the only voices that will be universal will be those 3 voices, female and young.


How about an uptight british butler voice (Cogsworth from Disney's Beauty and the Beast) or the lovable lackey of evil voice (Pain and Panic from Disney's Hercules)?

There are plenty of male servant cliches: http://tvtropes.org/pmwiki/pmwiki.php/Main/ServantTropes


In the UK, Siri has a male voice with a posh English accent.


It can have a female voice without it having a woman's name; the "Google Assistant" is a good example. It's extremely off-putting that the only software we give human names to is the software we boss around, and when we do give it a name, the name is always female.


> It's extremely off-putting that the only software we give human names to is the software we boss around, and when we do give it a name, the name is always female.

That's not true though. Just a cursory glance at the Play Store with the search term "voice assistant"[0] reveals mostly gender neutral with some male and female. I "equalled" the female names and plussed the male names:

Dragon Mobile Assistant;

=Cortana – Digital assistant;

Indigo Virtual Assistant;

Smart Voice Assistant;

OK Google;

=Robin - AI Voice Assistant;

DataBot Assistant;

=EVA Free - Voice Assistant;

utter! Voice Commands BETA!;

voice Assistant;

+Jarvis - My Personal Assistant;

Google Allo;

Extreme: Personal Assistant;

=AIVC (Alice);

HOUND Voice Search & Assistant;

Google Now Launcher;

Genie;

=Amazon Alexa;

My Assistant;

Heaveen;

+SpeakBro;

+ANDY Voice Assistant (FREE);

Cyman Mark 2 Free;

+Noah Voice Assistant Beta;

My Android Assistant;

AVX Free - Voice Assistant;

Moto Voice;

+EVAN Free - Voice Assistant;

Voice Assistant;

Get Assistant - Root

Tally: 5 female and 5 male with 20 gender neutral including some arguable, e.g., "Cyman" (Simon?) and Robin. This isn't the most scientific thing but it certainly exposes the assertion "the name is always female" for what it is. The really unfortunate thing is this erroneous belief is so ingrained that half the comments here are bike shedding about this exact point instead of discussing how cool this piece of software is. Not that I'm helping that problem.

[0]https://play.google.com/store/apps/collection/search_results...


> It can have a female voice without it having a woman's name;

Sure, you can use an unrelated word. There are many startups with silly names and that has not stopped them.

But if the creator decides to choose the name of a person, (perhaps to give their project a little humanity, or for whatever reason - it doesn't matter), and they are using a female voice, let us not pretend that a female name is not simply logical.


I've heard people complain that the combination of the female voice, and the naming of the Google service "assistant". There truly is no escape.

You can't give it a masculine name, because it would be nonsensical. You can't give it a feminine name because people will complain that you're associating femininity with subservience. You can't give it a descriptive name because people will complain that you're associating femininity with assistant/secretary work.

I think we're all better off if we just calm waaay down and accept that people like hearing feminine voices from programs with feminine names; and it just so happens that people want a piece of software which does secretary work.


There are also a lot of "evil" male robots in popular culture.


Also, if Stephanie is a hot word and someone called Stephanie comes by...


elliot.ai


Yeah, I really don't want a voice assistant with the name of an ex.


Seriously? Then you should try Google since I believe no girl has OK GOOGLE name


But imagine the people who had the Google voice actress as an ex :O

Dating profile: I know this is a bit odd, but I can only date you if you're an iPhone user.


I dated the woman who did the voice for Google Voice (the voicemail service). She moved out to CA with me when my company got accepted to YC and she got a job at Google. I dunno exactly how she ended up doing the voice for it, but it's always been vaguely surreal to hear her answering my phone (I use Google Voice, and last I listened she was still the voice ~9 years later). It's not that big of a deal, more of a weird anecdote (that I've very rarely had occasion to tell before now) than anything traumatic.

Seems like a personal assistant voice would be kinda the same. Though maybe you hear it more often. But, it's probably not something that happens very often. I mean, how many personal assistant voices are there, and how many people can they have dated?


Don't personal assistant use voice synthesis rather than voice acting?


AFAIK, the state of the art in voice synthesis still involves concatenating recorded snippets. Even fancy neural networks need recordings to train on, and will most likely sound similar to the original voice actor.


Slapbot?


How many times have you complained about 99% of soldiers being male? Let me guess, none. Or 75% of suicides being males? Let me guess, none too. Now, how many times you have complained about the gender of artificial computer voices like you just did? many times right? Not only you give this kind of inane issues any relevance whatsoever, you give none to any actual form of equality and pretend us to take it seriously.


Please don't take HN threads on this sort of ideological tangent. The original point was at least partly on topic; this is way off in the flames.

We detached this subthread from https://news.ycombinator.com/item?id=14530866 and marked it off-topic.


Could you explain how gender stereotyping and gender equality is on topic with the text in the article?

Or to phrase it in an other way: if there was a bot farming karma by commenting with "Why is there no male named virtual assistants" in every article posted on HN with "virtual assistant" in the title, would the bot be on topic just because of the title?


I'm not sure I understand this question, but these things come in gradations, so it's often a bit arbitrary where to prune the thread. In this case I left the original comment intact because it was at least about the specific product, and there were substantive replies about the voices of other personal assistant products. On the other hand, any comment that begins "How many times have you complained about 99% of soldiers being male?" is just going straight into flamewar boilerplate of the most tedious sort.


In order for a comment to be even slightly on topic, do we not need at least some minor connection with the article? In this case the article has nothing to do with gender politics and nothing to do with the choice of male or female naming of virtual assistants. The connection the commenter made and the article is purely be based on the title alone.

Political comments based on article titles (in contrast to article text) is inherently contagious and tedious. All it does is spreading itself and anti-agents of itself. You attacked the anti-agent but left the infection alone, which is why people have a problem with it. The resulting thread of the original post is taking up 2/3 of the comments in here and only a single comment (by nathanasmith) has any connection with the article. That is out of 44 comments one is about the article. Had you moderated a bit more inclusive then 40 of those comments would likely never existed, and maybe a portion of them would instead have made comments about the article.


I don't approve of this decision. If discussion about how AI assistants have female names are on-topic, then so is the rebuttal that "AI assistants having female names is a non-issue". I like you, dang, but I think you added your own ideological bias in making this decision.


I know you guys often see ideological bias in these things, but there's a strong if not irresistible tendency to see that whether it's happening or not [1,2], and people of opposite ideological persuasions accuse us of the same thing. So I dunno. I can't judge my own bias, obviously. What I can tell you is that after dealing with thousands of these, the only thing I consciously care about is what makes the threads tedious and predictable vs. not. That's pretty much the only thing that HN is ultimately about, and I probably have a more fine-tuned sense of it (i.e. of what's predictable) than most people do, just because of the effects of brute quantity on the brain.

1. https://hn.algolia.com/?query=by:dang%20cognitive%20bias&sor...

2. https://hn.algolia.com/?query=by:dang%20beholder&sort=byDate...


You know best, of course. Note that I'm not claiming that HN is too left-/right-wing for me. I think HN is pretty well balanced and centrist. What I'm saying is you might have erred on the side of avoiding controversy. HN could use more controversial comments, whether it comes from the left or the right, especially when the comment is not trolling and is informative.


Yeah, that's exactly what came to mind as well.


Whoa slow down there fella, or you're going to run out of red pills.


I not once have entered that subreddit; my opinions were formed completely by myself; shocking I know.


None of that is relevant to their point. Would you mind sticking to the topic instead of trying to dismiss them based off your assumptions about them? Unless you know them personally, you likely know nothing about who you're responding to.

Maybe take a deep breath and evaluate whether you're here to seek a broader sense of the truth or just want to be right about whatever your cause is?


This comment was indeed convoluted, but I wonder if your last sentence wouldn't apply equally well to the top voted comment in this submission and those who upvoted it?


Probably. Most people fighting the gender wars need to sit down, stop talking, and start listening to the other side.

MRAs/feminists are people who are in pain and each one's specific pain needs to be heard. I'm not referring to their grievances toward their gender...that's a separate ordeal. Before we can talk about those things productively, the pain bringing them to the table needs to be empathized with by whoever sits opposite them.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: