LCMA-SRT: Language-Conditional Mixture-of-Experts Adapters for Joint Multilingual Speech Recognition and Translation
Neural transducers offer an alignment-free framework for speech-to-text modeling, and hierarchical transducer architectures further improve multilingual joint automatic speech recognition (ASR) and speech translation (ST) by stacking a translation-focused encoder on top of an ASR encoder. However, extending hierarchical transducers to multilingual many-to-many settings remains challenging: fully shared models often suffer from negative transfer and unstable target-language generation, while training separate models for each direction is computationally prohibitive. We propose LCMA-SRT (Language-Conditional Mixture-of-Experts Adapters for Speech Recognition and Translation), which augments a hierarchical transducer with language-conditional Mixture-of-Experts (MoE) adapters. A source-conditioned MoE adapter (SRC-MoE) uses source-language embeddings to reduce cross-language interference and improve multilingual ASR. A target-conditioned MoE adapter (TGT-MoE) uses the desired target language to reduce cross-target interference and stabilize target-language generation in many-to-many ST. Experiments on Europarl-ST (9 languages, 72 directions) show that LCMA-SRT improves both ASR and ST within a single joint model, reducing average WER and improving BLEU and COMET over strong hierarchical transducer baselines.
Main Results
Multilingual ASR Pretraining
| Model | WER (%) ↓ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| de | en | es | fr | it | nl | pl | pt | ro | Avg | |
| CR-CTC | 24.57 | 18.59 | 20.76 | 19.24 | 17.33 | 36.75 | 25.28 | 19.82 | 18.77 | 22.35 |
| + MoE | 24.39 | 18.41 | 20.16 | 18.61 | 17.28 | 36.83 | 24.36 | 19.70 | 18.79 | 22.06 |
| + S-Bias | 23.89 | 17.60 | 19.58 | 17.41 | 16.73 | 34.72 | 23.63 | 18.21 | 17.97 | 21.08 |
| + SRC-MoE | 23.34 | 17.45 | 19.41 | 17.34 | 16.27 | 35.20 | 23.28 | 18.16 | 17.48 | 20.88 |
Many-to-Many Joint Training (Average)
| Model | WER (%)↓ | Average BLEU ↑ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| de | en | es | fr | it | nl | pl | pt | ro | Avg | ||
| HENT-SRT-M20×9 | 23.28 | 10.7 | 21.2 | 19.1 | 18.2 | 14.2 | 16.5 | 7.2 | 18.4 | 12.1 | 15.3 |
| HENT-SRT-M2M | 16.65 | 2.6 | 12.8 | 5.5 | 4.0 | 1.8 | 3.5 | 1.2 | 4.9 | 2.5 | 4.3 |
| LCMA-SRT | 15.71 | 15.2 | 25.9 | 25.8 | 24.7 | 20.0 | 20.5 | 10.7 | 23.9 | 17.6 | 20.5 |
| Model | LMR (%)↓ | Average COMET ↑ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| de | en | es | fr | it | nl | pl | pt | ro | Avg | ||
| HENT-SRT-M20×9 | 0.65 | 0.507 | 0.656 | 0.587 | 0.542 | 0.565 | 0.558 | 0.550 | 0.609 | 0.598 | 0.575 |
| HENT-SRT-M2M | 84.95 | 0.380 | 0.543 | 0.478 | 0.427 | 0.435 | 0.401 | 0.385 | 0.471 | 0.406 | 0.436 |
| LCMA-SRT | 0.75 | 0.574 | 0.715 | 0.682 | 0.627 | 0.656 | 0.613 | 0.616 | 0.693 | 0.678 | 0.651 |
Usage
1. Install dependencies
# Clone the code repository
git clone https://github.com/linanjie0820/LCMA-SRT.git
cd LCMA-SRT
# Install icefall environment
# See: https://k2-fsa.github.io/icefall/installation/index.html
pip install safetensors sentencepiece torch torchaudio kaldifeat k2 lhotse
2. Download model
pip install huggingface_hub
huggingface-cli download linanjie0820/lcma-srt --local-dir ./model
3. Inference
# ASR (speech recognition)
python model/inference.py --audio test.wav --task asr --src-lang en
# AST (speech translation, e.g., English -> German)
python model/inference.py --audio test.wav --task ast --src-lang en --tgt-lang de
# Both ASR + AST simultaneously
python model/inference.py --audio test.wav --task both --src-lang en --tgt-lang de
Example Output
ASR only:
$ python inference.py --audio en_5525.flac --task asr --src-lang en
==================================================
Decoding ASR...
[ASR] mister president one of the key issues in the new lisbon treaty is the increased role of the european union in the world
==================================================
AST only (English -> German):
$ python inference.py --audio en_5525.flac --task ast --src-lang en --tgt-lang de
==================================================
Decoding AST (en -> de)...
[AST en->de] herr präsident eine wichtige des neuen vertrag von lissabon ist die erhöhten der europäischen union in der welt
==================================================
Both ASR + AST:
$ python inference.py --audio en_5525.flac --task both --src-lang en --tgt-lang de
==================================================
Decoding ASR...
[ASR] mister president one of the key issues in the new lisbon treaty is the increased role of the european union in the world
Decoding AST (en -> de)...
[AST en->de] herr präsident eine wichtige des neuen vertrag von lissabon ist die erhöhten der europäischen union in der welt
==================================================
Loading weights in Python
from safetensors.torch import load_file
# Load weights
state_dict = load_file("model/lcma-srt.safetensors")
# Build model (requires LCMA-SRT code repo)
model.load_state_dict(state_dict, strict=False)
model.eval()
Files
| File | Description |
|---|---|
lcma-srt.safetensors |
Model weights (averaged over training) |
config.json |
Model architecture configuration |
bpe_asr.model |
SentencePiece tokenizer for ASR |
bpe_ast.model |
SentencePiece tokenizer for AST |
tokens_asr.txt |
ASR token list |
tokens_ast.txt |
AST token list |
inference.py |
Inference example script |
Training & Decoding
Supported Languages
The dataset covers 9 European languages:
| Code | Language |
|---|---|
es |
Spanish |
de |
German |
en |
English |
fr |
French |
nl |
Dutch |
pl |
Polish |
pt |
Portuguese |
ro |
Romanian |
it |
Italian |
All non-identical language pairs are processed (72 pairs total).
Output Format
Each final CutSet manifest entry (MonoCut) contains:
{
"id": "en_5525-758",
"start": 0,
"duration": 6.76,
"channel": 0,
"supervisions": [
{
"id": "en_5525",
"recording_id": "en_5525",
"start": 0.0,
"duration": 6.76,
"channel": 0,
"text": "mister president one of the key issues in the new lisbon treaty is the increased role of the european union in the world",
"language": "en",
"speaker": "unknown",
"custom": {
"st_text": "herr präsident einer der hauptpunkte des neuen vertrages von lissabon ist die aufwertung der rolle der europäischen union in der welt",
"lang": "de"
}
}
],
"recording": {
"id": "en_5525",
"sources": [
{
"type": "file",
"channels": [0],
"source": "data/Europarl-ST/audio/test/en_5525.flac"
}
],
"sampling_rate": 16000,
"num_samples": 108160,
"duration": 6.76
},
"type": "MonoCut"
}
Key fields:
supervisions[0].text: ASR ground truth transcriptionsupervisions[0].language: source languagesupervisions[0].custom.st_text: ST ground truth translationsupervisions[0].custom.lang: target language
For training and full decoding scripts, please refer to the GitHub repository.
Citation
@inproceedings{li2026lcma,
title={LCMA-SRT: Language-Conditional Mixture-of-Experts Adapters for Joint Multilingual Speech Recognition and Translation},
author={Li, Nanjie and Guo, Xiaoyong and Huang, Hao and Haihua, Xu and Shi, Wei},
booktitle={Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
pages={35363--35377},
year={2026}
}
License
Apache License 2.0
- Downloads last month
- 27