All Projects → gridcellcoder → cloud-speech-and-vision-demos

gridcellcoder / cloud-speech-and-vision-demos

Licence: Apache-2.0 license
A set of demo applications that make use of google speech, nlp and vision apis based in angular2

Programming Languages

typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to cloud-speech-and-vision-demos

Ng Packaged
An Angular library packaged by ng-packagr
Stars: ✭ 109 (+211.43%)
Mutual labels:  angular2, angular-cli
Angular4 Docker Example
Efficiently Dockerized Angular CLI example app
Stars: ✭ 212 (+505.71%)
Mutual labels:  angular2, angular-cli
Ng Pi Admin
Angular admin http://treesflower.com/ng-pi-admin
Stars: ✭ 131 (+274.29%)
Mutual labels:  angular2, angular-cli
Clever Bootstrap 4 Admin Template With Angularjs Angular 2 Support
Clever is Boostrap 4 Admin Template with Angular 2 and AngularJS support
Stars: ✭ 98 (+180%)
Mutual labels:  angular2, angular-cli
gcp auth
Minimal authentication library for Google Cloud Platform (GCP)
Stars: ✭ 42 (+20%)
Mutual labels:  gcp, google-cloud-platform
Angular4 Primeng Admin
angular4-primeng-admin @angular/cli开发的后台模板
Stars: ✭ 99 (+182.86%)
Mutual labels:  angular2, angular-cli
Angular2 Crud Rest
Sample Angular (2.x and 4.x) app: CRUD example + routing
Stars: ✭ 152 (+334.29%)
Mutual labels:  angular2, angular-cli
Angular2
Angular 2 Seed
Stars: ✭ 75 (+114.29%)
Mutual labels:  angular2, angular-cli
Ng Pokedex
🐵 Pokedex progressive web app built with Angular
Stars: ✭ 245 (+600%)
Mutual labels:  angular2, angular-cli
Blog Angular
Angular 笔记
Stars: ✭ 238 (+580%)
Mutual labels:  angular2, angular-cli
dialogflow ros
A ROS wrapper for Google's NLP platform Dialogflow
Stars: ✭ 17 (-51.43%)
Mutual labels:  google-cloud-platform, google-speech-recognition
deploy-appengine
A GitHub Action that deploys source code to Google App Engine.
Stars: ✭ 184 (+425.71%)
Mutual labels:  gcp, google-cloud-platform
Coreui Free Angular Admin Template
CoreUI Angular is free Angular 2+ admin template based on Bootstrap 4
Stars: ✭ 1,279 (+3554.29%)
Mutual labels:  angular2, angular-cli
Anvel
Angular 2 Laravel Starter Kit
Stars: ✭ 102 (+191.43%)
Mutual labels:  angular2, angular-cli
Angular Full Stack
Angular Full Stack project built using Angular, Express, Mongoose and Node. Whole stack in TypeScript.
Stars: ✭ 1,261 (+3502.86%)
Mutual labels:  angular2, angular-cli
Paper Kit 2 Angular
Free Bootstrap 4 UI Kit for Angular 2+
Stars: ✭ 133 (+280%)
Mutual labels:  angular2, angular-cli
Nebular
💥 Customizable Angular UI Library based on Eva Design System 🌚✨Dark Mode
Stars: ✭ 7,368 (+20951.43%)
Mutual labels:  angular2, angular-cli
Root Bootstrap 4 Admin Template With Angularjs Angular 2 Support
Root is Boostrap 4 Admin Template with Angular 2 and AngularJS support
Stars: ✭ 54 (+54.29%)
Mutual labels:  angular2, angular-cli
Angular5 Seed
Angular5 Seed for Application
Stars: ✭ 222 (+534.29%)
Mutual labels:  angular2, angular-cli
GCP
All files containing commands which can be used to complete GCP quests and challenge labs
Stars: ✭ 46 (+31.43%)
Mutual labels:  gcp, google-cloud-platform

Speech, NL & Vision API Demos (by GridCell)

This project showcases some of the APIs made available by the Google Cloud platform, namely:

It also showcases the Web Speech API made available by all modern browsers, as a mean of comparision against Google Cloud Speech.

Getting started

Either:

  • Clone the project & follow the instructions below
  • See it live at: (https://gcpdemo.gridcell.io/). The local server process is still required for GCP Speech Demo.

The project was generated with Angular CLI and its structure remains pretty much unchanged; Only new pages / components / services were added along with a complementary Node.js server process. Material Design and Bootstrap were used just to make the web app look nicer.

Why is a server process needed?

While Google Cloud provides a REST and a RPC API, usually it is the client libraries that are the more complete way of accessing its features. That said, we were able to use the REST API for both Natural Language and Vision processing, but to be able to "stream" the speech for recognizing, we had to use the client library which is only available for server side languages.

Hence the reason for the "speech-server". The following flow can be observed:

  • the web app captures and streams the audio through a websocket (binaryJS) to a Node.js process;
  • in turn, the server process streams it to GCS through its client library implementation;
  • once a response is returned from GCS, it is piped back to the web app.

Project structure

The meaningful bits and pieces of the project can be found in the following folders:

  • src/app/services/
  • src/app/pages/widgets/
  • speech-server/src/

The src/app/services/ holds the services responsible for audio capture and integrating with the Google Cloud REST API or with our own Speech-Server. The services are broken down into separate files according to their responsibilities: Speech (WebSpeech & GoogleCloud), Natural Language Processing (NLP) and Vision APIs.

The src/app/pages/widgets/ contains the main web app page. It basically consists of 3 cards showcasing the aforementioned features. They could / should have been split into separate components but are all bundled together so you can easily see and compare the relevant code.

The speech-server/src holds the Node.js typescript implementation of the server process responsible for piping the audio stream from the wep app to the Google Cloud Speech and back.

Configuration

Before being able to run both web app and speech server, we need to configure the google cloud project ID and API Key. This can be done in the following files:

  • src/environments/environment.ts (and / or environment.prod.ts)
  • speech-server/src/environment.ts

Web app (local) server

Run npm install and then ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Speech-(local)-server

Since the speech-server relies on google cloud's client library, to run it on your local workstation you must first install the Google Cloud SDK and authenticate by running the following command: gcloud auth application-default login

Then cd speech-server and run npm start on a separate terminal window. The server will be accessable on ws://localhost:8000.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma. The coverage is not exhaustive in any way, just wanting to provide a few examples.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor. Before running the tests make sure you are serving the app via ng serve. The coverage is not exaustive in any way, just wanting to provide a few examples.

Further help

Tweet us @gridcell_io

All trademarks acknowledged, this is not a Google product nor affiliated with Google, Google Cloud Services.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].