LiveSubtitles

=Project presentation= Transcribe a teacher speech to subtitles and allow students to correct misinterpreted words

= Team =


 * Supervisors : Jérôme Maisonnasse


 * Members : BUI David / LECHEVALLIER Maxime / OUNISSI Sara


 * Departement : RICM 4, Polytech Grenoble

=Specifications= Make an app usable in any browser (mainly Google Chrome)

Google API Speech
Key words : new paragraph, comma, dot

Not supporting long speech (over 2 minutes), have to reboot after that

=Links=

GitHub

Documents API specs : https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html

= Progress of the project =

The project started January 11th, 2015.

Week 1 (January 11th - January 17th)
''First interview with our supervisor Jérôme. We've learned more about our project and what is expected for the next weeks''


 * Handling the project
 * testing Google API Speech
 * Making git repository

Week 2 (January 18th - January 24th)

 * Going further into the tests of the API
 * https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
 * There are multiples API : Google recognition and Web Speech API It is the same API developped by Google

Week 3 (January 25th - January 31th)

 * Microphone works only when a virtual server is installed, we try with apache (Lamp/Xamp)
 * Learning JavaScript
 * Learning HTML/CSS
 * Trying Bootstrap
 * Amara.org is a website to edit youtube subtitles, might help

Week 4 (February 1st - February 7th)

 * Scrum
 * Trello
 * Trying to add grammar and key-words (like "OK Google") => Not possible

Design patterns
Example : a teacher is the only one who can launch slides Example : students can edit the subtitles Example : Microphone detection
 * Model-View-Controller (GoF) : This pattern is used to separate application's concerns. Our project is Web oriented program
 * Singleton (GoF) : Ensure a class has only one instance, and provide a global point of access to it.
 * Visitor (GoF) : Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.
 * State (GoF) : Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.
 * Service Contract - Concurrent Contracts (SOA) : http://soapatterns.org/design_patterns/concurrent_contracts

Project work
Solving critical problems : the API is not working with ambient noise. When we are talking directly to the microphone the API is working fine.

Tests :
 * Fast talking : Dead after 1 minute
 * Slow talking (with interruptions) with music arround : Dead after 2 minutes
 * Slow talking : Dead after 2 minutes

Meeting with Jérôme to have new directions after a quick demo of the app.

Week 6 (February 15th - February 21st)
Studying Socket.io, trying the demo chat, linking Reveal.js with socket.io

WebStorm is a Javascript IDE but too complicated too use for us

Week 7 (February 29th - March 6st)
Transmitting data from client to server with socket.io

Working on adding collaboration part (javascript database?)

Working the presentation

Week 8 (March 7st - March 13st)
=Gallery=