marouane53 / transcribe

MIT License
145 stars 68 forks source link

Audio and Video Transcription Tool

This Python script allows you to transcribe audio and video files using the Wit.ai API. It supports transcription of YouTube videos, local audio files (WAV and MP3), and local video files (MP4, MKV, AVI).

Features

Requirements

Installation

  1. Clone the repository:

    git clone https://github.com/marouane53/transcribe.git

    Running with Docker (Recommended)

  2. Build the Docker image:

    cd transcribe
    docker build -t transcribe-app .
  3. Run the Docker container, mounting the local downloads directory:

    docker run -it --rm -v $(pwd)/downloads/:/usr/src/app/downloads transcribe-app

    Replace $(pwd)/downloads/ with the path to your local downloads directory you wish to use for saving the transcription results. This ensures that any files downloaded or created by the script will be accessible on your host machine.

Running Locally

  1. Install the required Python packages:
    1. Install ffmpeg:
  1. Install yt-dlp:
  1. Set up the environment variables:

Note: The .env file is where your sensitive information such as API keys will be stored. It is crucial to ensure this file is never committed to your version control system. The .gitignore file in this project is already configured to exclude .env.

  1. Set up Wit.ai API keys:

Windows Release

For Windows users, a pre-packaged release is available that includes the necessary executable files (ffmpeg and yt-dlp) along with the Python script. You can download the release from here.

The release version eliminates the need for installing ffmpeg and yt-dlp separately, as the executable files are included in the package. Simply extract the ZIP file and run the script directly.

Usage

  1. Run the script: python transcribe.py

  2. Choose whether you want to transcribe a YouTube video or a local file.

  3. Follow the prompts to provide the necessary information (YouTube link or file path, language sign).

  4. The script will download the audio (for YouTube videos), convert the file to WAV format (if necessary), and start the transcription process.

  5. Once the transcription is completed, the generated files (TXT and SRT) will be saved in the same directory as the input file.

Acknowledgments

This project was inspired by and adapted from the Tafrigh project.

License

This project is licensed under the MIT License.