Skip to main content

SYLBER: Syllabic Embedding Representation of Speech from Raw Audio

Paper | Audio Samples

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

  1. Distribute inference package

01/22/2025

  1. Sylber is accepted at ICLR 2025!

12/25/2024

  1. Initial code release with training and inference pipelines.
  2. 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

  1. 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.sh
    

    and untar datasets_fullband/datasets_fullband.noise_fullband.tar.bz2

  2. Generated Datasets: The other data used for training SYLBER are generated using the SDHuBERT repository. Please follow the instructions there for data preparation.

  3. 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)

Source distribution for sylber 0.1.4
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)

Table of built distributions (wheels) for sylber 0.1.4
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page