A Python API for SuperCollider
Project description
Supriya
Supriya is a Python API for SuperCollider.
Supriya lets you:
-
Boot and communicate with SuperCollider's
scsynth
synthesis engine: servers in realtime. -
Compile SuperCollider SynthDefs natively in Python code
-
Explore nonrealtime composition with scores.
-
Build time-agnostic asyncio-aware applications with the context interface.
-
Schedule patterns and callbacks with tempo- and meter-aware clocks
Quickstart
1. Get Supriya
Install from PyPI:
pip install supriya
Or from source:
git clone https://github.com/josiah-wolf-oberholtzer/supriya.git
cd supriya
pip install -e .
2. Get SuperCollider
Get SuperCollider from http://supercollider.github.io/.
3. Boot the server
Start your Python interpreter and import Supriya:
>>> import supriya
Boot the SuperCollider server:
>>> server = supriya.Server().boot()
4. Build a SynthDef
Import some classes:
>>> from supriya.ugens import EnvGen, Out, SinOsc
>>> from supriya.synthdefs import Envelope, synthdef
Make a synthesizer definition:
>>> @synthdef()
... def simple_sine(frequency=440, amplitude=0.1, gate=1):
... sine = SinOsc.ar(frequency=frequency) * amplitude
... envelope = EnvGen.kr(envelope=Envelope.adsr(), gate=gate, done_action=2)
... Out.ar(bus=0, source=[sine * envelope] * 2)
...
Visualize the SynthDef (requires Graphviz):
>>> supriya.graph(simple_sine)
Allocate it on the server:
>>> _ = server.add_synthdefs(simple_sine)
5. Create some nodes
Create and allocate a group:
>>> group = server.add_group()
Create some synthesizers with the previously defined synthesizer definition, and allocate them on the server as a child of the previously created group:
>>> for i in range(3):
... _ = group.add_synth(simple_sine, frequency=111 * (i + 1))
...
Query the server's node tree:
>>> print(server.query_tree())
NODE TREE 0 group
1 group
1000 group
1003 simple_sine
amplitude: 0.1, frequency: 333.0, gate: 1.0
1002 simple_sine
amplitude: 0.1, frequency: 222.0, gate: 1.0
1001 simple_sine
amplitude: 0.1, frequency: 111.0, gate: 1.0
6. Release and quit
Release the synths:
>>> for synth in group.children[:]:
... synth.free()
...
Quit the server:
>>> server.quit()
License
This library is made available under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for supriya-23.5b6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea9ea4c9d444b8b3a5a74a065fdd7cebb218e1b5bc4036e12ec58277ee011c99 |
|
MD5 | 798d784f4816b32e1aa2b123295bf1ab |
|
BLAKE2b-256 | bfa171016c7db6d6e2a8f053fee12e5abfad7e4b3854a23e106f07027eef8a69 |
Hashes for supriya-23.5b6-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182a05870b4999289f7fd6267a8fdbbf9ea205cd61410ca14209e98a7ef15f7b |
|
MD5 | 8b4059c35ae8a4bf5d55792c109f5b56 |
|
BLAKE2b-256 | 81192a1cb86ad360a6cc449acd5fdcee7f9c1f0f2cea4da120560315fd64957b |
Hashes for supriya-23.5b6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94695a6f1306ded53a801daf72a8ca5cebd194a52c9c027c239b4aa5cc2f3a1b |
|
MD5 | 286f12770fa560ff6d7596deb4c28edd |
|
BLAKE2b-256 | f810c7a2cfd46ef7eda8f730157da4bba9d661c5c81ce6bf4ec5fad78f0c5bc6 |
Hashes for supriya-23.5b6-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 634636fd75c2f18b28d47a25bdffc20ff4a8dd920fecc524006523a5fd5f4223 |
|
MD5 | ab2140049a831b47fefd8f6b0a701519 |
|
BLAKE2b-256 | 38a5c5bab498452df85e9313ee929d42e2b91e9fc5e08ddb7ae45d498ebf21c2 |
Hashes for supriya-23.5b6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8182ba8a3c79eb038bb8e1b4525815b36e2bb0d090a4c2e39236e583590fed14 |
|
MD5 | d14c364cf2f6c79c6b24a1feb4ade953 |
|
BLAKE2b-256 | 697237c077ae11522eb12fb994a8b71ce916425bbbea1e6892cbcf5ecf423476 |
Hashes for supriya-23.5b6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa8a659b9e14b80e47464624cd8652885c69392850367d6ba5fe802a7d98ff77 |
|
MD5 | 0bf2f5e4fd9961017d33e6bc6f151b8a |
|
BLAKE2b-256 | 4aa8a88faa1d42195f1b6f8c9f2fe180782e2341a80073f9cc8507026653f22d |
Hashes for supriya-23.5b6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6227c9e814d06284ac3801344ecdc72fc01f8427ca0fd5fcbc3944cba57b345e |
|
MD5 | 75f6c0078a5d2826beb9c444d322700d |
|
BLAKE2b-256 | 63f0c0b30bd19c2801f17ac71c0617540ff40d10ac8f72e82465fbe9b0c49623 |
Hashes for supriya-23.5b6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc783e26f68a1281884d5c254ffa6479d0bc8f359ddf2f9d93e4c62e0740427c |
|
MD5 | 68a7074c1fbde64b8055fd9be2fb4d13 |
|
BLAKE2b-256 | e15f26228595715c71d5876b039ab40083433985625c571a05c3a6645ceb0a50 |
Hashes for supriya-23.5b6-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d563a2d1c04a9ad287d4aeb54afd49733be0c6321347c02b0cc858e426e38b66 |
|
MD5 | 2751cbb5a4fb9d0dbbfb709af58bc68f |
|
BLAKE2b-256 | 1ccfdbdb2ddd230a17f90b86f7d1ed3589f23c7bd1bce846bcc53ee8d4f054eb |
Hashes for supriya-23.5b6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b91ba7d9cc9a0cb912d43d3e9da610b8e7aa4a0cb34566d5e403b3bc5fe1acc2 |
|
MD5 | 5c28b6e41e45aeade43e5fb10b467040 |
|
BLAKE2b-256 | f4e988e6fee552fc11a616497f2972a86c5f8b84f7e6b56c4a8c9e8424f6dab9 |
Hashes for supriya-23.5b6-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31b15ce0d2ef9a62ecba0d0d27a595046ca3038344d3f1161cb4451105359a3f |
|
MD5 | 80548b7eee126b0bbd900597baf7921e |
|
BLAKE2b-256 | 8bc531070ea5c1e437a3a0c804b1d2915f46e4e72b70b5834a02f2535f2a5162 |
Hashes for supriya-23.5b6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fae46bcd3579bb18011903e4e723863deff5c977713005422f60058fb335dd4b |
|
MD5 | a63d1a553321b8e23110e7e77ab64d76 |
|
BLAKE2b-256 | 7a106ce48f295dda22c2eff980660439cc07c77b4aa6ffbf902ead7974ade060 |
Hashes for supriya-23.5b6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a848f39d227cf96012c739d8f44b176a71aab672e341a1ed604ab9632609ec6e |
|
MD5 | 45d5ced16235b62aa4e9739fc2f97562 |
|
BLAKE2b-256 | 73b2cf95f3368d7f85683a8e9a7d638d844a492262614deb00f23565833b7766 |
Hashes for supriya-23.5b6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c9927832006ab0bb71deae97647279351bc5eddbfc929d6cf40297d88ee0729 |
|
MD5 | 854b6088ccc9b46a499981fb7a7146a3 |
|
BLAKE2b-256 | edcc0be5a9052534b08b4d0663f243f342536b41e1f5d0aba651b2f889d605f4 |
Hashes for supriya-23.5b6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7c56ef9f396747da7f0fcce4e7c1cb9c3f59458e6e19c7193e63ba9205f3672 |
|
MD5 | c2a5c65d2b125fcf3b471aa42cb2be9a |
|
BLAKE2b-256 | dc49336a4df6ae28ca34810beff8f4b18c1864e7c2daf8700d837f9267f78af5 |
Hashes for supriya-23.5b6-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 266e7fdf4168e818dd794cab46f393e3669bdfdc609d79b215758abdd74c876c |
|
MD5 | f126960cd2ad1b02aa9ccc0529fb9dc5 |
|
BLAKE2b-256 | 994e7db1e23f9530ad19ecefed8d016f2a98cdd1b298b79fde0c1120dd826552 |
Hashes for supriya-23.5b6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b717623900579c6af08b5f3206f12e04fba2c838bb9f268646d83d056cd42d |
|
MD5 | bcc1d7da8b5bd58b7a0a946a233ee9b0 |
|
BLAKE2b-256 | 4fd5c65ee40f492363c1770516aa88446d6e17cc217cdc2fa346247015246db2 |
Hashes for supriya-23.5b6-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd55c7111e77bd209e481f97bc043bbfaf326582d995c66d953775dead3a81d |
|
MD5 | 43d9c46d54341e62f7cd5d7e854c294f |
|
BLAKE2b-256 | 9a247a862694873013ec74a29807fedf04c2fda211df279a5d8f23e7484ccacf |
Hashes for supriya-23.5b6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89a84726b80ddf790ba1f3f1393cb35eda336bf2eb5418e3f02cbfb1045df5b6 |
|
MD5 | c8a031fad411e849d680bb9e3c73f252 |
|
BLAKE2b-256 | 9362a9e7201bf3d4969c5e472cea64e1a98ace56fa50f1bb14b9cee990ba928b |
Hashes for supriya-23.5b6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86d235a32a82b9bae1f39f9f2ecb4362fda61f8c91ab8a1b60d247ec9aa01508 |
|
MD5 | 50873ab6600e297d438847d5ace9f624 |
|
BLAKE2b-256 | 0cd782d4a089b28566a55cfec8343090c23b170c4c73ebc781c1089f025311c6 |
Hashes for supriya-23.5b6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a82220edf3a36dcd897517325e44bab3ec9fcdca13e101294a405d820204a396 |
|
MD5 | e681da5631dbff1b200f4f48c60d934b |
|
BLAKE2b-256 | 68680408782a5c8b534d0599b72461c43784ccbe1c850d8b754c8cca32e49e43 |
Hashes for supriya-23.5b6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aab04b8ff2b1318a65a097e6339c35eb71dc24dd03011237ef1573960eb018c0 |
|
MD5 | 4c20f102b61119c110143dcb721ddfac |
|
BLAKE2b-256 | 3bb974256987f2c8951e9ca0238cb4c2589af0fe7566899e842efd493f0fd195 |
Hashes for supriya-23.5b6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9051010eae868192f26c052ede91824a5686189ac4df18485141018aa4a2460d |
|
MD5 | 77af66ae288deef9da143169a7835e55 |
|
BLAKE2b-256 | 1bef7693dddeca9b2bb6cca20fb3feb62a68d685f6d00fdde1d5028c707f2705 |
Hashes for supriya-23.5b6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f0d25b54d5411c2edbd67b6b0926dc5944514c53e519051480d7fd699ef5bf0 |
|
MD5 | 48c1869d60ee5f76ddd3ad06b989ced6 |
|
BLAKE2b-256 | 6db674bdeef49503a9d5c33d25ad42d28d5cc24b4ba40c30f60a96e0f503b4bc |
Hashes for supriya-23.5b6-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a23d58f9329486c321e05a1bf5073661fe9ce10b91d4d111caf43fe51d369d70 |
|
MD5 | 20aa1d12053a28ca07844ad1e437971c |
|
BLAKE2b-256 | 8d5d1b7c809fc8b23a931a2ffefe4e3800a77a5b29b693129f3503283638db15 |
Hashes for supriya-23.5b6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c41edb3faa641f1574ec713a26c87eabc6fe03a595b3262418fc40fa272786d1 |
|
MD5 | d6dc9fb6162e9b33a8a9937a6e89e3a6 |
|
BLAKE2b-256 | ad0b6e019227ad19c5abef2542a34b1373258b53dda4c3a5faf718675bd677d1 |
Hashes for supriya-23.5b6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91d906eb7cce0126e0867807a945344db7a7dcd1c662bc6b95eedd0628545684 |
|
MD5 | 4368406c7baf627d58131938725b0f9b |
|
BLAKE2b-256 | dc2560e4c1eee4e94c0f455cbb416344cec03086bddc0b9b3244cf20b580794d |
Hashes for supriya-23.5b6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2c96ded1385960f51bef701bfb282d60aaac21f859f492c4aedff1ceae2e65e |
|
MD5 | 2477cd3908727cd65c0d9ed5ec0d7f57 |
|
BLAKE2b-256 | 1d2b5f3d5389c51b2e25c8fb72f554652b9e189b606448b74fdb267287c2030f |