Speech Language Model
Less than 1 minute
Speech Language Model
This template contains two drivers for different SpeechLM training interfaces:
| Driver | Python entry point | Use |
|---|---|---|
speechlm.sh | espnet2.bin.speechlm_train | Existing staged recipes, such as LibriTTS and mini_an4, with the traditional ESPnet environment and job launcher |
train.sh | espnet2.speechlm.bin.train | Bagpiper and Bagpiper-TTS training with TorchTitan, prepared dataset manifests, and length statistics |
The drivers have different configuration and data interfaces. Keep using speechlm.sh for recipes built around it; train.sh provides the entry point for the current SpeechLM trainer. The existing setup.sh scaffolds the traditional speechlm.sh layout.
Training-only recipes
Bagpiper and Bagpiper-TTS contain run.sh, conf/, a README, and symlinks to the shared train.sh and utils. Their inputs are already prepared, so the data-preparation and cluster-launch files are unnecessary:
- Environment: there is no
path.shto activatetools/venv. Activate the environment from the SpeechLM installation guide first, or pass--python /path/to/env/bin/python.train.shadds the repository root toPYTHONPATHand uses that Python interpreter. - Launch: there is no
cmd.sh,${cuda_cmd},run.pl, orslurm.pldispatch.train.shinvokestorchrundirectly. For multiple nodes, start the command on every allocated node with the same--num-nodes,--master-addr, and--master-port, and a distinct--node-rank.--ngpumeans GPUs per node; allocate nodes with your scheduler before launching. - Data: there is no
local/data.sh,db.sh, or--stagepipeline. Supply prepared manifests and length statistics directly. Thelocal/,scripts,pyscripts,steps, and cluster configuration files used by the traditional pipeline are therefore omitted.
The default configuration is conf/train.yaml; additional stages live in conf/tuning/. See each recipe's README for stage selection and checkpoint usage.
