<commit_before>[![Screenshot](https://raw.githubusercontent.com/skhavari/sonos-talk/master/websrc/assets/screenshot.png)](https://www.youtube.com/watch?v=5-QxEMNEzmA)

**Description:** Control Sonos with voice commands

**Why:** Explore [AngularJS][angular], [Web Audio][h5a] & [Web Speech][h5s], [Go][go]

[angular]: https://angularjs.org/
[h5a]: http://www.w3.org/TR/webaudio/
[h5s]: https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
[go]: http://golang.org

### Status

* basics aren't there yet...
* basic server/client framework up
* grunt build
* visualizing microphone input
* listen for speech input and display recognized text on the page
* detect sonos zone players on startup
* up next: find all sonos, simple sonos rest api, ui sugar

### Goal - Say Things Like...

* Play lullabies in the nursery
* Play Tom Sawyer in the studio
* Play Imagine Dragons in the backyard
* Group the entire house
* Pause All

### Getting Started

 * git, grunt, npm, go are required
 * `git clone https://github.com/skhavari/sonos-talk.git`
 * `cd sonos-talk`
 * `npm install`
 * `go get github.com/ianr0bkny/go-sonos`
 * `go run server.go` to start the server
 * `grunt` to build the client
 * `https://localhost:8443` to open the client

### Tested Environments

* Chrome 35 on Mac OS 10.9.3
* Chrome 35 on Android 4.4.2 on SM-N900V
* ~~Safari or Chrome on iOS 6~~ **not working**<commit_msg>Update assuming GO workspace is setup correctly<commit_after>[![Screenshot](https://raw.githubusercontent.com/skhavari/sonos-talk/master/websrc/assets/screenshot.png)](https://www.youtube.com/watch?v=5-QxEMNEzmA)

**Description:** Control Sonos with voice commands

**Why:** Explore [AngularJS][angular], [Web Audio][h5a] & [Web Speech][h5s], [Go][go]

[angular]: https://angularjs.org/
[h5a]: http://www.w3.org/TR/webaudio/
[h5s]: https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
[go]: http://golang.org

### Status

* basics aren't there yet...
* basic server/client framework up
* grunt build
* visualizing microphone input
* listen for speech input and display recognized text on the page
* detect sonos zone players on startup
* up next: find all sonos, simple sonos rest api, ui sugar

### Goal - Say Things Like...

* Play lullabies in the nursery
* Play <NAME> in the studio
* Play Imagine Dragons in the backyard
* Group the entire house
* Pause All

### Getting Started

 * git, grunt, npm, go are required
 * `go get github.com/skhavari/sonos-talk`
 * `cd $GOPATH/src/github.com/skhavari/sonos-talk`
 * `npm install`
 * `sonos-talk` to start the server (assumes GOPATH/bin is in your PATH)
 * `grunt` to build the client
 * `https://localhost:8443` to open the client
 * You may need to turn IPV6 off on mac, go-sonos (dependency doesn't currently support it): `networksetup setv6off Wi-Fi`

### Tested Environments

* Chrome 35 on Mac OS 10.9.3
* Chrome 35 on Android 4.4.2 on SM-N900V
* ~~Safari or Chrome on iOS 6~~ **not working**
{'fraction_non_alphanumeric': 0.1386540412580318, 'fraction_numerical': 0.018599932363882313, 'mean_word_length': 4.24468085106383, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 11, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1104633', 'n_tokens_mistral': 1065, 'n_tokens_neox': 994, 'n_words': 323}