SYLBER: Syllabic Embedding Representation of Speech from Raw Audio
Sylber is the first of its kind that yields extremely short tokens from raw audio (on average, 4.27 tokens/sec) through dynamic tokenization at the syllable granularity.
The model is developed and trained by Berkeley Speech Group.
Updates
03/02/2025
- Distribute inference package
01/22/2025
- Sylber is accepted at ICLR 2025!
12/25/2024
- Initial code release with training and inference pipelines.
- Checkpoint release
Installation
The model can be installed through pypi for inference.
pip install sylber
Please check demo notebook for the usage. For training, please follow the below instructions.
Usage
from sylber import Segmenter
# Loading Sylber
segmenter = Segmenter(model_ckpt="sylber")
# Run Sylber
wav_file = "samples/sample.wav"
outputs = segmenter(wav_file, in_second=True) # in_second can be False to output segments in frame numbers.
# outputs = {"segments": numpy array of [start, end] of segment,
# "segment_features": numpy array of segment-averaged features,
# "hidden_states": numpy array of raw features used for segmentation.
Environment
Install the dependencies from requirements.txt:
pip install -r requirements.txt
Training SYLBER
Datasets and Checkpoints
-
Noise Dataset for WavLM-based Augmentation: The noise dataset for the WavLM noise augmentation is sourced from DNS Challenge. You can use the following script to download the dataset:
bash download-dns-challenge-3.shand untar
datasets_fullband/datasets_fullband.noise_fullband.tar.bz2 -
Generated Datasets: The other data used for training SYLBER are generated using the SDHuBERT repository. Please follow the instructions there for data preparation.
-
Checkpoints: Pretrained model checkpoints for sylber are available on Google Drive: link
Stage 1 Training
python train.py --config-name=sylber_base
Stage 2 Training
python train.py --config-name=sylber_base_stage2
The training is split into two stages. Make sure to review the configurations in the configs/ directory for detailed settings.
Inference
Segmentation and Visualization
For inference to obtain segmentations and visualize results, please refer to demo.ipynb.
SPARC (formerly known as Articulatory Encodec)
For using SPARC, refer to Speech-Articulatory-Coding for installation and usage instructions.
Acknowledgements
Website adapted from: https://github.com/BytedanceSpeech/bytedancespeech.github.io
Citation
If you use this work, please cite our paper:
@article{cho2024sylber,
title={Sylber: Syllabic Embedding Representation of Speech from Raw Audio},
author={Cho, Cheol Jun and Lee, Nicholas and Gupta, Akshat and Agarwal, Dhruv and Chen, Ethan and Black, Alan W and Anumanchipalli, Gopala K},
journal={arXiv preprint arXiv:2410.07168},
year={2024}
}
Metadata
Release files for sylber 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sylber-0.1.4.tar.gz | 25.5 kB | Without provenance | Details for sylber-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sylber-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for sylber-0.1.4-py3-none-any.whl |
Total release size: 53.2 kB
Release files / sylber-0.1.4.tar.gz
| Download URL | sylber-0.1.4.tar.gz |
|---|---|
| Size | 25.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99c38359d2dad7a3bea33b5afc4554852ae3665083c2cb5b1753d7dfa254f673
|
|
BLAKE2b-256 checksum How to use checksums |
8371265be5626257580ea78c7f8699908edc2951a91d12327ca908c96d0db1d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / sylber-0.1.4-py3-none-any.whl
| Download URL | sylber-0.1.4-py3-none-any.whl |
|---|---|
| Size | 27.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20503303bd7937acfe6ce76c5550b87711cd8b421918ef7ea713d514528124e4
|
|
BLAKE2b-256 checksum How to use checksums |
96e9bfd0be756910c8a3fa040d0c111c8a163585b11e12ad2dc43dfc4c2446cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Security for sylber 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.