Giter Club home page Giter Club logo

csci-4964-cabbage's Introduction

CABbAGE - Final Project: Cognitive Computing RPI (CSCI 4964)

The ultimate motivation for this application came from a desire for better sleep and, by extension, a better way to fall asleep. The first step was to look at the different things people use to fall asleep. Two commonly used media are audiobooks and podcasts. We noticed that though these are indeed very helpful for falling asleep, they weren't specifically designed for it. This niche that was missing is what CABbAGE was born from. We realized that there was no reason to risk losing your place in a podcast if we could generate the podcast audio on the fly. This method would allow the user to select the "sound" of audio that they want to fall asleep to, without having to find an actual podcast episode to fit it. This application allows a user to gain the proven benefit of falling asleep to a white noise, without the downsides associated with using podcasts or audiobooks that aren't designed for sleep.

Paper/Write-Up

See paper: https://github.com/jshom/csci-4964-cabbage/blob/main/paper/cabbage-paper.pdf

For dev

Using make to spin up for build system

Render Paper

Use make paper command to render the paper, make sure you have Pandoc installed.

Start Desktop Application (ElectronJS)

Use make app command to spin up the electron app, you will first need to enter the /app directory and run npm install to fetch dependencies

Start Notebooks (for Training and Text Generation)

Use make notebook command to spin up the Jupyter notebook.

You will need to have docker and docker-compose installed.

See https://www.docker.com/ and https://docs.docker.com/compose/ for docs and installation.

To start up run make, this will spin up a Jupyter notebook. All files will be saved to the ./notebooks directory.

Tensorflow, Keras and Numpy should is pre-installed. The IBM Watson library should aso be installed. Install library using: pip install --upgrade "ibm-watson>=4.7.1"

NOTE: using the nightly tf jupyer notebook image, hoping it doesn't cause any issues

Team

  • @EldritchCrow Sam Cohen
  • @GregPikitis Emelia Blankenship
  • @gizzon Nicole Gizzo
  • @IkeLyons Ike Lyons
  • @sen-francis Sen Francis
  • @jshom Jacob Shomstein

csci-4964-cabbage's People

Contributors

gizzon avatar jshom avatar sen-francis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

csci-4964-cabbage's Issues

Tokenize Words not Characters

Change model to create tokens for words not characters so that we guarantee base complexity of words.

When creating tokens:

  • if word is in "to", "the", "a" add following word with space to the token.
    i.e. "what is the best thing to do"
    tokens => "What" "is" "the best" "thing" "to do"

Gather Podcast/Audio Data

Need to gather data to train the model.

Place in folder

  • ./notebooks/data/science-and-technology.txt (add each entry with newline interespaced)
  • ./notebooks/data/nature-and-zen.txt
  • ./notebooks/data/sports.txt

Add channel buttons

Create a selector in the main screen to select one of three channels:

  • Science and Technology (0)
  • Nature and Zen (1)
  • Sports (2)

Add this to the api call mentioned in #8 as a query param &channel={{0/1/2}}

Depends on completion of #8 first

Bring up basic electon app

Should have one screen, can be simplified to height/width 500px to be a simple box.
Should have input field with time length, numeric input
and button to "Start sleep feed" or whatever label.

"Start sleep feed" hits api localhost:8000/api?length_seconds=100 - for now stub to return seed data, return like any data.
Converts text to speech
Plays the audio

Use: https://www.electronjs.org/

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.