Skip to main content

SynthAX: A Fast Modular Synthesizer in JAX ⚡️

Pyversions PyPI version PyPI - License Paper

Accelerating audio synthesis far beyond realtime speeds has a significant role to play in advancing intelligent audio production techniques. SynthAX is a fast virtual modular synthesizer written in JAX. At its peak, SynthAX generates audio over 90,000 times faster than realtime, and significantly faster than the state-of-the-art in accelerated sound synthesis. It leverages massive vectorization and high-throughput accelerators. You can get started here Colab

Basic synthax API Usage

import jax
from synthax.config import SynthConfig
from synthax.synth import ParametricSynth

# Instantiate config
config = SynthConfig(
    batch_size=16,
    sample_rate=44100,
    buffer_size_seconds=4.0
)

# Instantiate synthesizer
synth = ParametricSynth(
    config=config,
    sine=1,
    square_saw=1,
    fm_sine=1,
    fm_square_saw=0
)

# Initialize and run
key = jax.random.PRNGKey(42)
params = synth.init(key)
audio = jax.jit(synth.apply)(params)

Installation

The latest synthax release can directly be installed from PyPI:

pip install synthax

If you want to get the most recent commit, please install directly from the repository:

pip install git+https://github.com/PapayaResearch/synthax.git@main

In order to use JAX on your accelerators, you can find more details in the JAX documentation.

Acknowledgements & Citing

If you use synthax in your research, please cite the following:

@conference{cherep2023synthax,
    title = {SynthAX: A Fast Modular Synthesizer in JAX},
    author = {Cherep, Manuel and Singh, Nikhil},
    booktitle = {Audio Engineering Society Convention 155},
    month = {May},
    year = {2023},
    url = {http://www.aes.org/e-lib/browse.cfm?elib=22261}
}

This project is based on torchsynth. We acknowledge financial support by Fulbright Spain.

Release files for synthax 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synthax 0.2.2
File Size Uploaded
synthax-0.2.2.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synthax 0.2.2
File Interpreter ABI Platform
synthax-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.4 kB

Release files / synthax-0.2.2.tar.gz

Download URL synthax-0.2.2.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6399c963a0ce2bdcd357ae96fb65a3b1b57a301b0594e41bfe6425ab88f194f6
BLAKE2b-256 checksum
How to use checksums
7b505621076c5105e45974f433f145938e1e024e1a6d7223c00fad3b60378a57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / synthax-0.2.2-py3-none-any.whl

Download URL synthax-0.2.2-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
77f94ada284069e3dae339cd5d6825fb31851b40ca5ab7f122d0d759715a533b
BLAKE2b-256 checksum
How to use checksums
270a4e42b5f9a8210d33ff88ad5cc8a6db6b1eadc1dc2179904c24054a11e756
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

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