Skip to main content

Pyo - Python DSP module

pyo is a Python module written in C to facilitate the creation of digital signal processing scripts.

pyo is a Python module containing classes for a wide variety of audio signal processing types. With pyo, users will be able to include signal processing chains directly in Python scripts or projects, and to manipulate them in real time through the interpreter. Tools in the pyo module offers primitives, like mathematical operations on audio signals, basic signal processing (filters, delays, synthesis generators, etc.), but also complex algorithms to create sound granulation and other creative audio manipulations. pyo supports OSC protocol (Open Sound Control), to ease communications between software, and MIDI protocol, for generating sound events and controlling process parameters. pyo allows creation of sophisticated signal processing chains with all the benefits of a mature, and widely used, general programming language.

Available on Pypi: Download wheels.

For more information and documentation, visit the PYO DOCUMENTATION.

How to install pre-built packages on any platform using pip: INSTALL Instructions.

How to get pyo running from sources on macOS and linux: COMPILE Instructions.

pyo was awarded second prize in the Lomus 2012 Free Software Competition.

You want to help the development of pyo ? Go to the pyo features market and make a donation for the feature you want to promote. You can also submit new features on the mailing-list ( https://github.com/belangeo/pyo/discussions ).

Radio Pyo

If you want to listen to scripts rendered in real-time, just connect to Radio Pyo !

You want to have your script played on the radio ? Download the template radiopyo_template.py, follow the rules and post it on the mailing-list !

Software using Pyo as audio engine

Cecilia 5 : An audio signal processing environment.

PsychoPy : An open-source application to allow the presentation of stimuli and collection of data for a wide range of neuroscience, psychology and psychophysics experiments.

Soundgrain : A graphical interface where users can draw and edit trajectories to control granular sound synthesis.

Zyne : A modular soft synthesizer.

Pyo Synth : Pyo Synth is an open source application that makes the manipulation of pyo scripts easier by letting you control it with a midi keyboard.

Examples

pyo is fully integrated to Python and very simple to use.

Play a sound:

>>> from pyo import *
>>> s = Server().boot()
>>> s.start()
>>> sf = SfPlayer("path/to/your/sound.aif", speed=1, loop=True).out()

Granulate an audio buffer:

>>> s = Server().boot()
>>> s.start()
>>> snd = SndTable("path/to/your/sound.aif")
>>> env = HannTable()
>>> pos = Phasor(freq=snd.getRate()*.25, mul=snd.getSize())
>>> dur = Noise(mul=0.001, add=0.1)
>>> g = Granulator(snd, env, [1, 1.001], pos, dur, 24, mul=0.1).out()

Generate melodies:

>>> s = Server().boot()
>>> s.start()
>>> wav = SquareTable()
>>> env = CosTable([(0,0), (100,1), (500,.3), (8191,0)])
>>> met = Metro(.125, 12).play()
>>> amp = TrigEnv(met, table=env, mul=0.1)
>>> pit = TrigXnoiseMidi(met, dist='loopseg', x1=20, scale=1, mrange=(48,84))
>>> out = Osc(table=wav, freq=pit, mul=amp).out()

Donation

This project is developed by Olivier Bélanger on his free time to provide a fully integrated Python dsp module for sound exploration and music composition. If you feel this project is useful to you and want to support it and its future development please consider donating money. I only ask for a small donation, but of course I appreciate any amount.

Support via PayPal

Metadata

Release files for pyo 1.1.0

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

Source distribution (sdist)

Source distribution for pyo 1.1.0
File Size Uploaded
pyo-1.1.0.tar.gz 8.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyo 1.1.0
File
pyo-1.1.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
pyo-1.1.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyo-1.1.0-cp315-cp315-macosx_13_0_arm64.whl CPython 3.15 CPython 3.15 macOS 13.0+ ARM64 Details
pyo-1.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pyo-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyo-1.1.0-cp314-cp314-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 macOS 13.0+ ARM64 Details
pyo-1.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyo-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyo-1.1.0-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details
pyo-1.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyo-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyo-1.1.0-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
pyo-1.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyo-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyo-1.1.0-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details

Total release size: 144.3 MB

Release files / pyo-1.1.0.tar.gz

Download URL pyo-1.1.0.tar.gz
Size 8.7 MB
Tags Source
SHA-256 checksum
How to use checksums
297dfc7464be3dae0bc8d2b7a8850942577cde5785b0f197ede2eb43f3d84181
BLAKE2b-256 checksum
How to use checksums
4052088e5420b6588d475ae9850cb744dcb37c6cb2597b95e7c50b33766bff5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp315-cp315-win_amd64.whl

Download URL pyo-1.1.0-cp315-cp315-win_amd64.whl
Size 8.8 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
a05bc63af10503c39a6cf38ea3abb5b94ea9c8c48a6989bc31943f1fcb0ba0c3
BLAKE2b-256 checksum
How to use checksums
eaa2ecebf36badd675e3fe2e095dba759331f3781751c6f12b1a7d87410b1c47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyo-1.1.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 8.3 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0578129cd8b67e6a8700f1eafe61ceb1362b9377c44e147c0cdd56f5313b58a2
BLAKE2b-256 checksum
How to use checksums
111f68d65d793dd2dfb8f52c1113e7be6935b641865d962bca801cb7144d25e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp315-cp315-macosx_13_0_arm64.whl

Download URL pyo-1.1.0-cp315-cp315-macosx_13_0_arm64.whl
Size 10.0 MB
Tags CPython 3.15 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
dbd448a29603be49897641d15790f515185892ba39d6ac3d0b3dfa1699ec4e22
BLAKE2b-256 checksum
How to use checksums
e5e0906bb7d52325546192f5641490850c3dbdeb14869349eb2c09f1ae5a540d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp314-cp314-win_amd64.whl

Download URL pyo-1.1.0-cp314-cp314-win_amd64.whl
Size 8.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
90630d7d935552bd6b12cb187994d0c3ef8444edc8a893369444892c0600d8f7
BLAKE2b-256 checksum
How to use checksums
82c0259bcd801392043922fa663f671d4599fe9992246969cc88440ac926128f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyo-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 8.3 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2df0061fa815e93e4f051c0bf412a0b5dee13845925e29b502f34573e3733ef6
BLAKE2b-256 checksum
How to use checksums
2feb17b67b434c098c8c5916d6d994d3738fb0a7e13ca97fefe074890a5e5fca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp314-cp314-macosx_13_0_arm64.whl

Download URL pyo-1.1.0-cp314-cp314-macosx_13_0_arm64.whl
Size 10.0 MB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
98d94f1ad9390e49953fec54833b074a37bee1138a922edbcfbfafdd40f0174b
BLAKE2b-256 checksum
How to use checksums
6349ae8721c986d88cb01023bb23b9c9c5190490c48e560bb76452e6f7e89983
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp313-cp313-win_amd64.whl

Download URL pyo-1.1.0-cp313-cp313-win_amd64.whl
Size 8.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
152e18c7a1d1c46d785b6221c43ca2aee147dace9382a59610f9dda56d208917
BLAKE2b-256 checksum
How to use checksums
f30483db43b2944d4f5db7aa215974eea6022ba16360f02c101c4a79a2b8ace0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyo-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 8.3 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5a40430887aa044cde931237e12e4a5cd851b4c1276687f7ab00f641482a4fa7
BLAKE2b-256 checksum
How to use checksums
5a9243da2ecde4f8f1775e06a2bde611870b21bf251a5d4a39af3d2efa352b8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp313-cp313-macosx_13_0_arm64.whl

Download URL pyo-1.1.0-cp313-cp313-macosx_13_0_arm64.whl
Size 10.0 MB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
35e4cbee13927171464f3c66a8f4553e1ab5e9a48b477587d10538cd9672f711
BLAKE2b-256 checksum
How to use checksums
3a398163d66fd4ba39a60763632053ab160a9cb0683d0540ef05935f5d24ff51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp312-cp312-win_amd64.whl

Download URL pyo-1.1.0-cp312-cp312-win_amd64.whl
Size 8.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c74a0a66e90fed35c202b553d82dc3a5a687353e9a46187841f71ef7eea12105
BLAKE2b-256 checksum
How to use checksums
5262a9d406f21910aa2ffdf830315ce9313bc7d6ee4458d76300fbcf6f3b3370
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyo-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 8.3 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5372be9bbff6b81e7028e316ac41580281a5233112420f5073273d5cf64d5589
BLAKE2b-256 checksum
How to use checksums
f840fe4fd6a9a1d1b3d83187dbd3f4bd310cf1772dd8368a11582edf0da715f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp312-cp312-macosx_13_0_arm64.whl

Download URL pyo-1.1.0-cp312-cp312-macosx_13_0_arm64.whl
Size 10.0 MB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
a1612d22650ca125130e116c580ddbf9971e48941c1529b92501fb03c47e868a
BLAKE2b-256 checksum
How to use checksums
5608fec359870416791641285790353277b3454b306f86655eabb13e16b42eab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp311-cp311-win_amd64.whl

Download URL pyo-1.1.0-cp311-cp311-win_amd64.whl
Size 8.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
3f5d36890df8a573f02c9aff5b835f454d852f4783cd68a5af9cc526b13e9fab
BLAKE2b-256 checksum
How to use checksums
3aa324a0139b5648d3978b366f4ee45cfd2a79f840cccbf791f85ba49099c720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyo-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 8.3 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9ddf088e449ad9a8369c5c4a3b50f5806e02312382bc01fb92509bd050149d42
BLAKE2b-256 checksum
How to use checksums
ae4e9724684bc4a4f32ce5876e4c7edf4f900424039604114327ec025f3cd0b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyo-1.1.0-cp311-cp311-macosx_13_0_arm64.whl

Download URL pyo-1.1.0-cp311-cp311-macosx_13_0_arm64.whl
Size 10.1 MB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5dd52cfc708235eae682b109a0d5a5d9a9af668027ac871a38d83f73e450a4b6
BLAKE2b-256 checksum
How to use checksums
07c9a6bef4a8c9d427ad7f7ff4cb3b8e4c968f7081d3e1d02225c19a3072b0e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

1.1.0 This release

16 release files

1.0.5

19 release files

1.0.3

13 release files

1.0.2

13 release files

1.0.1

27 release files

1.0.0

23 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