whisperX VS whisper-asr-webservice

Compare whisperX vs whisper-asr-webservice and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
whisperX whisper-asr-webservice
24 11
9,064 1,644
- -
8.4 7.8
6 days ago 8 days ago
Python Python
BSD 4-Clause "Original" or "Old" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

whisperX

Posts with mentions or reviews of whisperX. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-31.
  • Easy video transcription and subtitling with Whisper, FFmpeg, and Python
    1 project | news.ycombinator.com | 6 Apr 2024
    It uses this, which does support diarization: https://github.com/m-bain/whisperX
  • SOTA ASR Tooling: Long-Form Transcription
    1 project | news.ycombinator.com | 31 Mar 2024
    Author compared various whisper implementation

    "We found that WhisperX is the best framework for transcribing long audio files efficiently and accurately. It’s much better than using the standard openai-whisper library."

    https://github.com/m-bain/whisperX

  • Deploying whisperX on AWS SageMaker as Asynchronous Endpoint
    2 projects | dev.to | 31 Mar 2024
    import os # Directory and file paths dir_path = './models-v1' inference_file_path = os.path.join(dir_path, 'code/inference.py') requirements_file_path = os.path.join(dir_path, 'code/requirements.txt') # Create the directory structure os.makedirs(os.path.dirname(inference_file_path), exist_ok=True) # Inference.py content inference_content = '''# inference.py # inference.py import io import json import logging import os import tempfile import time import boto3 import torch import whisperx DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu' s3 = boto3.client('s3') def model_fn(model_dir, context=None): """ Load and return the WhisperX model necessary for audio transcription. """ print("Entering model_fn") logging.info("Loading WhisperX model") model = whisperx.load_model(whisper_arch=f"{model_dir}/guillaumekln/faster-whisper-large-v2", device=DEVICE, language="en", compute_type="float16", vad_options={'model_fp': f"{model_dir}/whisperx/vad/pytorch_model.bin"}) print("Loaded WhisperX model") print("Exiting model_fn with model loaded") return { 'model': model } def input_fn(request_body, request_content_type): """ Process and load audio from S3, given the request body containing S3 bucket and key. """ print("Entering input_fn") if request_content_type != 'application/json': raise ValueError("Invalid content type. Must be application/json") request = json.loads(request_body) s3_bucket = request['s3bucket'] s3_key = request['s3key'] # Download the file from S3 temp_file = tempfile.NamedTemporaryFile(delete=False) s3.download_file(Bucket=s3_bucket, Key=s3_key, Filename=temp_file.name) print(f"Downloaded audio from S3: {s3_bucket}/{s3_key}") print("Exiting input_fn") return temp_file.name def predict_fn(input_data, model, context=None): """ Perform transcription on the provided audio file and delete the file afterwards. """ print("Entering predict_fn") start_time = time.time() whisperx_model = model['model'] logging.info("Loading audio") audio = whisperx.load_audio(input_data) logging.info("Transcribing audio") transcription_result = whisperx_model.transcribe(audio, batch_size=16) try: os.remove(input_data) # input_data contains the path to the temp file print(f"Temporary file {input_data} deleted.") except OSError as e: print(f"Error: {input_data} : {e.strerror}") end_time = time.time() elapsed_time = end_time - start_time logging.info(f"Transcription took {int(elapsed_time)} seconds") print(f"Exiting predict_fn, processing took {int(elapsed_time)} seconds") return transcription_result def output_fn(prediction, accept, context=None): """ Prepare the prediction result for the response. """ print("Entering output_fn") if accept != "application/json": raise ValueError("Accept header must be application/json") response_body = json.dumps(prediction) print("Exiting output_fn with response prepared") return response_body, accept ''' # Write the inference.py file with open(inference_file_path, 'w') as file: file.write(inference_content) # Requirements.txt content requirements_content = '''speechbrain==0.5.16 faster-whisper==0.7.1 git+https://github.com/m-bain/whisperx.git@1b092de19a1878a8f138f665b1467ca21b076e7e ffmpeg-python ''' # Write the requirements.txt file with open(requirements_file_path, 'w') as file: file.write(requirements_content)
  • OpenVoice: Versatile Instant Voice Cloning
    7 projects | news.ycombinator.com | 29 Mar 2024
    Whisper doesn't, but WhisperX <https://github.com/m-bain/whisperX/> does. I am using it right now and it's perfectly serviceable.

    For reference, I'm transcribing research-related podcasts, meaning speech doesn't overlap a lot, which would be a problem for WhisperX from what I understand. There's also a lot of accents, which are straining on Whisper (though it's also doing well), but surely help WhisperX. It did have issues with figuring number of speakers on it's own, but that wasn't a problem for my use case.

  • FLaNK 15 Jan 2024
    21 projects | dev.to | 15 Jan 2024
  • Subtitle is now open-source
    3 projects | news.ycombinator.com | 24 Nov 2023
    I've had good results with whisperx when I needed to generate captions. https://github.com/m-bain/whisperX

    There is currently a problem with diarization, but otherwise, it is SOTA.

  • Insanely Fast Whisper: Transcribe 300 minutes of audio in less than 98 seconds
    8 projects | news.ycombinator.com | 14 Nov 2023
    https://github.com/m-bain/whisperX/issues/569

    WhisperX with the new model. It's not fast.

  • Distil-Whisper: distilled version of Whisper that is 6 times faster, 49% smaller
    14 projects | news.ycombinator.com | 31 Oct 2023
    How much faster in real wall-clock time is this in batched data than https://github.com/m-bain/whisperX ?
  • whisper self hosted what's the most cost-efficient way
    1 project | /r/selfhosted | 17 Oct 2023
    Checkout whisperx
  • Whisper Turbo: transcribe 20x faster than realtime using Rust and WebGPU
    3 projects | news.ycombinator.com | 12 Sep 2023
    Neat to see a new implementation, although I'll note that for those looking for a drop-in replacement for the whisper library, I believe that both faster-whisper https://github.com/guillaumekln/faster-whisper and https://github.com/m-bain/whisperX are easier (PyTorch-based, doesn't require a web browser), and a lot faster (WhisperX is up to 70X realtime).

whisper-asr-webservice

Posts with mentions or reviews of whisper-asr-webservice. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-23.
  • How I converted a podcast into a knowledge base using Orama search and OpenAI whisper and Astro
    2 projects | dev.to | 23 May 2023
  • Bazarr AI subs
    3 projects | /r/bazarr | 12 May 2023
    Check https://github.com/openai/whisper & https://github.com/ahmetoner/whisper-asr-webservice
  • Bulk download subtitles
    2 projects | /r/jellyfin | 6 May 2023
    I see that bazarr had already been mentioned. If there are no subtitles available, you can also generate the subtitles by connecting bazarr to the AI model whisper which you can self host locally. I run everything in containers, tried it a few times and it works quite well for me! It does however use some computational resources to generate the subtitles, how long processing takes depends on the chosen model accuracy.
  • Writeout.ai – Transcribe and translate any audio files. Free and open source
    9 projects | news.ycombinator.com | 8 Mar 2023
    You (essentially) need GPU but here you go:

    https://github.com/ahmetoner/whisper-asr-webservice

    For your requirements the medium.en model (max) should be satisfactory.

  • Whispers AI Modular Future
    14 projects | news.ycombinator.com | 20 Feb 2023
    What utilities related to Whisper do you wish existed? What have you had to build yourself?

    On the end user application side, I wish there was something that let me pick a podcast of my choosing, get it fully transcribed, and get an embeddings search plus answer q&a on top of that podcast or set of chosen podcasts. I've seen ones for specific podcasts, but I'd like one where I can choose the podcast. (Probably won't build it)

    Also on the end user side, I wish there was an Otter alternative (still paid $30/mo, but unlimited minutes per month) that had longer transcription limits. (Started building this, not much interest from users though)

    Things I've seen on the dev tool side:

    Gladia (API call version of Whisper)

    Whisper.cpp

    Whisper webservice (https://github.com/ahmetoner/whisper-asr-webservice) - via this thread

    Live microphone demo (not real time, it still does it in chunks) https://github.com/mallorbc/whisper_mic

    Streamlit UI https://github.com/hayabhay/whisper-ui

    Whisper playground https://github.com/saharmor/whisper-playground

    Real time whisper https://github.com/shirayu/whispering

    Whisper as a service https://github.com/schibsted/WAAS

    Improved timestamps and speaker identification https://github.com/m-bain/whisperX

    MacWhisper https://goodsnooze.gumroad.com/l/macwhisper

    Crossplatform desktop Whisper that supports semi-realtime https://github.com/chidiwilliams/buzz

  • I made a free transcription service powered by Whisper AI
    8 projects | news.ycombinator.com | 18 Nov 2022
    I think there's been talk to do speaker diarization with whisper-asr-webservice[0] which is also written in python and should be able to make use of goodies such as pyannote-audio, py-webrtcvad, etc.

    Whisper is great but at the point we get to kludging various things together it starts to make more sense to use something like Nvidia NeMo[1] which was built with all of this in mind and more

    [0] - https://github.com/ahmetoner/whisper-asr-webservice

    [1] - https://github.com/NVIDIA/NeMo

  • whisper-asr-webservice-client - A self-hosted OpenAI Whisper API client
    2 projects | /r/CKsTechNews | 17 Nov 2022
  • Show HN: A self-hosted OpenAI Whisper API client
    2 projects | news.ycombinator.com | 17 Nov 2022
    (read the docs in the repo)

    In terms of me not storing your data for this (I don't) I guess you'll just have to trust me?

    [0] - https://github.com/ahmetoner/whisper-asr-webservice

  • [P] OpenAI Whisper ASR Webservice API released
    1 project | /r/MachineLearning | 25 Sep 2022
    For more details: https://github.com/ahmetoner/whisper-asr-webservice

What are some alternatives?

When comparing whisperX and whisper-asr-webservice you can also consider the following projects:

whisper.cpp - Port of OpenAI's Whisper model in C/C++

whisper - Robust Speech Recognition via Large-Scale Weak Supervision

faster-whisper - Faster Whisper transcription with CTranslate2

generate-subtitles - Generate transcripts for audio and video content with a user friendly UI, powered by Open AI's Whisper with automatic translations and download videos automatically with yt-dlp integration

insanely-fast-whisper - Incredibly fast Whisper-large-v3

whisper-asr-webservice-client

openai-whisper-cpu - Improving transcription performance of OpenAI Whisper for CPU based deployment

gitbar-2023 - New release of gitbar website

ControlNet - Let us control diffusion models!