alt.freeweights.speech / distil-medium.en
From: distil-whisper <huggingface.co/distil-whisper>Newsgroups: alt.freeweights.speechSubject:

distil-medium.en

Date: 2026-11-15Commit: 6e61418Signed: 2DC28CC7B26A283B ✓

Automatic speech recognition model with 394M parameters. Ggml and onnx and safetensors weights, 13.9 GB in all. Published by distil-whisper under MIT.

394M params13.9GBdistil-medium.enggml onnx safetensorspermissive
FactsParams394MSize13.9 GBFormatsggml, onnx, safetensorsTaskautomatic speech recognitionLicenseMITFrom sourcepermissive
$ fw get distil-whisper/distil-medium.en
# manifest sha256 16333dfae663… · 13.9 GB · 38 files
$ fw verify ./distil-medium.en distil-whisper/distil-medium.en
From sourceHosted (signed)distil-whisper/distil-medium.enLast check: 2026-11-15 02:43 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Overview

Size
13.9 GB
Weights
2.37 GB (safetensors)
Parameters
394M
Formats
ggml, onnx, safetensors
Task
automatic speech recognition
License
MIT (permissive)
Files
38, each with a sha256
Publisher
distil-whisper
Added
2026-11-15
Section
alt.freeweights.speech
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 02:43 UTCpassed

Model card

From the publisher at commit 6e61418. Shown as plain text with links; images open at the publisher.

Distil-Whisper: distil-medium.en#

Distil-Whisper was proposed in the paper Robust Knowledge Distillation via Large-Scale Pseudo Labelling.

It is a distilled version of the Whisper model that is 6 times faster, 49% smaller, and performs within 1% WER on out-of-distribution evaluation sets. This is the repository for distil-medium.en, a distilled variant of Whisper medium.en.

ModelParams / MRel. Latency ↑Short-Form WER ↓Long-Form WER ↓
large-v315501.08.411.0
large-v215501.09.111.7
distil-large-v37566.39.710.8
distil-large-v27565.810.111.6
distil-medium.en3946.811.112.4
distil-small.en1665.612.112.8

Note: Distil-Whisper is currently only available for English speech recognition. We are working with the community to distill Whisper on other languages. If you are interested in distilling Whisper in your language, check out the provided training code. We will update the Distil-Whisper repository with multilingual checkpoints when ready!

Usage#

Distil-Whisper is supported in Hugging Face 🤗 Transformers from version 4.35 onwards. To run the model, first install the latest version of the Transformers library. For this example, we'll also install 🤗 Datasets to load toy audio dataset from the Hugging Face Hub:

pip install --upgrade pip
pip install --upgrade transformers accelerate datasets[audio]
Short-Form Transcription#

The model can be used with the pipeline class to transcribe short-form audio files (< 30-seconds) as follows:

import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset


device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

model_id = "distil-whisper/distil-medium.en"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    max_new_tokens=128,
    torch_dtype=torch_dtype,
    device=device,
)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = dataset[0]["audio"]

result = pipe(sample)
print(result["text"])

To transcribe a local audio file, simply pass the path to your audio file when you call the pipeline:

- result = pipe(sample)
+ result = pipe("audio.mp3")
Long-Form Transcription#

Distil-Whisper uses a chunked algorithm to transcribe long-form audio files (> 30-seconds). In practice, this chunked long-form algorithm is 9x faster than the sequential algorithm proposed by OpenAI in the Whisper paper (see Table 7 of the Distil-Whisper paper).

To enable chunking, pass the chunk_length_s parameter to the pipeline. For Distil-Whisper, a chunk length of 15-seconds is optimal. To activate batching, pass the argument batch_size:

import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset


device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

model_id = "distil-whisper/distil-medium.en"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    max_new_tokens=128,
    chunk_length_s=15,
    batch_size=16,
    torch_dtype=torch_dtype,
    device=device,
)

dataset = load_dataset("distil-whisper/librispeech_long", "default", split="validation")
sample = dataset[0]["audio"]

result = pipe(sample)
print(result["text"])
Speculative Decoding#

Distil-Whisper can be used as an assistant model to Whisper for speculative decoding. Speculative decoding mathematically ensures the exact same outputs as Whisper are obtained while being 2 times faster. This makes it the perfect drop-in replacement for existing Whisper pipelines, since the same outputs are guaranteed.

In the following code-snippet, we load the assistant Distil-Whisper model standalone to the main Whisper pipeline. We then specify it as the "assistant model" for generation:

from transformers import pipeline, AutoModelForCausalLM, AutoModelForSpeechSeq2Seq, AutoProcessor
import torch
from datasets import load_dataset

device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

assistant_model_id = "distil-whisper/distil-medium.en"

assistant_model = AutoModelForCausalLM.from_pretrained(
    assistant_model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
assistant_model.to(device)

model_id = "openai/whisper-medium.en"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    max_new_tokens=128,
    generate_kwargs={"assistant_model": assistant_model},
    torch_dtype=torch_dtype,
    device=device,
)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = dataset[0]["audio"]

result = pipe(sample)
print(result["text"])

Additional Speed & Memory Improvements#

You can apply additional speed and memory improvements to Distil-Whisper which we cover in the following.

Flash Attention#

We recommend using Flash-Attention 2 if your GPU allows for it. To do so, you first need to install Flash Attention:

pip install flash-attn --no-build-isolation

and then all you have to do is to pass use_flash_attention_2=True to from_pretrained:

- model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True)
+ model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True, use_flash_attention_2=True)
Torch Scale-Product-Attention (SDPA)#

If your GPU does not support Flash Attention, we recommend making use of BetterTransformers. To do so, you first need to install optimum:

pip install --upgrade optimum

And then convert your model to a "BetterTransformer" model before using it:

model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True)
+ model = model.to_bettertransformer()
Running Distil-Whisper in openai-whisper#

To use the model in the original Whisper format, first ensure you have the openai-whisper package installed:

pip install --upgrade openai-whisper

The following code-snippet demonstrates how to transcribe a sample file from the LibriSpeech dataset loaded using 🤗 Datasets:

import torch
from datasets import load_dataset
from huggingface_hub import hf_hub_download
from whisper import load_model, transcribe

medium_en = hf_hub_download(repo_id="distil-whisper/distil-medium.en", filename="original-model.bin")
model = load_model(medium_en)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = dataset[0]["audio"]["array"]
sample = torch.from_numpy(sample).float()

pred_out = transcribe(model, audio=sample)
print(pred_out["text"])

To transcribe a local audio file, simply pass the path to the audio file as the audio argument to transcribe:

pred_out = transcribe(model, audio="audio.mp3")
Whisper.cpp#

Distil-Whisper can be run from the Whisper.cpp repository with the original sequential long-form transcription algorithm. In a provisional benchmark on Mac M1, distil-medium.en is 4x faster than large-v2, while performing to within 1% WER over long-form audio.

Steps for getting started:

  1. Clone the Whisper.cpp repository:
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
  1. Download the ggml weights for distil-medium.en from the Hugging Face Hub:
python -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='distil-whisper/distil-medium.en', filename='ggml-medium-32-2.en.bin', local_dir='./models')"

Note that if you do not have the huggingface_hub package installed, you can also download the weights with wget:

wget https://huggingface.co/distil-whisper/distil-medium.en/resolve/main/ggml-medium-32-2.en.bin -P ./models
  1. Run inference using the provided sample audio:
make -j && ./main -m models/ggml-medium-32-2.en.bin -f samples/jfk.wav
Transformers.js#
import { pipeline } from '@xenova/transformers';

let transcriber = await pipeline('automatic-speech-recognition', 'distil-whisper/distil-medium.en');

let url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/jfk.wav';
let output = await transcriber(url);
// { text: " And so my fellow Americans, ask not what your country can do for you. Ask what you can do for your country." }

See the docs for more information.

Candle#

Through an integration with Hugging Face Candle 🕯️, Distil-Whisper is now available in the Rust library 🦀

Benefit from:

  • Optimised CPU backend with optional MKL support for x86 and Accelerate for Macs
  • CUDA backend for efficiently running on GPUs, multiple GPU distribution via NCCL
  • WASM support: run Distil-Whisper in a browser

Steps for getting started:

  1. Install candle-core as explained here
  2. Clone the candle repository locally:
git clone https://github.com/huggingface/candle.git
  1. Enter the example directory for Whisper:
cd candle/candle-examples/examples/whisper
  1. Run an example:
cargo run --example whisper --release -- --model distil-medium.en
  1. To specify your own audio file, add the --input flag:
cargo run --example whisper --release -- --model distil-medium.en --input audio.wav
8bit & 4bit Quantization#

Coming soon ...

Model Details#

Distil-Whisper inherits the encoder-decoder architecture from Whisper. The encoder maps a sequence of speech vector inputs to a sequence of hidden-state vectors. The decoder auto-regressively predicts text tokens, conditional on all previous tokens and the encoder hidden-states. Consequently, the encoder is only run forward once, whereas the decoder is run as many times as the number of tokens generated. In practice, this means the decoder accounts for over 90% of total inference time. Thus, to optimise for latency, the focus should be on minimising the inference time of the decoder.

To distill the Whisper model, we reduce the number of decoder layers while keeping the encoder fixed. The encoder (shown in green) is entirely copied from the teacher to the student and frozen during training. The student's decoder consists of only two decoder layers, which are initialised from the first and last decoder layer of the teacher (shown in red). All other decoder layers of the teacher are discarded. The model is then trained on a weighted sum of the KL divergence and pseudo-label loss terms.

Image: image

Evaluation#

The following code-snippets demonstrates how to evaluate the Distil-Whisper model on the LibriSpeech validation.clean dataset with streaming mode, meaning no audio data has to be downloaded to your local device.

First, we need to install the required packages, including 🤗 Datasets to stream and load the audio data, and 🤗 Evaluate to perform the WER calculation:

pip install --upgrade pip
pip install --upgrade transformers datasets[audio] evaluate jiwer

Evaluation can then be run end-to-end with the following example:

from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
from transformers.models.whisper.english_normalizer import EnglishTextNormalizer
from datasets import load_dataset
from evaluate import load
import torch
from tqdm import tqdm

# define our torch configuration
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

model_id = "distil-whisper/distil-medium.en"

# load the model + processor
model =  AutoModelForSpeechSeq2Seq.from_pretrained(model_id, torch_dtype=torch_dtype, use_safetensors=True, low_cpu_mem_usage=True)
model = model.to(device)
processor = AutoProcessor.from_pretrained(model_id)

# load the dataset with streaming mode
dataset = load_dataset("librispeech_asr", "clean", split="validation", streaming=True)

# define the evaluation metric
wer_metric = load("wer")
normalizer = EnglishTextNormalizer(processor.tokenizer.english_spelling_normalizer)

def inference(batch):
    # 1. Pre-process the audio data to log-mel spectrogram inputs
    audio = [sample["array"] for sample in batch["audio"]]
    input_features = processor(audio, sampling_rate=batch["audio"][0]["sampling_rate"], return_tensors="pt").input_features
    input_features = input_features.to(device, dtype=torch_dtype)
    
    # 2. Auto-regressively generate the predicted token ids
    pred_ids = model.generate(input_features, max_new_tokens=128)
    
    # 3. Decode the token ids to the final transcription
    batch["transcription"] = processor.batch_decode(pred_ids, skip_special_tokens=True)
    batch["reference"] = batch["text"]
    return batch

dataset = dataset.map(function=inference, batched=True, batch_size=16)

all_transcriptions = []
all_references = []

# iterate over the dataset and run inference
for i, result in tqdm(enumerate(dataset), desc="Evaluating..."):
    all_transcriptions.append(result["transcription"])
    all_references.append(result["reference"])

# normalize predictions and references
all_transcriptions = [normalizer(transcription) for transcription in all_transcriptions]
all_references = [normalizer(reference) for reference in all_references]

# compute the WER metric
wer = 100 * wer_metric.compute(predictions=all_transcriptions, references=all_references)
print(wer)

Print Output:

3.593196832001168

Intended Use#

Distil-Whisper is intended to be a drop-in replacement for Whisper on English speech recognition. In particular, it achieves comparable WER results over out-of-distribution test data, while being 6x faster over both short and long-form audio.

Data#

Distil-Whisper is trained on 22,000 hours of audio data from 9 open-source, permissively licensed speech datasets on the Hugging Face Hub:

DatasetSize / hSpeakersDomainLicence
People's Speech12,000unknownInternet ArchiveCC-BY-SA-4.0
Common Voice 133,000unknownNarrated WikipediaCC0-1.0
GigaSpeech2,500unknownAudiobook, podcast, YouTubeapache-2.0
Fisher1,96011,900Telephone conversationsLDC
LibriSpeech9602,480AudiobooksCC-BY-4.0
VoxPopuli5401,310European ParliamentCC0
TED-LIUM4502,030TED talksCC-BY-NC-ND 3.0
SwitchBoard260540Telephone conversationsLDC
AMI100unknownMeetingsCC-BY-4.0
Total21,77018,260+

The combined dataset spans 10 distinct domains and over 50k speakers. The diversity of this dataset is crucial to ensuring the distilled model is robust to audio distributions and noise.

The audio data is then pseudo-labelled using the Whisper large-v2 model: we use Whisper to generate predictions for all the audio in our training set and use these as the target labels during training. Using pseudo-labels ensures that the transcriptions are consistently formatted across datasets and provides sequence-level distillation signal during training.

WER Filter#

The Whisper pseudo-label predictions are subject to mis-transcriptions and hallucinations. To ensure we only train on accurate pseudo-labels, we employ a simple WER heuristic during training. First, we normalise the Whisper pseudo-labels and the ground truth labels provided by each dataset. We then compute the WER between these labels. If the WER exceeds a specified threshold, we discard the training example. Otherwise, we keep it for training.

Section 9.2 of the Distil-Whisper paper demonstrates the effectiveness of this filter for improving downstream performance of the distilled model. We also partially attribute Distil-Whisper's robustness to hallucinations to this filter.

Training#

The model was trained for 80,000 optimisation steps (or eight epochs). The Tensorboard training logs can be found under: https://huggingface.co/distil-whisper/distil-medium.en/tensorboard?params=scalars#frame

Results#

The distilled model performs to within 1% WER of Whisper on out-of-distribution (OOD) short-form audio, and outperforms Whisper by 0.1% on OOD long-form audio. This performance gain is attributed to lower hallucinations.

For a detailed per-dataset breakdown of the evaluation results, refer to Tables 16 and 17 of the Distil-Whisper paper

Distil-Whisper is also evaluated on the ESB benchmark datasets as part of the OpenASR leaderboard, where it performs to within 0.2% WER of Whisper.

Reproducing Distil-Whisper#

Training and evaluation code to reproduce Distil-Whisper is available under the Distil-Whisper repository: https://github.com/huggingface/distil-whisper/tree/main/training

License#

Distil-Whisper inherits the MIT license from OpenAI's Whisper model.

Citation#

If you use this model, please consider citing the Distil-Whisper paper:

@misc{gandhi2023distilwhisper,
      title={Distil-Whisper: Robust Knowledge Distillation via Large-Scale Pseudo Labelling}, 
      author={Sanchit Gandhi and Patrick von Platen and Alexander M. Rush},
      year={2023},
      eprint={2311.00430},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Acknowledgements#

Files

38 files · 13.9 GBWeights 2.37 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 38 files with their sha256
FileSizesha256
.eval_results/open_asr_leaderboard.yaml2.13 KB278e389f7bd5fb88d47e9c2ec52aed10a65bdb438ee63429e1d8bbbd4b549ef0
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
.idea/.gitignore176 B0a5548b173aac0ef943bbb3af850d676f7b651ddedb9f8d7f06735bc2809b3db
.idea/distil-medium.en.iml284 Bc81735b4bf0304f3c9a8c3d6dfd82d231a627b049c64aabb4a1d7d25a201cc3d
.idea/inspectionProfiles/Project_Default.xml3.17 KB2efb31943756ba8d7af1c59af05e5c0995ad518a7205fb50aeb5280bdaf6f8a5
.idea/inspectionProfiles/profiles_settings.xml174 B6172c5997eeb3cd19c9ca2b5b97d6e2983cdd1fa60b2460d7bbb74055edcaa46
.idea/misc.xml200 B29590bada29d50f84aa62d86243b5110819c6a5dbdaffeee81cbebf4988fcec9
.idea/modules.xml284 Bfeec0e8f16c40103f4c91f5ac3be271f83fad0cf0a1c8725dc3429a17b74eddc
.idea/vcs.xml167 B6323e12648862a0a96fc0d7877672817d6cd91e2c2a3c3d78f1090db23c6e88e
README.md23.6 KB4dda5384b806b12a7fe970c4589083d9aa0e2877a698e533e9603c065f0ddfad
added_tokens.json34.6 KB560be47bea388757f8d4cc185c5d82067426cbb6361e38016dd90ddc01ab203a
config.json2.26 KBcb33648304b0ecc2d627a49e56759da8f2f73b9ab6b2071854ec81c1eeea705c
flax_model.msgpack1.58 GB599f9b646de7ccd7d7059e13307cb44e9588d08cf2d627f2ca61e96d0727fe47
generation_config.json1.31 KB265c561805358b68a863e0a07b19b81d2d5673d6ae9f5ad0c542729d7d84c6e7
ggml-medium-32-2.en.bin794 MBad53ccb618188b210550e98cc32bf5a13188d86635e395bb11115ed275d6e7aa
ggml-medium-32-2.en.fp32.bin1.58 GB598761592c57db1f8ad90a38b59a2e20d067fb8225bb605299e1bc68250bff21
merges.txt456 KB1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5
model.fp32.safetensors1.58 GBc9c60a56f81e492449ffadb505fbf8b987b2dd14e8422f8858ddaab2c37c4650
model.safetensors789 MB1ba7295420ad3e1ce2fe5f7e150b72f2adfd1f9f05925d806481a7391a8708ee
normalizer.json52.7 KBbf1c507dc8724ca9cf9903640dacfb69dae2f00edee4f21ceba106a7392f26dd
onnx/decoder_model.onnx349 MBe0e15a2d032fcd3575bd04341478f4a66f18f5430be9a9f3b7e611d707989d39
onnx/decoder_model_merged.onnx349 MBdd38db94e0d7da4782bf05fbeb3c6099cd2ac7ed60b409ffc465ccc254f47501
onnx/decoder_model_merged_quantized.onnx88.9 MBe744ad33f16f0a7a7a87f768d6bdf93508b670a00d9b4bfbd59a7b15f68b9171
onnx/decoder_model_quantized.onnx88.8 MB1c7a3accdc2dcbfd523e3e830c1ebe5ad9a1eb3ad126e49f8667ab0c30d7f580
onnx/decoder_with_past_model.onnx332 MB7fef459f834ce7027111d58e52b62964b0d3b0caad9dd4b6678159233673a974
onnx/decoder_with_past_model_quantized.onnx84.6 MB1142c545ad3a6bdfd3b69d039da9813370966ddbfd59c04049b2b82ea1e7c64b
onnx/encoder_model.onnx1.23 GB7ef47730fe47ce9e8a92bea5aa66c93608d76a14b264c7372199e13ab7a5335d
onnx/encoder_model_quantized.onnx313 MBf4aaa9e403f136976cf1f6b9deb7d951324b0bd07b8e7805ff0419c42d756005
original-model.bin789 MB01e13e93f66fb9f17e8cd766743fa1dc13f3edd3f81eba351dbb07829619fc94
original-model.fp32.bin1.58 GB904e2f6df7d1e8546ae7c2e3e5c4c3503f71e503a031fe4b988a3e200914f014
preprocessor_config.json339 Ba6a76d28c93edb273669eb9e0b0636a2bddbb1272c3261e47b7ca6dfdbac1b8d
pytorch_model.bin789 MBb7ddef2988461d96a6f8bdb0b8253e08993057a3c573eb5050a429c470a65903
pytorch_model.fp32.bin1.58 GB091e585ad06874f5e768332cb2be53b94c1317d2e3c89a0ca25dce69a529802b
runs/events.out.tfevents.1696846170.t1v-n-bb301c85-w-0.8276.0.v2645 KBed7300b487b0aef5b840ec31c7122fb4ae3dc126e532b64a9d698e9b7612dedb
special_tokens_map.json2.06 KBe83d2334f14f9af49248441e53a174e4c1f85fb3b874a0d9317d5e74fa7364b1
tokenizer.json2.41 MB79eb6cded9fd5d31cc83def0bc5fc9b3afa4973df1da4c7fbc89c44adfa8fe32
tokenizer_config.json283 KB936f3d6e321f1ab0d72f41529611a2f7c509672ca367df1cea78c9c1fc1c5dc3
vocab.json798 KB3ba3c3109ff33976c4bd966589c11ee14fcaa1f4c9e5e154c2ed7f99d80709e7
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
6e61418885 pinned now2026-11-15 02:43 UTC38 files · 13.9 GB

Use it

$ fw get distil-whisper/distil-medium.en
# manifest sha256 16333dfae663… · 13.9 GB · 38 files
$ fw verify ./distil-medium.en distil-whisper/distil-medium.en
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/distil-whisper/distil-medium.en.json --dir ./distil-medium.en $ python3 fw.py verify ./distil-medium.en ./distil-whisper__distil-medium.en.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download distil-whisper/distil-medium.en --revision 6e61418885eaf4d5cc9f64e508e80ac5b4c052b7 --local-dir ./distil-medium.en
transformersSpeech recognition with the transformers pipeline.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import pipeline asr = pipeline("automatic-speech-recognition", model="distil-whisper/distil-medium.en", revision="6e61418885eaf4d5cc9f64e508e80ac5b4c052b7") print(asr("audio.wav")["text"])

License

Name
MIT License
Id
MIT
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
4dda5384b806b12a7fe970c4589083d9aa0e2877a698e533e9603c065f0ddfad
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: distil-whisper <huggingface.co/distil-whisper>Newsgroups: alt.freeweights.speechSubject: distil-medium.enDate: 2026-11-15Commit: 6e61418Signed: 2DC28CC7B26A283B ✓
Upstream
distil-whisper/distil-medium.en
Pinned commit
6e61418885eaf4d5cc9f64e508e80ac5b4c052b7
Manifest
distil-medium.en.json · .minisig
Manifest sha256
16333dfae663a53e7a1ddc2da79fbc42e42a6de51475eddcbca75c9fe4c10f24
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:43 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/distil-whisper/distil-medium.en.json $ curl -O https://freeweights.allternit.com/manifests/distil-whisper/distil-medium.en.json.minisig $ minisign -Vm distil-medium.en.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download distil-whisper/distil-medium.en
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. distil-medium.en.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of distil-medium.en. Each has its own license check and page.

From: MIT <huggingface.co/MIT>Subject: ast-finetuned-audioset-10-10-0.4593
From: onnx-community <huggingface.co/onnx-community>Subject: ast-finetuned-audioset-10-10-0.4593-ONNX
From: Edge0 <huggingface.co/Edge0>Subject: Audio8-TTS-Preview-0.6b
From: Edge0 <huggingface.co/Edge0>Subject: Audio8-TTS-Realistic-Air
From: facebook <huggingface.co/facebook>Subject: audiobox-aesthetics
From: mlx-community <huggingface.co/mlx-community>Subject: chatterbox-4bit