Skip to content

codingwithshawnyt/speech-therapy-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Powered Speech Therapy Platform

Build Status Coverage Status License: MIT

This is an innovative AI-powered web application designed to provide personalized and accessible speech therapy for individuals who stutter. It leverages cutting-edge technologies like natural language processing (NLP), machine learning (ML), and speech recognition to offer a comprehensive suite of tools and resources for improving fluency and communication skills.

Key Features

  • Real-time Speech Analysis: Provides real-time feedback on speech patterns, including fluency, speaking rate, articulation, and voice quality.
  • AI Speech Coach: Offers interactive conversations with an AI-powered speech coach for practicing various communication scenarios.
  • Fluency Shaping Exercises: Guides users through evidence-based fluency shaping techniques with personalized feedback and progress tracking.
  • Educational Resources: Provides access to a library of articles, videos, and interactive exercises on stuttering and fluency management.
  • Personalized Progress Tracking: Tracks fluency scores, achievements, and personalized insights to monitor progress and set goals.
  • Gamified Learning: Incorporates gamification elements like badges and rewards to enhance motivation and engagement.
  • Secure and Private: Ensures user data privacy and security with robust authentication and encryption measures.

Technology Stack

  • Frontend: React, Redux, Material-UI, Web Speech API, TensorFlow.js
  • Backend: Node.js, Express, GraphQL, Apollo Server, MongoDB, Redis
  • AI/ML: Python, TensorFlow, PyTorch, Transformers, Librosa, Kaldi
  • DevOps: Docker, Kubernetes, AWS (S3, EC2, Lambda, CloudFront), CI/CD (Travis CI, GitHub Actions)

Architecture

The StutterOn platform follows a microservices architecture, with separate services for user management, speech analysis, AI model training, and data storage. This allows for scalability, maintainability, and independent deployment of different components.

  • Client Application: A React-based single-page application (SPA) that interacts with the backend API and provides the user interface.
  • API Gateway: An Express.js server that acts as an API gateway, routing requests to different microservices.
  • User Service: Manages user authentication, authorization, and profile information.
  • Speech Analysis Service: Performs real-time speech analysis using NLP and ML models.
  • AI Model Training Service: Trains and deploys AI models for speech recognition, fluency prediction, and other tasks.
  • Data Storage: Uses MongoDB for storing user data, session data, and progress information. Redis is used for caching and queuing tasks.

Installation and Setup

  1. Clone the repository: git clone https://github.com/your-username/stutteron.git
  2. Install dependencies:
    • Client: npm install --prefix client
    • Server: npm install --prefix server
  3. Configure environment variables:
    • Create .env files in both client and server directories.
    • Set the required environment variables (see .env.example files for reference).
  4. Start the development servers:
    • Client: npm start --prefix client
    • Server: npm start --prefix server

Running Tests

  • Client: npm test --prefix client
  • Server: npm test --prefix server

Deployment

The deployment process is automated using a CI/CD pipeline (e.g., Travis CI, GitHub Actions). The pipeline builds the application, runs tests, and deploys the code to the production environment (e.g., AWS).

  • Client: Deployed to an S3 bucket and served via CloudFront.
  • Server: Deployed to EC2 instances or containerized using Docker and Kubernetes.

Contributing

Contributions are welcome! Please follow these guidelines:

  • Fork the repository.
  • Create a new branch for your feature or bug fix.
  • Write clear and concise code with comprehensive tests.
  • Submit a pull request with a detailed description of your changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • We acknowledge the use of open-source libraries and tools that have made this project possible.
  • We thank the contributors who have helped improve StutterOn.

Contact

For any questions or feedback, please contact us at [email address removed]

About

Codebase for StutterOn, a beta ASHA approved digital speech therapy tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published