Skip to page content
SAVRN
Search Plan a project

Open-weight model · Speech recognition

HeartTranscriptor-oss-coreml

by Sam ssmall256/HeartTranscriptor-oss-coreml

HeartTranscriptor-oss-coreml is an open-weight model for speech recognition from Sam, released under Apache License 2.0. Its published files total 2.2 GB.

Whisper-medium fine-tune for sung lyrics by the HeartMuLa team, converted to WhisperKit's Core ML format for macOS and iOS.

Parameters—
Context—
Weights2.2 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Sam, published under apache-2.0, revision 181aa174cc2a.

Whisper-medium fine-tune for sung lyrics by the HeartMuLa team, converted to WhisperKit's Core ML format for macOS and iOS. SwiftHeardLyrics (HeardLyricsHeart) downloads and runs it, on the GPU or the Neural Engine, and DemucsStudio uses it for lyrics of separated vocals. "Words different" compares with the float32 PyTorch model on 50 MUSDB18-HQ vocal excerpts; the word error rate is against the lyrics of 10 JamendoLyrics songs (2,792 words), with words aligned by a CTC aligner. The 6-bit model needs 1.0 GB of memory on an iPhone's Neural Engine instead of 1.8 GB, runs 1.5x slower on the GPU, and is what SwiftHeardLyrics downloads on iOS. - Converted with whisperkittools (audio encoder…

Read Sam's full model card

HeartTranscriptor-oss for Core ML (WhisperKit)

HeartMuLa/HeartTranscriptor-oss, a Whisper-medium fine-tune for sung lyrics by the HeartMuLa team, converted to WhisperKit's Core ML format for macOS and iOS. SwiftHeardLyrics (HeardLyricsHeart) downloads and runs it, on the GPU or the Neural Engine, and DemucsStudio uses it for lyrics of separated vocals.

Folder Weights Size Words different from PyTorch (GPU / Neural Engine) WER, JamendoLyrics
HeartTranscriptor-whisperkit float16 1.4 GB 0.8 % / 2.3 % 25.3 %
HeartTranscriptor-whisperkit-6bit 6-bit palettized 627 MB 5.8 % / 7.9 % 24.4 %

"Words different" compares with the float32 PyTorch model on 50 MUSDB18-HQ vocal excerpts; the word error rate is against the lyrics of 10 JamendoLyrics songs (2,792 words), with words aligned by a CTC aligner. The 6-bit model needs 1.0 GB of memory on an iPhone's Neural Engine instead of 1.8 GB, runs 1.5x slower on the GPU, and is what SwiftHeardLyrics downloads on iOS.

Changes from the original

  • Converted with whisperkittools (audio encoder, text decoder, mel spectrogram, tokenizer).
  • The audio encoder's residual stream is multiplied by 8 (with the attention output projections, fc2 and LayerNorm eps scaled to match). LayerNorm is scale invariant, so the encoder computes the same function; in float16 on the Neural Engine its output improves from 48 to 56 dB PSNR.
  • The checkpoint's use_cache is turned on for conversion; the weights are unchanged.
  • HeartTranscriptor-whisperkit-6bit: post-training 6-bit k-means palettization with coremltools (per grouped channel, 16 channels per lookup table).

SwiftHeardLyrics computes the log-mel input in float32 itself, as the reference does, rather than with the included float16 MelSpectrogram model. Each folder's files and their SHA-256 are in manifest.json. Conversion scripts: scripts/export_heart_whisperkit.sh and scripts/quantize_heart_whisperkit.py in SwiftHeardLyrics.

License

Apache-2.0, as the original model (LICENSE).

Identity and Version

Repository
ssmall256/HeartTranscriptor-oss-coreml
Publisher
Sam
Task
Speech recognition
Modality
Audio
Library
whisperkit
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
181aa174cc2aab60eba6f6490b21eeb7ad5460c1
First published
2026-10-18
Last updated
2026-10-18

Files and Weights

54 files, 2.2 GB in total. The weights are 18 files totalling 2.2 GB in bin.

Weights18 files · 2.2 GB
Configuration19 files · 585.1 KB
Tokenizer8 files · 8.2 MB
Documentation2 files · 13.8 KB
Other6 files · 12.7 MB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
HeartTranscriptor-whisperkit-6bit/AudioEncoder.mlmodelc/analytics/coremldata.binWeights243 B 6b9835d2046d
HeartTranscriptor-whisperkit-6bit/AudioEncoder.mlmodelc/coremldata.binWeights408 B 66e3e304c1ce
HeartTranscriptor-whisperkit-6bit/AudioEncoder.mlmodelc/weights/weight.binWeights234.5 MB 16c49e145e7d
HeartTranscriptor-whisperkit-6bit/MelSpectrogram.mlmodelc/analytics/coremldata.binWeights243 B 82a918ab0e1a
HeartTranscriptor-whisperkit-6bit/MelSpectrogram.mlmodelc/coremldata.binWeights389 B 80c7f7c0ac28
HeartTranscriptor-whisperkit-6bit/MelSpectrogram.mlmodelc/weights/weight.binWeights354.1 KB 801024dbc7a8
HeartTranscriptor-whisperkit-6bit/TextDecoder.mlmodelc/analytics/coremldata.binWeights243 B 6b7d4228ed0a
HeartTranscriptor-whisperkit-6bit/TextDecoder.mlmodelc/coremldata.binWeights698 B 9edcfdf1322b
HeartTranscriptor-whisperkit-6bit/TextDecoder.mlmodelc/weights/weight.binWeights412.1 MB bd363551fc70
HeartTranscriptor-whisperkit/AudioEncoder.mlmodelc/analytics/coremldata.binWeights243 B f11b51214bc7
HeartTranscriptor-whisperkit/AudioEncoder.mlmodelc/coremldata.binWeights408 B 8a700236bfd9
HeartTranscriptor-whisperkit/AudioEncoder.mlmodelc/weights/weight.binWeights614.5 MB 5e56b418adb8
HeartTranscriptor-whisperkit/MelSpectrogram.mlmodelc/analytics/coremldata.binWeights243 B 9ac99282d5fb
HeartTranscriptor-whisperkit/MelSpectrogram.mlmodelc/coremldata.binWeights389 B 56572c858d7c
HeartTranscriptor-whisperkit/MelSpectrogram.mlmodelc/weights/weight.binWeights354.1 KB 801024dbc7a8
HeartTranscriptor-whisperkit/TextDecoder.mlmodelc/analytics/coremldata.binWeights243 B ecff0ff255b8
HeartTranscriptor-whisperkit/TextDecoder.mlmodelc/coremldata.binWeights698 B 50a63263d2c6
HeartTranscriptor-whisperkit/TextDecoder.mlmodelc/weights/weight.binWeights913.4 MB b7e9e0592396
HeartTranscriptor-whisperkit-6bit/AudioEncoder.mlmodelc/metadata.jsonConfiguration2.0 KB —
HeartTranscriptor-whisperkit-6bit/MelSpectrogram.mlmodelc/metadata.jsonConfiguration2.0 KB —
HeartTranscriptor-whisperkit-6bit/TextDecoder.mlmodelc/metadata.jsonConfiguration5.1 KB —
HeartTranscriptor-whisperkit-6bit/added_tokens.jsonConfiguration34.6 KB —
HeartTranscriptor-whisperkit-6bit/config.jsonConfiguration1.3 KB —
HeartTranscriptor-whisperkit-6bit/generation_config.jsonConfiguration3.7 KB —
HeartTranscriptor-whisperkit-6bit/normalizer.jsonConfiguration52.7 KB —
HeartTranscriptor-whisperkit-6bit/preprocessor_config.jsonConfiguration185.0 KB —
HeartTranscriptor-whisperkit-6bit/special_tokens_map.jsonConfiguration2.2 KB —
HeartTranscriptor-whisperkit/AudioEncoder.mlmodelc/metadata.jsonConfiguration1.9 KB —
HeartTranscriptor-whisperkit/MelSpectrogram.mlmodelc/metadata.jsonConfiguration1.9 KB —
HeartTranscriptor-whisperkit/TextDecoder.mlmodelc/metadata.jsonConfiguration4.9 KB —
HeartTranscriptor-whisperkit/added_tokens.jsonConfiguration34.6 KB —
HeartTranscriptor-whisperkit/config.jsonConfiguration1.3 KB —
HeartTranscriptor-whisperkit/generation_config.jsonConfiguration3.7 KB —
HeartTranscriptor-whisperkit/normalizer.jsonConfiguration52.7 KB —
HeartTranscriptor-whisperkit/preprocessor_config.jsonConfiguration185.0 KB —
HeartTranscriptor-whisperkit/special_tokens_map.jsonConfiguration2.2 KB —
manifest.jsonConfiguration8.2 KB —
LICENSEDocumentation11.4 KB —
README.mdDocumentation2.4 KB —
HeartTranscriptor-whisperkit-6bit/AudioEncoder.mlmodelc/model.milOther5.3 MB —
HeartTranscriptor-whisperkit-6bit/MelSpectrogram.mlmodelc/model.milOther8.9 KB —
HeartTranscriptor-whisperkit-6bit/TextDecoder.mlmodelc/model.milOther673.7 KB —
HeartTranscriptor-whisperkit/AudioEncoder.mlmodelc/model.milOther5.9 MB —
HeartTranscriptor-whisperkit/MelSpectrogram.mlmodelc/model.milOther10.1 KB —
HeartTranscriptor-whisperkit/TextDecoder.mlmodelc/model.milOther707.9 KB —
.gitattributesRepository1.5 KB —
HeartTranscriptor-whisperkit-6bit/merges.txtTokenizer493.9 KB —
HeartTranscriptor-whisperkit-6bit/tokenizer.jsonTokenizer2.5 MB —
HeartTranscriptor-whisperkit-6bit/tokenizer_config.jsonTokenizer282.7 KB —
HeartTranscriptor-whisperkit-6bit/vocab.jsonTokenizer835.5 KB —
HeartTranscriptor-whisperkit/merges.txtTokenizer493.9 KB —
HeartTranscriptor-whisperkit/tokenizer.jsonTokenizer2.5 MB —
HeartTranscriptor-whisperkit/tokenizer_config.jsonTokenizer282.7 KB —
HeartTranscriptor-whisperkit/vocab.jsonTokenizer835.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
2.2 GB
Download from Sam

Released by Sam through its official repository on Hugging Face. Read the license.

Built From

  • Derived from HeartMuLa/HeartTranscriptor-oss

Memory Requirements

PrecisionWeights in memory
As published2.2 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About HeartTranscriptor-oss-coreml

Can I use HeartTranscriptor-oss-coreml commercially?

Yes. HeartTranscriptor-oss-coreml is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Speech recognition

wav2vec2-large-xlsr-53-japanese

Jonatas Grosman

Fine-tuned facebook/wav2vec2-large-xlsr-53 on Japanese using the train and validation splits of Common Voice 6.1, CSS10 and JSUT. When using this model, make sure that your speech input is sampled at 16kHz. This model has been fine-tuned thanks to the GPU credits generously given by the OVHcloud:) The script used for training can be found here: https://github.com/jonatasgrosman/wav2vec2-sprint The model can be used directly (without a language model) as follows... Using the HuggingSound library: The model can be evaluated as follows on the Japanese test data of Common Voice. In the table below I report the Word Error Rate (WER) and the Character Error Rate (CER) of the model. I ran the…

Open weights apache-2.0 transformers

Model · Speech recognition

whisperkit-coreml

Argmax

WhisperKit is part of Argmax OSS, an On-device Speech AI SDK for Apple Silicon: https://github.com/argmaxinc/argmax-oss-swift Check out the WhisperKit paper and presentation from ICML 2025: https://icml.cc/virtual/2025/47854 For real-time transcription with speakers and custom vocabulary, check out Argmax Pro SDK: https://www.argmaxinc.com/blog/argmax-sdk-2

Open weights mit whisperkit

Model · Speech recognition

speaker-diarization-3.1

Pyannote

Using this open-source model in production? Consider switching to pyannoteAI for better and faster options. This pipeline is the same as pyannote/speaker-diarization-3.0 except it removes the problematic use of onnxruntime. Both speaker segmentation and embedding now run in pure PyTorch. This should ease deployment and possibly speed up inference. It requires pyannote.audio version 3.1 or higher. It ingests mono audio sampled at 16kHz and outputs speaker diarization as an Annotation instance: - stereo or multi-channel audio files are automatically downmixed to mono by averaging the channels. - audio files sampled at a different rate are resampled to 16kHz automatically upon loading. 1.…

Access requested at publisher mit pyannote-audio

Model · Speech recognition

speaker-diarization-community-1

Pyannote

This pipeline ingests mono audio sampled at 16kHz and outputs speaker diarization. - stereo or multi-channel audio files are automatically downmixed to mono by averaging the channels. - audio files sampled at a different rate are resampled to 16kHz automatically upon loading. The main improvements brought by Community-1 are: - improved speaker assignment and counting - simpler reconciliation with transcription timestamps with exclusive speaker diarization - easy offline use (i.e. without internet connection) - (optionally) hosted on pyannoteAI cloud 1. pip install pyannote.audio 3. Create access token at hf.co/settings/tokens. Out of the box, Community-1 is much better than…

Access requested at publisher cc-by-4.0 pyannote-audio

Model · Speech recognition

faster-whisper-small

Systran

This repository contains the conversion of openai/whisper-small to the CTranslate2 model format. This model can be used in CTranslate2 or projects based on CTranslate2 such as faster-whisper. The original model was converted with the following command: Note that the model weights are saved in FP16. This type can be changed when the model is loaded using the computetype option in CTranslate2. For more information about the original model, see its model card.

Open weights mit ctranslate2

Fine-tuned facebook/wav2vec2-large-xlsr-53 on Portuguese using the train and validation splits of Common Voice 6.1. When using this model, make sure that your speech input is sampled at 16kHz. This model has been fine-tuned thanks to the GPU credits generously given by the OVHcloud:) The script used for training can be found here: https://github.com/jonatasgrosman/wav2vec2-sprint The model can be used directly (without a language model) as follows... Using the HuggingSound library: 1. To evaluate on mozilla-foundation/commonvoice60 with split test 2. To evaluate on speech-recognition-community-v2/devdata If you want to cite this model you can use this

Open weights apache-2.0 transformers