Share your knowledge at the LQ Wiki.
Go Back > Forums > Non-*NIX Forums > General
User Name
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!


  Search this Thread
Old 04-12-2008, 10:18 AM   #16
LQ Newbie
Registered: Mar 2008
Distribution: slackware 12
Posts: 21

Rep: Reputation: 15

Originally Posted by jschiwal View Post
The intentional use of sms grammer in a forum is rude. Almost as bad as posting in all CAPITAL letters.
who used SMS grammar? i certainly didnt. i simply didnt capitalize the "i"s.

and you spelled 'grammar' incorrectly. but it doesnt matter because i understood what you meant, and i am not petty

but i suppose we did have a small (unintentional) part in illustrating gnashley's point, so even though this thread was a frustration, at least something good came out of it.

Last edited by machines; 04-12-2008 at 10:32 AM.
Old 04-13-2008, 07:29 AM   #17
LQ Guru
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 671Reputation: 671Reputation: 671Reputation: 671Reputation: 671Reputation: 671
Thank you for catching my typo. I have corrected it.
Old 04-13-2008, 02:39 PM   #18
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
Barring the impossibility of implementation, it's a great idea from a user-interface perspective. Speaking is more natural for a human than typing, because that's how we were born to communicate. Maybe modern times are suppressing that to the point where we've learned to communicate better with typing than with speaking, though. Certainly, you can be more succinct with "if=/dev/random of=/dev/null" than you can with "take input from slash-dev-slash-random and output to slash-dev-slash-null." But I wouldn't consider it so much a new kind of shell (and because of this I must reject the premise of this whole argument) but as a totally different kind of user interface completely. Think of it like a hierarchy of interface techniques:

With the command-line, you type stuff. That's all. Then add a GUI, which lets you point to stuff too. Of course, you can still type stuff, in fact there's little way to get around it, and for most people this is natural. Next is the voice-activated interface, which still lets you point to things and type things too, when you need to. After all, as mentioned above, speaking could get tedious for every little thing, and there are many tasks for which pointing at this will be necessary. Maybe you could even envision another layer above speaking, where you could merely think something. But human minds are full of clutter, so occasionally you would clarify by speaking aloud, or pointing at something, or typing in some text. So basically we're just extending current interfaces ever higher, granting them more power and flexibility, but just as humanity could only get so far without the printed word, all of these forms of communication will continue to have their place.
Old 04-14-2008, 01:33 AM   #19
Senior Member
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Originally Posted by Siljrath View Post
excuse me while i rant and daydream.
maybe someone will take the idea and run with it.
Few thoughts from a cold, realistic, programmer's point of view.

Originally Posted by Siljrath View Post
isn't it time we got working on a command line language that could be calmly and casually used by voice command?
In my opinion, speaking voice commands and listening to responces is way too slow to be useful. It is possible to read written text at speed of 1500 characters per second (common reading speed is around 130 cps) and type at a speed of 270. Spoken speech is slower. At least for me. An example - if you call some company which uses automatic device for redirecting phone calls (which says "press 0 to contact department A, press 1 o hear more about our products, etc."), it will take forewer just to receive information about possible choices. With graphical/text output user just have to take a glimpse at the screen and then can locate useful menu choice quickly.

Originally Posted by Siljrath View Post
Where is the proof? If someone isn't using CLI, this doesn't mean that CLI is dying.

Originally Posted by Siljrath View Post
now though the niche of 'nix geeks who have been brought up on bash can do very well with command line, the majority of folks arn't likely to suddenly be motivated to learn it. and that is a problem for those of us who are learning or already ahead of the curve. do we want world of users stuck to something gooey? (gui)
In my opinion:
1) It is easier for a human to learn dozen (or several dozens, since after first five languages they all will look nearly same) computer languages that are best suitable for a certain tasks, than for a computer to understand human.
2) (This may sound rude). If the "majority" can't learn CLI, they'll have to stick with less-powerfull tools. If they "aren't motivated" to learn CLI/bash/programming, they simply don't need it, and will have to live without it. Everything has it's price, so if you need powerfull interaction interface, you'll have to learn it. The "gooey" software is already providing nice alternative for those who simply don't want or don't need to spend their time learning CLI, programming, etc. Not all people need it, anyway.
3) The beauty of the command line is in the fact that have a little in common with "plain english". Expressing regexps and perl one-liners in spoken english (as well, as writing scripts) will be trouble.

Originally Posted by Siljrath View Post
i dont see why this should be so hard... forget the voice reccognition for now.
Short explanation.
What you ask is to make interpreter of a "plain english" language. I.e. turn human language into computer language.

Human language's task is to represent an endless number of possible objects(ideas,abstractions,etc) in that way that one human being will get a brief idea what other one is talking about. A word in spoken language have a lot of meanings (it can have no meanings without other words), where one or more meanings will be dominant in current situation and context. And there are a lot of models of world, that can be represented using one language.

In contrast, computer language's task is to represent very limited number of possible types of objects that fits into single predefined model of the world. The purpose of such language is to make computer know that user wants to do one thing and not another, and exclude all errors (like typos) that will make sentence difficult to interpret. And any language sentence must be constructed in that way that it can be interpreted ONLY in one way, without possibility of another one - this is a requirement. So something that can't fit into known categories of objects/ideas can never be represented with that language, and cannot be understood (what is sweater from the computer's point of view?)

These differences arise from machine's inability to learn. During the life human learn about new objects, and make new models of world for different situations, environments. Because of this words sometimes change meanings, have different meanings in other areas, etc.

Machine only "knows" about numbers. Any object/word in the end will be represented by number which indicates it's type and what can be done about this object. New types of objects will have to be explicitly defined by someone, machine won't be able to learn them itself. And this means - as long as user won't use words outside of those set known for computer - everything will be fine. When machine will be uncertain, or won't recognise word in dictionary, it will become either stupid or annoying.

This means, that a human during conversation can build new categories and objects, learn new things, etc. So, if you'll meet someone who have never seen a cat during whole life, you can explain to that person briefly what a cat is it, so as a result person will connect one of the meanings of word "cat" with a complex representation of a cat, which will include a lot in it. You can't explain "what is cat" to a computer with standard language. You can make computer know, that "cat is an animal". That is - if computer "know" about group of objects named "animals" (if computer doesn't know about animals, cat will have to be object, no matter what you think about it). This won't be enough to recognise cat, also computer can come to a "brilliant" conclusion - if every cat is an animal, then every animal is a cat. If dog is also an animal, then animals are dogs too. Which also means that cats are dogs and dogs are cats. This is stupid from human's point of view, but it is logical for a machine operating on a predefined model/classification of real-world objects. To distinguish one object from another (as well as one distinguish meaning of the spoken word of another) machine must be able to quickly split objects into many categories, creating categories during the process. This is somewhat like databases, but it much more complex. And I currently know no way how a "normal computer" can do this. And because of this, computer will have trouble finding movie with a woman wearing red sweater.

So your example conversation will most likely turn into following:

Siljrath: "Computer"

Computer: (after waiting further input for several minutes)"No command given. I understand you as long as you are saying "computer". Clarify sentence or start a new one"

Siljrath: "just for a laugh.... show me all videos where there's a woman wearing a red sweater."

Computer: "I understand you as long as you want to laugh."

Siljrath: "show me all videos where there's a woman wearing a red sweater!"

Computer: "I understand you as long as you want me to show all videos. Could not understood "where there""


Tip: Try playing interactive fiction games, for example. Those system are sometimes looks like human speech, but they are very limited.

Originally Posted by Siljrath View Post
i'm just talking about getting a computer to reccognise plain english, and being able to talk back appropriately to anything you write...
This feature requires artifical intelligence, and ability to learn. That is - if you want' software to recognise "plain english" and not "really small subset of english words".

Originally Posted by Siljrath View Post
i mean the computer can offer suggestions at least as to what to write to get your comand to do as you ask.
Windows tries to work this way. This is awful and annoying. Machine must do what what user said, the user is one that is supposed to think...

Originally Posted by Siljrath View Post
i hear there's great leaps n bounds been made in recent years on context searches.
I must say that what certain context sensetivie advertisment systems put on sometimes put on sites as advertising, often doesn't fit what the site is about.

Originally Posted by Siljrath View Post
Siljrath: "Computer"

Computer: "mhmm?"

Siljrath: "just for a laugh.... show me all videos where there's a woman wearing a red sweater."

Computer: "context search may take a few hours to complete. get a quantum computer. searching. more search results coming."

Siljrath: "oh, and find me that file i was working on a few days ago... the big purple image."

Computer: "here's your big purple image's last save, opened in GIMP."
From programmer's point of view:
Try to think like computer (The tip: computer cannot think. It can only calculate and perform actions using given algorithm). Build a syntaxic tree from this conversation, locate meaningfull directives, find out which command user was talking about. It is nearly impossible to interpret. And, for example, "image" can mean "picture" or "hard drive image". As for a "woman wearing red sweater", following problems arise:
1) Machine needs to interpret picture (by the way - you are talking about movie. This may be far more difficult). So, it needs to open image, interpret object in picture, recognise it, if there is a woman in picture or not, and check if she is wearing sweater and it is read. Now you should remember, that the only information you have is a 2D array of pixels... I suppose that software that will be able to perform that task without limitations will cost quite a lot.
2) user will have to build a keywoard database for every picture he stores on the computer. This is just boring, useless and will take too much time. User's time.

And in following part of conversation:
Originally Posted by Siljrath View Post
Siljrath: "and while you're still searching, could you copy my Sabayon partition to the empty parition on my external hd?"

Computer: "your external sata doesnt have a empty partition. there's enough space. should i make one?"
Computer is trying to think instead of user, predict their actions, etc. (IMHO) An attempt to predict user behaviour will result in something like Windows(r) behaviour ("you've tried to remove shortcut from desktop. This won't delete program it's pointing to! To delete program, to blah-blah-blah."). In practice this will make machine either awfully annoying (since it can't think) or stupid. In my opinion - trying to predict user's behaviour (what he would/will/meant to do) is most stupid, annoying and evil thing a program can do to a user.

Originally Posted by Siljrath View Post
lemme know what yas think. any constructive criticism. any suggestions, enhancements, augmentations, additions etc.
any tips on how to take the idea further and get it started.
1) (IMHO) This cannot be achevied (without limitations) using binary logic on a standart PC. Maybe machine that uses some other ideas can do it (neuro-computers), but I do not know about such system. For full functionality AI is required. Without full functionality this system can be useful only for disabled people, etc. And it will be extremely stupid, annoying, and won't be able to find a woman in a red sweater in the movie.
2) Useless for anyone who have good typing/reading skills, because it is too slow.
3) Cannot match CLI/programming language anyway, because CLI is better suitable (compact, etc) for expressing system commands, than plain english. And certain cli constructs (like regexps) can't be easily spoken.
4) This won't be cheap.

Last edited by ErV; 04-14-2008 at 01:43 AM.
Old 04-14-2008, 05:56 AM   #20
Registered: Jul 2004
Distribution: Ubuntu
Posts: 387

Rep: Reputation: 33
You know what would be cool. If my computer had some attitude, forget about commanding my computer with speech. How cool would it be if say I was viewing a porn site and the computer blurted out some sort of message. A female voice would be best, me thinks.

Maybe a firefox extension with an ever updating open database of voice clips. On second thought, text to speech wouldn't be that bad either, definitely more feasible. *dreams*
Old 04-14-2008, 12:12 PM   #21
Amigo developer
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,855

Rep: Reputation: 547Reputation: 547Reputation: 547Reputation: 547Reputation: 547Reputation: 547
Actually text-to-speech can be done fairly easy -I mean it's easy enough to install flite or espeak to get at least crude text2speech working. Uisng festival or other more complicated programs gives better voice quality. But don't think that it is/was a breeze to create these programs and the data sets that drive them -creating a decent text-to-speech lexicon and voice can take years of work. But, this is what has been most easily accomplished among the various things having to do with text/speech recognition and synthesis. And simple voice-to-command programs are also available, as mentioned, but they don't really do any language processing -they just match spoken patterns against templates which are taught to the program by each user for each command -you can teach such a program to run 'fsck' when you say 'blooper', for example. It won't know that you are trying to be funny or ironic.

Anyone who wants to drown themselves in a project for a few years could start out in any of the various areas which each have their inetresting points and need special talents:
Speech Recognition
Natural Language Processing
Text to Speech Conversion
(both the above involve linguistic/lexical processing knowledge which is quite separate from the programming talents needed)
Speech Synthesis

Anyone who dreams of delving into the fuzzy (and other logic) needed to handle context-sensitive language processing is probably not hanging around this forum -but you might look for them around the MIT AI labs, Carnegie Mellon or Princeton.
Old 11-28-2013, 09:07 AM   #22
LQ Newbie
Registered: Mar 2007
Location: France, Languedoc-Roussillon (pre frontiere espagnol)
Distribution: Puppy Linux!
Posts: 16

Rep: Reputation: 0

I use a graphic interface most of the time, but there are moments when command line is easier/quicker/the only way to do something, for example, moving all your .PDF files to the same directory is faster using command line, obviously.
But there are times when I'd love to be able to simply say a command, such as "play some cool music, ordy" or something similar. It wouldn't replace the graphic interface, certainly not the command line either, but would be a very useful, practical addition to these.
I'm not a programmer "super cool, easy as pi", and as a result I can only hunt out new stuff written by a real programmer, who at the same time is Open Source minded.
All that to simply say that I think it's an inevitable next step to progress towards vocal commands and replies that are of good quality, and Open Source. Unfortunately it's out of my capabilities, but I am still looking for "the" program that does this for Linux.


comand, idea, interface, line, shell, star, voice

Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
Shell and batch operations on hidden files but not on ".." & "." danielsbrewer Linux - Software 5 09-12-2007 08:06 AM
Shell Script: Find "Word" Run "Command" granatica Linux - Software 5 07-25-2007 07:42 AM
LXer: What the "ultimate filesystem", Sun ZFS, means for your desktop, in Plain English LXer Syndicated Linux News 0 06-21-2007 01:31 PM
No UTMPX entry, You must EXEC "login" for the lowest "shell" ooihc Solaris / OpenSolaris 7 03-12-2007 02:09 PM
"fast network address translation" kernel option dunkyb Linux - Networking 0 04-20-2003 06:42 PM > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 03:42 PM.

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