Code Monkey home page Code Monkey logo

chatterbox's Introduction

Chatterbox

What's Chatterbox?

Chatterbox is a multimodal networked chat interface with three core features:

  1. Emoji suggestions based on emotion classification from webcam data
  2. Hands-free scrolling using gaze tracking from webcam data
  3. Voice-to-text functionality

Table of Contents

Filename Description
chat.js Modifies index.html depending on the state of the application. Combines speech.js, scroll.js, and logging.js into the interface.
chatServer.js Starts and runs a Node.js server using Express.
emojiBank.js Contains a dictionary used to suggest emojis based on the emotion classification.
index.html Initial layout of the interface. Modified using chat.js
logging.js Logs desired mouse and keyboard events to a Google spreadsheet. The data was then processed after user testing.
package.json Used by npm to keep track of dependencies.
scroll.js Triggers scrolling up or down when gaze tracking is turned on and a cutoff is reached at the top or bottom of the screen.
speech.js Processes speech using webkitSpeechRecognition API
style.css Provides styling to the interface.
WebGazer.js Sourced from https://webgazer.cs.brown.edu/ and used to implement gaze tracking.
python_chat/ Python 3 code from initial implementation. Filenames are similar to those described above.
sounds/ Sounds used to provide auditory feedback

Using the Chat

Setup

  1. Install Node.js
  2. Navigate to directory 6835-project
  3. Run npm install

Running the Chat

  1. Run npm start
  2. Open a browser and go to localhost:3000

Or go to https://agile-citadel-17828.herokuapp.com/.

Runs on Chrome, Firefox, and Edge. Tested on Windows, Linux, and Mac. Works best in a well-lit area, with the laptop on a desk or table so that the webcam is closer to eye level than it would be from a user's lap.

Running the Deprecated Python Chat

From initial implementation. Not improved past Prototype Studio.

  1. Navigate to directory python_chat
  2. Run the server: python3 chat_server.py
  3. Open a GUI: python3 chat_gui.py

chatterbox's People

Contributors

divya-gopinath avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.