Downloads · 30 days
53
50% of all-time downloads
taejinp/phPEE-canary-enc-1b-v2-sortformer-v2.1
phPEE-canary-enc-1b-v2-sortformer-v2.1 is a machine learning model from taejinp. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for nemo. The card lists the license as other.
A Parallel Expert speech Encoder that runs two experts on the same mel input and fuses their outputs:
Downloads · 30 days
53
50% of all-time downloads
All-time downloads
107
Public
Repo size
3.7 GB
Likes
0
Public
Click a slice to open those files.
.nemo3.7 GB · 100%
From the Hugging Face model README
A Parallel Expert speech Encoder that runs two experts on the same mel input and fuses their outputs:
The two branches run in parallel on the same (un-normalised) mel features; the ASR
branch internally re-applies normalize_batch. The speaker-activity predictions are
fused into the ASR hidden states via LayerNorm → sinusoidal speaker kernel → ADD.
The module is a drop-in replacement for ConformerEncoder — identical
forward(audio_signal, length) I/O (output shape (B, D, T)), so it can replace the
encoder in a SALM/Canary perception stack.
ConformerEncoder (same d_model, subsampling_factor, pre_encode).spk_targets (RTTM/oracle (B, T, n_spk)) to skip
running Sortformer..nemo bundle: model_config.yaml carries inline asr_encoder_cfg
diarization_model_cfg. By default the diarizer is frozen (freeze_diar=True) and the
ASR encoder is trainable (freeze_asr=False).Implemented by ParallelExpertEncoder / ParallelExpertEncoderPT in NeMo:
nemo/collections/asr/modules/parallel_expert_encoder.py.
from nemo.collections.asr.modules.parallel_expert_encoder import ParallelExpertEncoderPT
# Load this self-contained PE bundle and get the inner encoder
encoder = ParallelExpertEncoderPT.load_from_nemo("path/to/bundle.nemo")
# Drop-in ConformerEncoder I/O: audio_signal = (B, feat_in, n_frames) un-normalised mels
outputs, encoded_lengths = encoder(audio_signal=mels, length=lengths)
| Arg | Default | Description |
|---|---|---|
freeze_diar | True | Freeze the Sortformer diarizer. |
freeze_asr | False | Freeze the ASR Conformer encoder. |
asr_normalize_type | per_feature | Normalization replayed on the ASR branch. |
online_inference_length | 500 | Online window in output frames (~40s); <=0 disables. |
chunk_left_context / chunk_right_context | 50 / 50 | Overlap context (output frames) per online window. |
diar_fifo_len | 40 | Sortformer streaming FIFO length. |
diar_spkcache_update_period | 300 | Sortformer speaker-cache update period. |
diar_spkcache_len | 188 | Sortformer speaker-cache length. |
Note: This is an experimental module and a placeholder PEE checkpoint.