LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 12-23-2023, 02:16 AM   #1
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416
Blog Entries: 43

Rep: Reputation: 36
Voice Assistant Idea


This is just an idea, mind you. I would like to begin to start it in the future. But I haven't yet written a line of code to do it. Here is my idea:

I want to create a voice assistant, and obviously this task would be complex. I would like it's voice to be pretty normal for voice assistants. What stands out of my voice assistant? Well, first of all, I want most/all of it to be totally GPL3. So here's how the theory works.

There is a server, kind of like amazon alexa and google home. This server, is needed for the core of the system. The first time, the client wakes up, it connects to the Internet (let's say always Internet to simplify the context), and it goes to the server, and downloads the whole server code, onto the client, and runs it sort of like VNC, where you have a server and a client, as part of the client. The first time the device is awakened, you MUST connect to that server, for you to be able to function. It is an error if you cannot. After that, there are certain times, when updates are "pushed" to the clients, but most of the time, you need to run a command on the client, to tell it to update specifically. Otherwise, it works off of the local copy all the time. The local copy may or may not be able to connect to the Internet to work for what you're doing. Thus, a hybrid approach to home assistant and Alexa. That's a basic requirement.

There would be a "master" server, I would have to run, which would probably have to be closed source, by it's nature, which would contain the main server code. However, the other servers, which I talked about, would be open source. A server, which is a local copy of the master, can be created anywhere. I would have to run a cloud copy of the master server server, to make it work for anybody. Perhaps I would need a small subscription to keep it running?

However, since the server that's not master is open source, plus allowed to be downloaded, anybody could download the main server software, and make their own local instance of the master server. It is your choice, when to update to the master server. The local servers, are where all the downloading for the client takes place.

There are certain updates that are manditory, and the rest, are up to the user. As few as possible are NOT up to the user. However, some may HAVE to be updated forcibly. Like HUGE security holes or something.

I would want to start the client, as either an extension, or some other form of program, designed to run on the Linux Mint cinnamon desktop. I would later want an android client too, and then maybe IOS client, if apple will let me. I don't want any Windows clients to be supported. Also, I'd like it to be able to run atop home assistant.

Now that you know the basics of how it works, let me tell you the story of what features would be manditory:

1. A basic system
2. A connection to the Alexa services, allowing you to run ANY alexa command, if possible
3. A connection to the Google Home services, allowing you to run ANY Google Home command
4. A connection to Home Assistant available, hopefully it would become Home Assistant's standard Voice Assistant

I would want it to be able to "down the road", have it's own hardware, which would be a mini PC, with built in Microphone and speaker. It's OS, is my own, down the road, which I would provide a client for, but Linux Mint for now, and thus runs the cinnamon software.

Any ideas how I would begin to write it? Would I have to start with microphone primitives, or is there some prewrtten code for voice input and output on cinnamon?
 
Old 12-23-2023, 02:17 AM   #2
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
P.S. - I'll still work on my language first, but then, after a few more features, would be open to working on this.

That is, IF there's enough interest, and it doesn't turn out to be too hard...

Last edited by des_a; 12-23-2023 at 02:18 AM. Reason: Interest?
 
Old 12-23-2023, 05:25 AM   #3
hazel
LQ Guru
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 7,579
Blog Entries: 19

Rep: Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453
That sounds a bit like "fediverse" programs such as mastodon, where anyone can start his own server using downloadable code.
 
Old 12-23-2023, 12:08 PM   #4
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
Right! It was based off of programs, like mastodon, although every time I try to sign up for that service (the cloud), it's full.

Fediverse:
https://www.google.com/search?q=fedi...client=gws-wiz

Yes, that's the idea! Kind of like DNS also, as far as the Internet's.

I still want to see what people think, but I'm now deciding that for now, it might be too complicated. But if I keep writing code, maybe not forever! It's also true that I have lost a lot of code in the past. Before github or anything like that.

Now, however, I've gottem my language further, which is a step in the right direction. If it's not too complicated, I'd love to do it in the order I specified. Maybe help me determine for sure, if it's not right now.
 
Old 12-23-2023, 12:11 PM   #5
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
By the way, I did TRY to write a bit of code for android, but the language I was using, I forget the name, but one of those drag and drop languages, that no longer exist, did not have the ability to do structures like I needed.
 
1 members found this post helpful.
Old 12-23-2023, 10:27 PM   #6
michaelk
Moderator
 
Registered: Aug 2002
Posts: 25,710

Rep: Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899
As others would say don't reinvent the wheel. There are several speech recognition toolkits and speech to text libraries available as well as text to speech programs.

If you use Amazon Voice Services you might be limited on licensing.

Just a fyi mycroft is/was an open source voice assistant project no longer in development. They had 13 developers.
 
Old 12-24-2023, 11:54 AM   #7
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
That's why I was posting here, long before I do it. I wanted to NOT reinvent the wheel, as I went. Since even my planned OS, will be built with the Linux kernel (this is not about that project), I wanted at the very least, to make sure that I wasn't reinventing the voice protocols, for lack of a better word. I don't want to start from parsing raw microphone input, unless I write even a kernel myself, possibly. I forget right now, some of my algorithms I came up with, without deeper thought, but I want to at least use other's code for microphone recognizing, and speech syntehsis output. Can you post a link to a website for the ones who you mentioned? I'll check those out, next, perhaps.
 
Old 12-24-2023, 01:05 PM   #8
michaelk
Moderator
 
Registered: Aug 2002
Posts: 25,710

Rep: Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899Reputation: 5899
Quote:
Can you post a link to a website for the ones who you mentioned?
I didn't mention anything in particular. Someone of your experience should be able to search the internet?
https://en.wikipedia.org/wiki/Speech...ware_for_Linux
 
Old 12-25-2023, 01:16 AM   #9
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
Yes, but that is my weakest computer skill. Finding answers to everyday problems. That link will do. But a lot of the time, I don't even think to search. Sorry. That's what I mean by weakest skill.

I think that's enough to find more answers though, as now I can think, just enough to know where to start. I can't really open a thread to become better at searching, especially the knowing when to, I'll have to keep picking that up along the way. I guess I have to continue making enough mistakes where I could search a "little" more, like this, even though I wouldn't have found that, than other ways to learn. Then eventually I'll get it. I generally do a little research before most threads. Then there are times, like this, where I forget to do most of it. I guess I just was one generation too soon to master this skill better, as though I'm good at things now, I didn't grow up with Internet pretty much at all.

I had no other way of finding most information, as encyclopedias were too hard for me, than ask a bunch of people. I learned to do that great! I'm now learning to find more myself. Even if I have to ask some more strangers.

I think now, that I have a start, getting the idea out there too, research CAN do the rest. FOR now though...
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Open source voice assistant speaker promises user privacy LXer Syndicated Linux News 0 01-26-2018 05:04 PM
LXer: Google Assistant SDK preview brings voice agent to the Raspberry Pi LXer Syndicated Linux News 0 04-28-2017 09:00 PM
LXer: P-Brain.ai: Simple, extendible voice assistant destined for the Raspberry Pi LXer Syndicated Linux News 0 01-16-2017 10:24 AM
LXer: Home control hub offers Siri-like voice assistant LXer Syndicated Linux News 0 01-14-2014 11:01 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 10:24 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration