alt.freeweights.speech / kotoba-whisper-v2.2
From: kotoba-tech <huggingface.co/kotoba-tech>Newsgroups: alt.freeweights.speechSubject:

kotoba-whisper-v2.2

Date: 2026-11-15Commit: 9d33482Signed: 2DC28CC7B26A283B ✓

Automatic speech recognition model with 756M parameters. Safetensors weights, 3.03 GB in all. Published by kotoba-tech under Apache-2.0.

756M params3.03GBkotoba-whisper-v2.2safetensorspermissive
FactsParams756MSize3.03 GBFormatssafetensorsTaskautomatic speech recognitionLicenseApache-2.0From sourcepermissive
$ fw get kotoba-tech/kotoba-whisper-v2.2
# manifest sha256 296e8eb59475… · 3.03 GB · 20 files
$ fw verify ./kotoba-whisper-v2.2 kotoba-tech/kotoba-whisper-v2.2
From sourceHosted (signed)kotoba-tech/kotoba-whisper-v2.2Last check: 2026-11-15 02:40 UTC

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

Works with

Overview

Size
3.03 GB
Weights
3.03 GB (safetensors)
Parameters
756M
Formats
safetensors
Task
automatic speech recognition
License
Apache-2.0 (permissive)
Files
20, each with a sha256
Publisher
kotoba-tech
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:40 UTCpassed

Model card

From the publisher at commit 9d33482. Shown as plain text with links; images open at the publisher.

Kotoba-Whisper-v2.2#

Kotoba-Whisper-v2.2 is a Japanese ASR model based on kotoba-tech/kotoba-whisper-v2.0, with additional postprocessing stacks integrated as pipeline. The new features includes (i) speaker diarization with diarizers and (ii) adding punctuation with punctuators. The pipeline has been developed through the collaboration between Asahi Ushio and Kotoba Technologies

Transformers Usage#

Kotoba-Whisper-v2.2 is supported in the Hugging Face 🤗 Transformers library from version 4.39 onwards. To run the model, first install the latest version of Transformers.

pip install --upgrade pip
pip install --upgrade transformers accelerate torchaudio
pip install "punctuators==0.0.5"
pip install "pyannote.audio"
pip install git+https://github.com/huggingface/diarizers.git

To load pre-trained diarization models from the Hub, you'll first need to accept the terms-of-use for the following two models:

  1. pyannote/segmentation-3.0
  2. pyannote/speaker-diarization-3.1

And subsequently use a Hugging Face authentication token to log in with:

huggingface-cli login
Transcription with Diarization#

The model can be used with the pipeline.

  • Download an audio sample.
wget https://huggingface.co/kotoba-tech/kotoba-whisper-v2.2/resolve/main/sample_audio/sample_diarization_japanese.mp3
  • Run the model via pipeline.
import torch
from transformers import pipeline

# config
model_id = "kotoba-tech/kotoba-whisper-v2.2"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}


# load model
pipe = pipeline(
    model=model_id,
    torch_dtype=torch_dtype,
    device=device,
    model_kwargs=model_kwargs,
    batch_size=8,
    trust_remote_code=True,
)

# run inference
result = pipe("sample_diarization_japanese.mp3", chunk_length_s=15)
print(result)
>>> {
 'chunks/SPEAKER_00': [{'speaker_id': 'SPEAKER_00', 'text': '水をマレーシアから買わなくてはならないのです', 'timestamp': [22.1, 24.97]}],
 'chunks/SPEAKER_01': [{'speaker_id': 'SPEAKER_01', 'text': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども', 'timestamp': [0.03, 13.85]},
                      {'speaker_id': 'SPEAKER_01', 'text': '今は屋外の気温', 'timestamp': [5.03, 18.85]},
                      {'speaker_id': 'SPEAKER_01', 'text': '昼も夜も上がってますので', 'timestamp': [7.63, 21.45]},
                      {'speaker_id': 'SPEAKER_01', 'text': '空気の入れ替えだけではかえって人が上がってきます', 'timestamp': [9.91, 23.73]}],
 'chunks/SPEAKER_02': [{'speaker_id': 'SPEAKER_02', 'text': '愚直にやっぱりその街の良さをアピールしていくという', 'timestamp': [13.48, 22.1]},
                      {'speaker_id': 'SPEAKER_02', 'text': 'そういう姿勢が基本にあった上での', 'timestamp': [17.26, 25.88]},
                      {'speaker_id': 'SPEAKER_02', 'text': 'こういうPR作戦だと思うんですよね', 'timestamp': [19.86, 28.48]}],
 'chunks': [{'speaker_id': 'SPEAKER_00', 'text': '水をマレーシアから買わなくてはならないのです', 'timestamp': [22.1, 24.97]},
            {'speaker_id': 'SPEAKER_01', 'text': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども', 'timestamp': [0.03, 13.85]},
            {'speaker_id': 'SPEAKER_01', 'text': '今は屋外の気温', 'timestamp': [5.03, 18.85]},
            {'speaker_id': 'SPEAKER_01', 'text': '昼も夜も上がってますので', 'timestamp': [7.63, 21.45]},
            {'speaker_id': 'SPEAKER_01', 'text': '空気の入れ替えだけではかえって人が上がってきます', 'timestamp': [9.91, 23.73]},
            {'speaker_id': 'SPEAKER_02', 'text': '愚直にやっぱりその街の良さをアピールしていくという', 'timestamp': [13.48, 22.1]},
            {'speaker_id': 'SPEAKER_02', 'text': 'そういう姿勢が基本にあった上での', 'timestamp': [17.26, 25.88]},
            {'speaker_id': 'SPEAKER_02', 'text': 'こういうPR作戦だと思うんですよね', 'timestamp': [19.86, 28.48]}],
 'speaker_ids': ['SPEAKER_00', 'SPEAKER_01', 'SPEAKER_02'],
 'text/SPEAKER_00': '水をマレーシアから買わなくてはならないのです',
 'text/SPEAKER_01': 'これも先ほどがずっと言っている自分の感覚的には大丈夫ですけれども今は屋外の気温昼も夜も上がってますので空気の入れ替えだけではかえって人が上がってきます',
 'text/SPEAKER_02': '愚直にやっぱりその街の良さをアピールしていくというそういう姿勢が基本にあった上でのこういうPR作戦だと思うんですよね'
}
  • To activate punctuator:
-     result = pipe("sample_diarization_japanese.mp3")
+     result = pipe("sample_diarization_japanese.mp3", add_punctuation=True)

The punctuator will be applied to text/* feature. Eg.)

'text/SPEAKER_00': '水をマレーシアから買わなくてはならないのです。'
'text/SPEAKER_01': 'これも先ほどがずっと言っている。自分の感覚的には大丈夫です。けれども。今は屋外の気温、昼も夜も上がってますので、空気の入れ替えだけではかえって人が上がってきます。'
'text/SPEAKER_02': '愚直にその街の良さをアピールしていくという。そういう姿勢が基本にあった上での、こういうPR作戦だと思うんですよね。'
  • To contorol the number of speakers (see here):
-     result = pipe("sample_diarization_japanese.mp3")
+     result = pipe("sample_diarization_japanese.mp3", num_speakers=3)

or

-     result = pipe("sample_diarization_japanese.mp3")
+     result = pipe("sample_diarization_japanese.mp3", min_speakers=2, max_speakers=5)
  • To add silence before/after the audio sometimes improves the transcription quality:
-     result = pipe("sample_diarization_japanese.mp3")
+     result = pipe("sample_diarization_japanese.mp3", add_silence_end=0.5, add_silence_start=0.5)  # adding 0.5 sec silence to before/after the audio
Flash Attention 2#

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

Then pass attn_implementation="flash_attention_2" to from_pretrained:

- model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}
+ model_kwargs = {"attn_implementation": "flash_attention_2"} if torch.cuda.is_available() else {}

Acknowledgements#

Files

20 files · 3.03 GBWeights 3.03 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 20 files with their sha256
FileSizesha256
.gitattributes1.57 KBe3b4b54b929ab16273e9783f2548455741c1265bd668734ca5e9c6f487dbea3d
.gitignore109 B7ce20e262042cc87acfe7d7a6b71c8f744709927e51519e88f3856e0537931e2
README.md8.41 KBcf659cd1ebe9c69b56c75baf39b7dd6072bea71d81a6d87df8620ff689cec00a
added_tokens.json34.6 KB3c51f66c4c21f9e126970078f11ae77a78c74aee8df606ee9daba86e467108e0
config.json1.50 KB75e0166afbf44308af4908793fc5ade1707890ed15760f0529b468dcfc378aec
generation_config.json3.90 KB20d28b9169207ab6ca402ec9342393a88ec3f341d88c9da24e516e1da71c24de
kotoba_whisper.py13.6 KBc7ee086b48b833d6e3bccf11012d3aad6946221f24d949854d4653f4d13dcee7
merges.txt494 KB2df2990a395e35e8dfbc7511e08c12d56018d8d04691e0133e5d63b21e154dc6
model.safetensors3.03 GBe0ef3e7b379515f0c35d0e7885638ddef0fa9f5c8e3e3f88cbc6da9b39edd1e9
normalizer.json52.7 KBbf1c507dc8724ca9cf9903640dacfb69dae2f00edee4f21ceba106a7392f26dd
pipeline/kotoba_whisper.py13.6 KBc7ee086b48b833d6e3bccf11012d3aad6946221f24d949854d4653f4d13dcee7
pipeline/push_pipeline.py952 B1684f404c47ad43d8d764bd850df3470b1cad33beb42a4d37eadb9effd4ece31
pipeline/test_pipeline.py523 B6b1733cdcbdd3e31fb139c90e949ea517fcd514248bb8f08cebf5ef093ba7b04
pipeline/test_speaker_diarization.py341 B1ed7f9557bd41ec6df923c17fe0e11efc70e18ec8f37fcbba6bc78d272f02172
preprocessor_config.json340 B7ccc62c6f2765af1f3b46c00c9b5894426835a05021c8b9c01eecb6dfb542711
sample_audio/sample_diarization_japanese.mp3858 KB75afe01062ebd4b4e3555e8ef41becd56274e2d9b4f8c26919f870636a1c55f6
special_tokens_map.json2.19 KBbaea4ea09372eb4fca86b4e4346139fd73cb807d5087e9de0948e971739c3e74
tokenizer.json3.93 MB615928f5a25409279b47b47d87a4ca2aaee3bd09f65e1a3df6c9d23c718cfdb0
tokenizer_config.json283 KBc86c7398ba7f81f784569ea0ae165e252c4a006acc56906f04e5ee3300cf043e
vocab.json836 KB6788c80b082e9b0d1393147d3a3e62ba19285ac0c82ace8e5ef00f37ead58971
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
9d33482a0e pinned now2026-11-15 02:40 UTC20 files · 3.03 GB

Use it

$ fw get kotoba-tech/kotoba-whisper-v2.2
# manifest sha256 296e8eb59475… · 3.03 GB · 20 files
$ fw verify ./kotoba-whisper-v2.2 kotoba-tech/kotoba-whisper-v2.2
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/kotoba-tech/kotoba-whisper-v2.2.json --dir ./kotoba-whisper-v2.2 $ python3 fw.py verify ./kotoba-whisper-v2.2 ./kotoba-tech__kotoba-whisper-v2.2.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download kotoba-tech/kotoba-whisper-v2.2 --revision 9d33482a0eb9b57f1ad80708e8ac5538246d8355 --local-dir ./kotoba-whisper-v2.2
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="kotoba-tech/kotoba-whisper-v2.2", revision="9d33482a0eb9b57f1ad80708e8ac5538246d8355") print(asr("audio.wav")["text"])

License

Name
Apache License 2.0
Id
Apache-2.0
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
cf659cd1ebe9c69b56c75baf39b7dd6072bea71d81a6d87df8620ff689cec00a
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: kotoba-tech <huggingface.co/kotoba-tech>Newsgroups: alt.freeweights.speechSubject: kotoba-whisper-v2.2Date: 2026-11-15Commit: 9d33482Signed: 2DC28CC7B26A283B ✓
Upstream
kotoba-tech/kotoba-whisper-v2.2
Pinned commit
9d33482a0eb9b57f1ad80708e8ac5538246d8355
Manifest
kotoba-whisper-v2.2.json · .minisig
Manifest sha256
296e8eb594752692673d6eebc81f2bb0c3fbed20d83a5aefb1524eb486585397
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:40 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/kotoba-tech/kotoba-whisper-v2.2.json $ curl -O https://freeweights.allternit.com/manifests/kotoba-tech/kotoba-whisper-v2.2.json.minisig $ minisign -Vm kotoba-whisper-v2.2.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 kotoba-tech/kotoba-whisper-v2.2
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. kotoba-whisper-v2.2.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of kotoba-whisper-v2.2. 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