Skip to main content

Fast, differentiable audio processors on the CPU or GPU, with a browser client for real-time control

Project description

JAXdsp

Fast, differentiable audio processors on the CPU or GPU, controlled from the browser.

I'm still working on improvements and an interactive browser client, after which I'll write up a blog post. In the meantime, the docs directory has several Jupyter notebooks with plenty of examples. The Differentiable Audio Processors notebook shows many real DSP examples, along with loss/parameter time-series. (All files under docs/scratch are working notes, and can be ignored.) g The goal of this project is to parameterize audio graphs, in real-time, to produce an audio stream resembling incoming audio.

Built with JAX, WebRTC, WebSockets, and React. react-three-fiber provides the WebGL backbone for performant real-time clientside monitoring of the system.

Server

Docker

To build and run the server in a Linux container:

$ docker build . -t jaxdsp_server
$ docker run -p 8080:8080 jaxdsp_server
$ cd server
$ python server.py

Client

Note: For local development of the client within the test /app (see below), the client is included as a local file:../client dependency, and included in the babel transpilation for the /app build ( see app/craco.config.js).

build:dev in the client just symlinks the dist/jaxdsp-client.js target to the root index.js file.

$ cd client
$ npm ci
$ npm run build # or, for a development build: `build:dev`

App

$ cd app
$ npm ci
$ npm start

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

jaxdsp-0.3.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaxdsp-0.3.1-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file jaxdsp-0.3.1.tar.gz.

File metadata

  • Download URL: jaxdsp-0.3.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for jaxdsp-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a690c7c04e84396d74c54d5d2b005d6479927ce98b2a71d1e255bd49315f5be6
MD5 c6e9a98f8b303ac23c9d4b4120ffacab
BLAKE2b-256 1e6ea22cc6769f4f8ce1e4b927f44c677122a53c2cc21cec0c96f5befb4454c9

See more details on using hashes here.

File details

Details for the file jaxdsp-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: jaxdsp-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for jaxdsp-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d67a51b28211d98472d1836e1b928c051d687fdd0c8eefe649e3184e3e23c11f
MD5 f30d9aa15e6dcff3786930a57f5cbe08
BLAKE2b-256 08c2a66c711c82d9c6a0cef3305689643eaae3b8fac85c799f09f5da1c581fd6

See more details on using hashes here.

Supported by

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