Dicodec is a disentangled audio codec that can process either WavLM features or Mel spectrograms as input. Its architecture is designed to explicitly isolate different components of the audio signal through a multi-branch approach:
By disentangling these elements, Dicodec allows you to easily isolate and manipulate specific audio components (e.g., separating the speaker's voice from the spoken content and intonation).
To set up the environment and install the required dependencies using uv, run:
uv pip install -e .
uv pip install -e ".[training,eval]"
Dicodec uses Hydra for robust configuration management. The base configurations are located in configs/defaults/, while experiment-specific overrides are stored in configs/settings/.
To start a training run with a specific setting file, use:
python train.py settings=your_experiment_name
accelerate launch train.py settings=your_experiment_name
accelerate launch --config_file configs/deepspeed/ds_config.yaml train.py settings=your_experiment_name
Hydra allows you to override any configuration parameter directly from the command line. For example:
python train.py settings=your_experiment_name training.learning_rate=1e-4 training.per_device_train_batch_size=8
Python
100.0%
Dicodec is a disentangled audio codec that can process either WavLM features or Mel spectrograms as input. Its architecture is designed to explicitly isolate different components of the audio signal through a multi-branch approach:
By disentangling these elements, Dicodec allows you to easily isolate and manipulate specific audio components (e.g., separating the speaker's voice from the spoken content and intonation).
To set up the environment and install the required dependencies using uv, run:
uv pip install -e .
uv pip install -e ".[training,eval]"
Dicodec uses Hydra for robust configuration management. The base configurations are located in configs/defaults/, while experiment-specific overrides are stored in configs/settings/.
To start a training run with a specific setting file, use:
python train.py settings=your_experiment_name
accelerate launch train.py settings=your_experiment_name
accelerate launch --config_file configs/deepspeed/ds_config.yaml train.py settings=your_experiment_name
Hydra allows you to override any configuration parameter directly from the command line. For example:
python train.py settings=your_experiment_name training.learning_rate=1e-4 training.per_device_train_batch_size=8
Python
100.0%