GithubHelp home page GithubHelp logo

piauisuite's People

Contributors

abhinavmadahar avatar domage avatar morksmail avatar neoecos avatar palantir555 avatar petronny avatar stevenhickson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

piauisuite's Issues

Stereo vs Mono Microphone

It looks like (at least for me) keyword recognition in voicecommand does not work with a mono microphone. I can change the channels in speech-recog to process mono and that works correctly but keyword verification still tries to capture in stereo.

Segmentation fault

In a fresh install (just voicecommand) after one to three maximum successful commands I get a segmentation fault.
How can I find out what's causing it and/or fix it?

pi@camPI ~ $ voicecommand -c
Opening config file...
running in continuous mode
verifying command as well
keyword duration is 2 and duration is 3
Found audio
error in original mmap
Aufnahme: WAVE 'stdin' : Signed 16 bit Little Endian, Rate: 16000 Hz, stereo
command: tts "Zu Befehl!" && bash /home/pi/ledstrip/./power
Segmentation fault
Segmentation fault

Not saving to variables

If I use latest git sources, commands like:
name $name==echo $name

Do not work. It does not recognize the command although it detects the string:
name Martin

Shouldn't it write "Martin" onto the screen?

No Audio Output

Hello,

i have a Problem with the Audio Output of PiAUISuite, because there is no Audio Output. My Speakers are working good, i can Play Audio, but with PiAUISuite there is nothing. For Example by running the Setup, i couldn´t hear anything.
By Starting PiAUISuite everything was ok, but after some minutes the Audio Output was dead.

Do you have any Idea about it?

[VoiceCommand] POST requests require a Content-length header. That’s all we know.

I'm not sure if this is a recent change, as I was using VoiceCommand just fine a couple of weeks ago, but today I noticed that the executable wasn't working. After some digging it appears that Google is responding with:

POST requests require a Content-length header. That’s all we know.

Looking further into this, it appears that maybe this service is no longer something you can call without an API key. After resolving the Content-Length, the next error is for:

Missing parameter: key

/usr/bin/voicecommand: 1: /usr/bin/voicecommand: Syntax error: word unexpected (expecting ")")

I get this error whenever I try to run voicecommand -s, or just try to install the voicecommand module from the main install. I tried this on my laptop running Crunchbang Waldorf, as well as another laptop running Kubuntu, and I get the same error.

This seems like a bug, but it doesn't seem as though anyone else is having this issue. I don't think it can be fixed, but if it can, I would like to know.

Consider adding voice choice options to tts

It's possible to change the default american female voice when using TTS by using google.co.uk instead of google.com. You should consider adding a flag that would allow users to do that - I personally prefer the british voice and just changed the script manually.

Raspberry PI 2 always returns no translation.

Hey Steve, it seems like you've got a great plugin, but I can't seem to get it working. I'm using a Pi 2. is it not compatible with that model? Also, the usb headset I'm using records and plays back audio just fine. Whenever I run voicecommand, it returns with "No translation" and no audio response.

Thanks for your help.

Thinking Big

Hello,

This is not an issue, but rather a post on how this idea could jump on to the next level.

There exist many projects which actually cover speech recognition and a provide a "Jarvis" feel, and a couple of them are actually written especially for the raspberry pi, like this one.

I heard about this project about a year ago and was totally fascinated, but realized quickly, that not all of my needs could get covered.

I started my own project (half way), which is nothing else that a clone of voicecommand written on perl (https://github.com/computaholic/pivoice). However, I am not an expert in all this and sometimes it worked and sometimes it didnt. But I implemented some cool features, which I will summarize a little below.

Another great Project is Jasper (http://jasperproject.github.io/), which again is actually the same, but does not depend on google (which is good and/or not so good).

IDEA = JASPER + VOICECOMMAND and some pivoice ;)

So my Idea is, why not combining the best from all projects and create something that is superiour to all that has come to glance so far? I'd rather have one good solution than 10 proof of concepts ones.

PROJECT SUMMARIES

My Own https://github.com/computaholic/pivoice

My project is called pivoice and is heavily inspired by this project. However, I tried to do things a little different:

  • Main Purpose
    The Main purpose is to catch voice, make tts and than match the text to a dictionary. Thats why I chose to use dictionaries.
  • Dictionary
    A file where all words are saved, which should get matched. Each Command has several entries, allowing various settings for each command, like the matching type and so on. You are also able to provide self written commands and you have full REGEX features. Here is an example, I will not go into detail

sample dict

[playmusic]
ListenFor = play music
Action = echo ""

[playssong]
ListenFor =~ play $song from @band
Action = echo "vlc /path/to/music/@band/$song.mp3"

[playvideo]
ListenFor = ^play\b(.?)\bseason (.?) episode (.*?)
# default: simple
MatchStyle = regex
Action = echo "mplayer /videos/$1/season_$2/episode_$3"

  • Scenarios
    What happens after a command has been recognized? My Implementation uses Scenarios. That means, if a command has been accepted, a new scenario can be loaded, allowing language change, microphone change etc. The Idea came when I tried to allow multiple kewords. Depending on what keyword you say, a different language is loaded. So you can google in your native language and then in german or so.
  • Perl
    I chose perl because I think its best when it come to parsing text, and thats basically all this is about.

Jasper http://jasperproject.github.io/

Basically, this uses a local speech recognition. You have to define every word, that needs to be recognized. This is fast, but does not allow any words, that are not in the dictionary. Its ultra fast and very accurate (if the ditcionary is well written). I first thought of writing a google speech plugin for this, but then I thought why not tryning to combine the best of all worlds.

So, what do you think. Is there any interest in bringing these together? I guess this mostly goes to Steven.

computaholic

XBMC Compatiblity

Could you run a local remote control on the Pi for a Raspbian build with XBMC installed (Stock, RaspBMC, OpenElec, xBian, etc) that also responds to Voice Commands, so we can have a complete Xbox navigation experience?

I couldn't find a hardware device. You don't have a valid microphone

During the installation process, exactly when asking "Do you want to set up and check the speech recognition options?" I get the error message "I couldn't find a hardware device. You don't have a valid microphone" and the installer closes. I have an USB sound card plugged in (for headphone and microphone), and the hardware seems to work correctly. card number is 0.

List Devices:
Command: aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: Device [USB PnP Sound Device], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 1: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0

Command: arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 0: Device [USB PnP Sound Device], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0

Take a record:
Command: arecord -D plughw:0,0 -f cd test.wav
Works perfectly.

Play the recorded wav-file:
Command: aplay test.wav
Works also.

Config Files:
/etc/modprobe.d/alsa-base.conf
I edited it to
options snd-usb-audio index=0

/etc/asound.conf
I added this:
pcm.!default {
type plug
slave {
pcm "hw:0,0"
}
}
ctl.!default {
type hw
card 0
}

So I think that my audio input and output configured correctly...What else can be the mistake?
Thanks for your help!

Any language progress?

Hi Steven,

did you make any progress in using a different languge than english? As Voicecommand is using Wolfram Alpha to answer to questions, couldn´t you just let google translate the question to english, send it to Wolfram and translate the answer back to the users language?

Also I found out, that if I enter the question "what ime is it?" directly to wolfram alpha on their website, but in german "wie spät ist es?", wolfram automatically finds the closest answer by giving me the correct time. For any reason this does not work with Voicecommand, it would answer "Could not find answer. Try again.".

I´m sorry I bother you with that, but it´s really sad to me that I can´t even use voicecommand to tell me the correct time in german. I also tried to use google for giving me the correct time, but then VC just wants to open midori...

Thanks for you help!

Formatting error on line 35 (42… 46…) of your config file.

Hi,

I have installed the PiAUISuite and it didn't work. When I run 'voice command' it says the following:
Opening config file…
You have a formatting error on line 35 of your config file. I'm ignoring that line.
You have a formatting error on line 42 of your config file. I'm ignoring that line.
You have a formatting error on line 46 of your config file. I'm ignoring that line.
Not querying for answers
running in continuous mode
verifying command as well
keyword duration is 3 and duration is 3

Which config file are we talking about here? There is this /home/pi/PiAUISuite/VoiceCommand/commands.conf. But obviously this doesn't have line 35, 42 and 46.
It doesn't react to anything, though the volume should be good…

EDIT

The errors where empty lines found in the config file $voicecommand -e
Deleted the empty lines and cleaned up the copies of the commands.

Dependency issue libboost-regex 1.49.0 when installing on OSMC

Hi,

Not sure if this the right place to ask.
When trying configure voice command it says:
"voicecommand: error while loading shared libraries: libboost_regex.so.1.49.0: cannot open shared object file: No such file or directory"
Trying to install this package gives me the following : Couldn't find any package by regex 'libboost-regex1.49.0'

This issue has been posted on various sites by different users, but no one has posted a solution or if it is impossible to do so.

-John

the -D flag doesnt seem to work

I just emailed Steven without considering the idea of a ticket, so I figure Ill mention it here also.

When I use my webcam for a microphone on my RasPi, I need to specify the second sound card option, 2,0. According to man voicecommand, you offer -D to do so, but I can seem to get it to work.

When I do 'voicecommand -D 2,0' it says "Attempting to answer: 2,0". Similar result with 'voicecommand -D plughw:2,0'. I cant figure out how to properly define it.

Could you let me know what I am missing?

Response list

The suite could allow a list of different responses to be randomly played after the keyword.

InstallAUISuite fails

InstallAUISuite.sh =>

Would you like voicecommand to try to set itself up? y/n
y
./InstallAUISuite.sh: line 186:  1244 Illegal instruction     voicecommand -s

Google didn't help so I thought I'd ask here. Tried to install it on my old raspi B+ running osmc.

Microphone Problem

Hi Steven ,
I have a little bit the same problem like highlite86.
I have pluged in a soundcard too and it still not working.

aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Take and play a record works fine.
I don't edit my config files to 0 because the card is card 1

/etc/modprobe.d/alsa-base.conf

Keep snd-usb-audio from beeing loaded as first soundcard

options snd-usb-audio index=1
/etc/asound.conf
cm.!default {
type plug
slave {
pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
voicommand -e

This is the default config file

These are the special options you can set (remove the #)

!verify==1

!keyword==pi

!thresh==0.7

!continuous==1

!response==Yes Sir?

!quiet==0

!ignore==0

!filler==0

!duration==2

!com_dur==3

!hardware==plughw:1,0

Here are the commands

But it's still not working when i want to test the speech recognition.
I hope you can help me.

Variables are returned in capital letters

play music by $1 please==cvlc -I ncurses /mnt/Music/$1//./.mp3

Input: play music by Artist please
returns
Command: cvlc -I ncurses /mnt/Music/ARTIST//./.mp3

which doesnt conform to case-sensitive file systems, maybe theres a reason for that?
Thanks!

gmail 2 step verification

Does this support google's 2 step verification? I cannot seem to get gtextcommand to login properly.

arecord / audio rate

Just a small issue, it would be nice to make the sampling rate, -r parameter of arecord external to your voicecommand binary.

I had issues with the default "-r 16000" with my Philips Toucam 740K which only support: mono, 16 bit, 8 / 11.025 / 22.05 / 44.1 kHz

So changing everything to 44100 and recompiling did the trick.

Otherwise cool plugin! And thanks for sharing.

ut.

DownloadController doesn't compile on Ubuntu

... downconn.cpp:(.text+0x156): undefined reference to curl_easy_cleanup' downconn.cpp:(.text+0xa79): undefined reference tocurl_easy_setopt' ..

Solution is to change Makefile
$(CC) $(BLDDEF) $(FLAGS) $(LIBS) -o $(addprefix $(OUTPUT), download) downconn.cpp download.cpp
->
$(CC) $(BLDDEF) $(FLAGS) -o $(addprefix $(OUTPUT), download) downconn.cpp download.cpp $(LIBS)

Recording the keyword issue

Hi Steven, awesome project you got there and i am eager to try it !

I did every step for the install, and i got this error while doing the auto-config with voicecommand -s when it need to set up and check the speech recognition options :

  • Change the keyword : yes,
  • Type the key word : I typed Hello,
  • Following up with recording myself saying "Hello"
  • and it returns me the following :

[code]I got ????, which was different than what you typed : pi [/code](the ???? are actuals littles signs on the shell, dunno if they are not some 7777)

Any idea what i could do to fix it ?

Cheers

$2 vairable returns a single letter variable instead of entire word.

I have installed a program that pulls up songza via cli. The command looks like
rick~$gl <genre/activity/mood> <specific genre/activity/mode>

So in my commands.conf I input...
songza $1 $2==gl $1 "$2" <---parantheses in case the specific genre/activity/mood is more than one word.

If I try the voice input of
songza genre metal
The screen readout shows..
songza GENRE "M"

It always returns a single letter for the variable. I cant figure out what is going on. Little help?

Thanks!

Removing the quotes?

When I post to fb or twitter, or send a text, there's always the double quotes. Can we use a python script to get those removed?

Specify command after key events

The suite could allow a user command to be run soon after the keyword recognition, like litting up a led or something. Another command could be fired after the command recognition and so on.

This would fit applications with no speakers, but instrad visual indication like LEDs.

Delay between response and recording

There is a substantial delay (about 5 seconds) between the pi saying "Yes Sir" and actually recording audio for the next command. Is this something that can be modified in the code/settings or is it being caused by hardware? If it's a hardware issue is there a likely culprit? I'm using a logitech C310 for recording audio. It is able to recognize and verify the keyword promptly, even if it takes time to record command input.

Ignore.

I'm an idiot. I didn't use sudo. Ignore this.

sometimes the threshold is met while microphone is turned off

Hi, there is a weird problem with voicecommand.

voicecommand -f /root/.commands.conf -r "Hello" -c -b0 -i -t 5

Sometimes, the server speaks the response ("Hello" in my case) while the microphone is turned off, and then the words of improper command. It seems the threshold of sound is met which triggers the response. But how could it happen while the microphone is turned off?

Not output from voicecommand while aplay and others run just fine.

Hi,

I don't get voicecommand to talk to me. aplay and mpg123 work just fine, arecord, too. !hardware==plughw:0,0

Sometimes I get output like this:

Opening config file...
running in continuous mode
verifying command as well
keyword duration is 2 and duration is 3
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 36597    0    14  100 36583      9  25085  0:00:01  0:00:01 --:--:-- 25091
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 38689    0    14  100 38675      7  19478  0:00:01  0:00:01 --:--:-- 19483
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 40122    0   234  100 39888     81  13942  0:00:02  0:00:02 --:--:-- 13941
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 38668    0   185  100 38483     92  19318  0:00:01  0:00:01 --:--:-- 19318
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 38144    0    14  100 38130      9  25881  0:00:01  0:00:01 --:--:-- 25903
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 36882    0    14  100 36868      9  25318  0:00:01  0:00:01 --:--:-- 25338

But nothing else happens. I don't hear anything during the setup.

Any guesses?

Workability

How usable / functional is this library? Is it feature complete? It looks to be in active development, I have my fingers crossed that this can be used to write bindings for higher level languages.

Remove xorg* dependencies

This is a really cool project, but it would be really nice to remove all the xorg* dependencies during setup.
If you want to automate things on a headless server this would save some time during installation.

Experimental Feature - turn on/off ACT light when recording or not recording

A little background; My guess is that VoiceCommand (VC) works by recording X duration seconds, sends it to Google API, gets Google's response, and then parses it to see if your keyword is present. So, in my situation, my Rasp Pi records 2 seconds, uploads it up to google, reads what Google returns, and then compare with my keyword. If I say "Computer" (my keyword) it gets recorded, sent up to google and the result is parsed by VC.

One annoying thing I have discovered is that I must say "Computer" during those two seconds; and only during two seconds. If you speak the keyword during the upload period, while waiting for google period, or the parsing time frame, you are out of luck.

I've found a way using my Raspberry Pi 3 (Raspbian Jessie) to take control of the green LED (ACT) and turn on when recording, turn off when doing other processes.

What I need is a few brave testers to try this feature out. One thing; I do not have any other versions of Raspberry Pi - just the Rasp Pi 3 (and running on raspbian jessie) Who wants to be a QA tester?

First, lets see if you are able to control the ACT led light (Instructions for RaspPi 3, your results may vary).
STAGE 1 - Can you access the LED from the OS
Step 1. cd /sys/class/leds and see if there's a directory called led0 (may be led1 for some)
Step 2. run echo gpio | sudo tee /sys/class/leds/led0/trigger You now have control of the LED light. (I assume its led0, may be different)
Step 3. turn on the LED with echo 1 | sudo tee /sys/class/leds/led0/brightness Light should turn on.
Step 4. turn off the LED with echo 0 | sudo tee /sys/class/leds/led0/brightness Light should turn off.

Feature Requests: Some ideas...

So, here are some ideas I had which may be worth lokking at. I decided to open ONE issue for this, but if the developer thinks any of this should be handles in a seperate issue, then just mark that in the comments. Please dont consider this to be spam.

Idea 1: Using Regular Expressions for commands

I really like the idea of the ~ to be more flexible in the command. Maybe someone would like to be even more creative. Therefore I suggest to allow regular expressions as commands. E.g. define something like "_music_on==mpd start" to catch "Turn the music that I like so much on" (that might not be correct english here...), but I hope the Idea is clear. This can also be used to find the "nearest" command, e.g. you have defined a comman "futurama==..." but sometimes the command is evaluated to "future mama", then a regex can be found to match both.

Idea 2: Allowing mulltiple definitions for one command

E.g. "music on|play|radio on==mpd start". This could also be useful for the other side. One could define multiple responses, that are put out randomly, e.g. !response==Yes sir?|Whats up?|What can I do for you?.

Idea 3: Acknowledge Signal

Something like !acknowlegde=Got that! to know that the command is understood.

Idea 4: Repeat Command

Lets say I said "music on", but it was not recognised, then there should be an option to allow voicecommand to ask me to repeat that command, so I dont have to say the keyword again. This should be limited to a certain number.

Idea 5: Allowing more config files

I think its always a good idea to seperate the general config for the program (voicecomman) and the user specific commands. How about having the ability to include config file within another file? Or, even better I think, using a config.d structure, meaning that all files under .config.d/* are used as config file. This would also allow to have different files for different situations. E.g.,

.config.d/conf % Here are all special !... commands
.config.d/music % all music related commands
.config.d/email % all email related commands

In future, it might be usefull to load or unload different scenarios dynamically.

Can someone supply a Raspberry Pi 2 Img file?

Im looking at installing this on my raspberry pi 2 to do some home automation voice control but looking at some of the issues it looks like google tts doesnt work anymore and this has been fixed using pico2wave.
Im unsure how to compile the code etc etc to get this latest version to run.

Could someone supply a sd img file from a current working setup they have?
Thanks.

No sound output

I am currently trying to get voicecommand working, I've been at it for about a week. I have been trying to use jasper also without any luck. I've followed all the step by step guides, all the troubleshooting guides and I have searched the internet trying to find out what the issue is. I have changed the alsa-mixer settings also. I can hear and record things using arecord and aplay commands but I cannot get any sound from the piauisuite voicecommand program it's self, bothing during install when it checks the settings and when I run the actual program. Any help would be greatly appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.