Skip to content

Real-time audio processing library in Python inspired by Nyquist, JUCE, Tone.js

Notifications You must be signed in to change notification settings

chrisdonahue/pyquist

 
 

Repository files navigation

pyquist

New Python library for CMU 15-322 Intro to Computer Music. WIP.

pyquist is not a full-fledged computer music programming framework. You will not find a rich collection of high-level unit generators for synthesis and processing.

Instead, pyquist provides basic abstractions for adapting Python for lower-level computer music programming via NumPy. It is a simple foundation for building more sophisticated computer music applications.

Principles:

  • Simple
  • Minimal dependencies
  • Accessible implementations
  • Well-documented core functionality

Installation

Requires Python 3.10 or later. venv is recommended.

Via pip

pip install --upgrade git+https://github.com/gclef-cmu/pyquist.git

From source

git clone [email protected]:gclef-cmu/pyquist.git
cd pyquist
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Run via Jupyter

pip install jupyter ipykernel ipywidgets
python -m ipykernel install --user --name=pyquist --display-name "Pyquist"
cd examples
jupyter notebook

For development

git clone [email protected]:gclef-cmu/pyquist.git
brew install [email protected]
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e .
pip install pre-commit
pre-commit install

Acknowledgements

Inspired by:

  • Nyquist
  • Tone.js
  • JUCE

About

Real-time audio processing library in Python inspired by Nyquist, JUCE, Tone.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%