Code Monkey home page Code Monkey logo

simple_whisper_webapp's Introduction

Simple Whisper Webapp

This application is designed for older or less tech-savy individiuals who wish to use Whisper transcription technology. Notably, the application operates entirely offline, eleminating the need for any internet connection. This means that no data is send to the web. This offline-first approach provides a distinct advantage as sensitive data is not transmitted to external servers. The data exchange occurs directly between the server and the client.

To initiate the connection, the client simply enters the IP address of the server into a web browser. Subsequently, the client uploads an audio file to the server. The server promptly stores the file and initiates the processing of the audio to text conversion. Once the file has been successfully processed, it is immediately deleted from the server, enhancing data security. The text output, can be deleted by the user at their own will by clicking the remove button in the web interface.

The underlying technology facilitating this functionality is a combination of faster_whisper and Flask. Flask serves as the web framework for the Python programming language, providing a robust foundation for building web applications. Faster_whisper, on the other hand, is an optimized implementation of OpenAI's Whisper, delivering superior performance on CPU based inference.

Deployment of the program is made possible by Docker and gunicorn. Gunicorn serves the Flask web application. Gunicorn boosts the performance of the application significantly, as to accommodate a larger number of clients. Docker is used to deploy the program. Instructions for utilizing the program are outlined below.

The main user interface: screenshot of main user interface status screenshot

Running the program from source code

docker compose up -d --no-deps --build simple_whisper_web --force-recreate      

And then use the following docker-compose.yml file:

version: '3'
services:
  simple_whisper_web:
    container_name: simple_whisper_web
    build: ./
    ports:
      - "9999:9999"
    environment:
      - GUNICORN_THREADS=2
      - USE_GPU=false
      - FLASK_DEBUG=false

It is also possible to pull the image from Docker Hub:

version: '3'
services:
  simple_whisper_web:
    image: arnecuperus/simple_whisper_webapp:latest
    container_name: simple_whisper_web
    ports:
      - "9999:9999"
    environment:
      - GUNICORN_THREADS=2
      - USE_GPU=false
      - FLASK_DEBUG=false
      - MODEL_SIZE=large-v2
    volumes:
      - ./data:/data
    restart: unless-stopped

Publishing the Docker image:

The program gets published by executing the following steps. 'v1.0.0' gets replaced with the correct version number.

Build the Docker image:

docker build -t arnecuperus/simple_whisper_webapp:v1.0.0 .

Tag the Docker image:

docker tag arnecuperus/simple_whisper_webapp:v1.0.0 arnecuperus/simple_whisper_webapp:v1.0.0

Login to Docker Hub:

docker login

Push the Docker image to Docker Hub:

docker push arnecuperus/simple_whisper_webapp:v1.0.0

simple_whisper_webapp's People

Contributors

penguix0 avatar

Watchers

 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.