Skip to main content

Descript Audio Codec - MLX

Project description

Descript Audio Codec — MLX

Implementation of the Descript Audio Codec, with the MLX framework.

Descript can compress 44kHz audio into discrete codes at 8kbps and produces high quality reconstructions at a 90:1 compression ratio compared to the raw audio.

This repository is based on the original Pytorch implementation available here.

Installation

pip install descript-mlx

Usage

You can load a pretrained model from Python like this:

import mlx.core as mx

from descript_mlx import DAC

dac = DAC.from_pretrained("44khz") # or "24khz" / "16khz"
audio = mx.array(...)

# encode into latents and codes
z, codes, latents, commitment_loss, codebook_loss = dac.encode(audio)

# reconstruct from latents/codes to audio
reconstucted_audio = dac.decode(z)

# compress audio to a DAC file
dac_file = dac.compress(audio)
dac_file.save("/path/to/file.dac")

# decompress audio from a DAC file
reconstructed_audio = dac.decompress("/path/to/file.dac")

Citations

@misc{kumar2023highfidelityaudiocompressionimproved,
      title={High-Fidelity Audio Compression with Improved RVQGAN}, 
      author={Rithesh Kumar and Prem Seetharaman and Alejandro Luebs and Ishaan Kumar and Kundan Kumar},
      year={2023},
      eprint={2306.06546},
      archivePrefix={arXiv},
      primaryClass={cs.SD},
      url={https://arxiv.org/abs/2306.06546}, 
}

License

The code in this repository is released under the MIT license as found in the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

descript_mlx-0.0.2.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

descript_mlx-0.0.2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file descript_mlx-0.0.2.tar.gz.

File metadata

  • Download URL: descript_mlx-0.0.2.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for descript_mlx-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1a5024313bff8cf1bba26b5fb81a2d0da65ec1f06249ecb732346432869050fe
MD5 491e81ae042274ed48355c76387b07fc
BLAKE2b-256 f4f7674d5825e2f5d822c3c608a380667477a348494e19e42711ccb7545b7dba

See more details on using hashes here.

File details

Details for the file descript_mlx-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: descript_mlx-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for descript_mlx-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ac6ac83814797b71cd6fcdcc10c0bc32f6a03632a8dda71469a10a4e823a5678
MD5 6e02c6b1d759c1c0008c602e5b88ab0e
BLAKE2b-256 496aded846da947dec670912058d0485add578e5ca0485a9d80639c32eac243b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page