Skip to main content

A tool for downloading YouTube audio, generating subtitles, and sending them to an HTTP endpoint.

Project description

ASB Auto Subs

ASB Auto Subs is a tool for generating subtitles from YouTube videos using whisper locally, or groq remotely. It monitors the clipboard for YouTube links, as well as file path (shift right click "copy as path" on windows), gets the audio, and generates subtitles in .srt format. The project also integrates with the ASBPlayer WebSocket server for automatically loading subtitles.

https://pypi.org/project/asb-auto-subgen/

Getting Started

Install the Package

To get started, pip install the package:

pip

pip install asb-auto-subgen

OR

uv tool install asb-auto-subgen

If you want to run whisper locally...

pip install asb-auto-subgen[local]

OR

uv tool install asb-auto-subgen[local]

Requirements

  • Python 3.11+
  • ffmpeg installed and available in your system's PATH
  • go installed and available in your system's PATH (for the asbplayer websocket server)

Configure config.yaml

Before running the project, you need to configure the config.yaml file. This file contains essential settings, changing how asb-auto-subs will behave.

This will be generated on first run if it doesn't exist (idk where).

  1. Open the config.yaml file in a text editor .
  2. Update the configuration values as needed. For example:
    process_locally: true
    whisper_model: "small"
    GROQ_API_KEY: ""
    RUN_ASB_WEBSOCKET_SERVER: true
    model: "whisper-large-v3-turbo"
    # model: "whisper-large-v3"
    output_dir: "output"
    language: "ja"
    skip_language_check: false
    cookies: ""
    
  3. Save the file.

What Each Config Does:

  • process_locally: Determines if the transcription is done locally or via the groq API.
  • whisper_model: The whisper model to use for local transcription.
  • GROQ_API_KEY: Your API key for accessing Groq's services.
  • RUN_ASB_WEBSOCKET_SERVER: Whether to run the ASBPlayer WebSocket server.
  • model: The groq transcription model to use.
  • output_dir: Directory where output files are saved.
  • language: Language code for transcription. Also used to check if the video's language is what we want.
  • skip_language_check: When true, bypasses YouTube metadata language validation entirely.
  • cookies: Cookies for authenticated yt-dlp requests.

Setup API Usage

Where to get Groq API Key? (REQUIRED)

Can sign up here https://console.groq.com/ and after sign up it will ask you to generate an api key.

Run the Script

The script monitors your clipboard for YouTube links. When a valid YouTube link is detected, it automatically downloads the audio, generates subtitles, saves them, and then sends them to the ASBPlayer WebSocket server.

To start the script:

asb-auto-subgen

ASBPlayer WebSocket Server

This project integrates with the ASBPlayer WebSocket server for subtitle synchronization. You can find more information about ASBPlayer and its WebSocket server here.

Contact

If you run into issues, you can make an issue here.

Credits

Donations

If you've benefited from this or any of my other projects, please consider supporting my work via Github Sponsors or Ko-fi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asb_auto_subgen-1.0.6.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asb_auto_subgen-1.0.6-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file asb_auto_subgen-1.0.6.tar.gz.

File metadata

  • Download URL: asb_auto_subgen-1.0.6.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for asb_auto_subgen-1.0.6.tar.gz
Algorithm Hash digest
SHA256 844cb814c1cbdcd5e8272c233feae708ebb7cbac9621ce143c1d29224e86149b
MD5 50864591ad53c3dd4140bbfc11e33b01
BLAKE2b-256 e9643692e6f880a406ae1d081b1c9d271648c5e4d96c71491c6fe4bd70f5c82c

See more details on using hashes here.

File details

Details for the file asb_auto_subgen-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: asb_auto_subgen-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for asb_auto_subgen-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f95f0c01f0252414a4f7f9d45bfe8639eee74d744240b7ce8b69f09d8465be0d
MD5 62265f384dc8cfc33b7c3309f5b37422
BLAKE2b-256 a52ed80505e8e1b3d37130ca94d8b138fa245e2163d59631f3a74a640dd47911

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page