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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a690c7c04e84396d74c54d5d2b005d6479927ce98b2a71d1e255bd49315f5be6
|
|
| MD5 |
c6e9a98f8b303ac23c9d4b4120ffacab
|
|
| BLAKE2b-256 |
1e6ea22cc6769f4f8ce1e4b927f44c677122a53c2cc21cec0c96f5befb4454c9
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d67a51b28211d98472d1836e1b928c051d687fdd0c8eefe649e3184e3e23c11f
|
|
| MD5 |
f30d9aa15e6dcff3786930a57f5cbe08
|
|
| BLAKE2b-256 |
08c2a66c711c82d9c6a0cef3305689643eaae3b8fac85c799f09f5da1c581fd6
|