Skip to content

wbushey/Babble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Babble

A realtime audio/text translation prototype

Giants

Install and Run

Debian/Ubuntu

apt-get install nodejs npm
cd nodejs
npm install
node app.js

Speech to Text

Translation Services

Text to Speech Services

  • Microsoft/Bing
    • Free version
  • eSpeak
    • FOSS Local Server
    • Output could be better
  • AT&T
  • HTML 5 API?
  • Dragon Speech API
    • Might have a free API trial
  • Voice RSS
    • Free version has a 100KB response max
  • Google Web Speech
    • Free version ?

NodeJS

What's up with the nodejs folder? Once we write the JavaScript that connects the speech-to-text, translations, and text-to-speech services together and runs on a single user's computer, we'll want to move that connecting JavaScript to a central server so we can have multiple user computers output the translation. Node.JS is a framework for running JavaScript on a server instead of in a browser, and will allow us to write a server application that coordinates the clients and connects the services.

Node.JS Tutorials and Docs

Node.JS Libraries

Installing Node.JS

Node.JS is already installed on our Ignite server. In case we need to install it again, or you want to install it on your own computer, here are instructions on how to install Node.JS on a variety of platforms.

Socket.io

Babble will use Socket.io to allow multiple users to connect to a single server and talk to each other across languages. This functionality, it turns out, is very similar to a simple chatroom client/server. Fortunately for us, Socket.io provides an example chatroom server/client, with source code, that guide our development.

Testing

Tuts+ has a great article on using Mocha and Chai for testing in Node.js, as well as general Test Driven Development in Node.js.

And here's an article on testing the client side of Socket.io.

Travis-CI provides contineous integration. Awesome.

Run Tests

cd nodejs
make test

Secrets

In order to allow both developers and Travis-CI to access needed secret keys, the utils/getSecrets module was created that contains the getSecret(secret_name) function. This function will return the value of secret_name from either a secret.js file found in the utils folder, or from environmental variables if Babble is running on Travis-CI.

Example of using getSecrets:

var secerts = require('utils/getSecrets');
var our_little_secret = secerts.getSecret('our_little_secret');

How to add secrets for Travis-CI

See these instructions.

About

Audio to text to audio language translation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •