Coder Social home page Coder Social logo

aniket1026 / soundscripter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hitesh22rana/soundscripter

0.0 0.0 0.0 2.41 MB

Simplify and Automate your transcription workflow with SoundScripter

License: MIT License

Shell 1.40% JavaScript 0.13% Python 42.13% TypeScript 53.97% CSS 2.37%

soundscripter's Introduction

SoundScripter ๐Ÿ”Š๐Ÿ“

Simplify and Automate your transcription workflow with SoundScripter

Features

  • Media Transcription: Convert media files (audio/video) to text with high accuracy.
  • Scalable: Utilizes a distributed architecture to handle multiple requests in parallel.
  • Real-time Notifications: Uses Redis Pub-Sub and Server-Sent Events (SSE) for real-time notifications

Architecture

SoundScripter's architecture is designed to handle transcription requests efficiently. Here's how it works:

  1. User Requests: Users uploads video/audio files for transcription through API.

  2. Optimization: Media files are optimized to be utilized for transcription service.

  3. RabbitMQ Message Broker: Transcription requests are added to the RabbitMQ message broker.

  4. Celery Task Queue: Celery task queues manages and distribute the tasks. When new tasks are added to the queue, Celery workers pick them up and process them asynchronously and concurrently.

  5. Task Execution: Each task runs in its own container, allowing for parallel processing of multiple tasks based on the system configuration.

  6. Realtime Notifications: SoundScripter leverages Redis Pub-Sub and Server-Sent Events (SSE) for real-time notifications.

Getting Started

To run SoundScripter locally or in a server environment, follow these steps:

  1. Clone this repository to your local machine

    git clone https://github.com/hitesh22rana/SoundScripter.git
  2. Navigate to the backend directory

    cd backend
  3. Configuration

    • You can configure various settings, such as RabbitMQ connection details and task priorities, in the docker-compose.yml files.
    • Environment variables are stored in .env. Refer .env.example for a template of the required variables. Make sure to create a .env file with your specific configuration before running the application.
  4. Requirements Check

    Before running the application, it's important to ensure that system meets the essential requirements in order to run the application. You can use the check-requirements.sh script to verify this:

    ./check-requirements.sh
  5. Build and run the application

    i. First build the transcription service

    docker build -t transcription-service -f Dockerfile.transcription-service .

    ii. Now, run the docker-compose file to bind all the services

    docker-compose -f docker-compose.yml up
  6. Now you backend is up and running and you can access the API docs at http://localhost:8000/docs.

Contributions

We welcome contributions to improve SoundScripter. Feel free to open issues, submit pull requests, or reach out with your ideas.

License

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

soundscripter's People

Contributors

hitesh22rana 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.