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)
Try to implemente Session in php Searching for an easy way to store our data (which structure and which technologie) Begin to implement our projet according to the model view controller Model

Week 9 (March 14st - March 20st)
=Gallery=