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-24.1b2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1cfa9b8a41f854b82f7bed6c407d7b60fe34263d710ca87b101164ad553be35 |
|
MD5 | 6b3b1f99624832a3f661a7d10bffdfb0 |
|
BLAKE2b-256 | 4fd9118c9ca86bb7a323641184efd1dfed65e9a847aa1b1a997b72c031aaeac5 |
Hashes for supriya-24.1b2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8211609038f7ae07c7be9615840bc7acc50d3033ccc202e4b31156a023c655d2 |
|
MD5 | 3dfa42913be57b863a7dc0d46dd8f461 |
|
BLAKE2b-256 | 4254c65f49812afa5989a9d9a3ee54358a16618c8ba4d35371da29dcbf8803d7 |
Hashes for supriya-24.1b2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81a01d243526dfad04c852b0416ff6ec0368b53640fbbbe08ee37b85f82d5839 |
|
MD5 | b098f2ab2ec0fa3f537e62df3a1a0011 |
|
BLAKE2b-256 | a41ae4da8707516df44a0c63a7cd13f89a25e8adb55900d63deafd0dd490d7b3 |
Hashes for supriya-24.1b2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a10195c7391d52d3a38702016c1534bc2df724d51c22e1dc800da6f1e8c80493 |
|
MD5 | 062307deb04e7728effce4dd897219e8 |
|
BLAKE2b-256 | 172c07ed1d082a11f8ea59aafd8ad278ecbb57a5d1a792ede078fe32fdbe80d2 |
Hashes for supriya-24.1b2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eae8d1bee7ec13a31c2bd0b34b65c774f0728846b53e0bf5b5ea5ebf95512b3b |
|
MD5 | 83418c4898e9191cd4a5c12793c3b2d9 |
|
BLAKE2b-256 | 1e6d4695c4d3e36044c74aa95956c43f83aba4640e8addff85ad5b009897e1cc |
Hashes for supriya-24.1b2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8907fd5a7824737ed16b59a769e6a647301d16e60f0cf0c4caa79719cbb3eb32 |
|
MD5 | 231043e26aa5249c156dfef9cdac52e8 |
|
BLAKE2b-256 | e6ecb706d25287df7a8110e118bbe284509909eb28bc20ad229bc57152d15713 |
Hashes for supriya-24.1b2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0e30a1d4339321872761969d436cf907e78db2bd64d23d10aa51926a655c280 |
|
MD5 | d5708e9e2be8ac2bc74ce1653d557315 |
|
BLAKE2b-256 | 064f69509820aa280ab3d502bd64dbf3f2313f364a16880a5e237646466f7b98 |
Hashes for supriya-24.1b2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca53c9832d6a2cfe00d6a15bcae4e3b4ebc2525a5d552726535669b4edce9715 |
|
MD5 | c5cc73545dc015fcdd53624a0e8266b9 |
|
BLAKE2b-256 | b224b69ef04a30ce03b44a955c73739690f6d6d0ae0e91f1e0a94c703e384175 |
Hashes for supriya-24.1b2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca019aa7f00dd35aa00cf7c67faab595afa724f111aba15ba1aad17cc7d5045f |
|
MD5 | 074e57436579c99cd0eb46d461b364d8 |
|
BLAKE2b-256 | 2aa9a24641964b9c5f21f0b9e6729dbf9db22128e3c3585f5d59c652b64a31f2 |
Hashes for supriya-24.1b2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11e8c443f64706bf21ce22cfd495928b4e65d079328b80efebd864a91a539042 |
|
MD5 | a47c587450bf8b88587a364f90c3e0c3 |
|
BLAKE2b-256 | dc51eb9ec4cd2b8108f31262ef92be3de6d9987cd04f72eaf0cac2e47464bbb8 |
Hashes for supriya-24.1b2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 833006141673021b9a46f66aa6a29430349cc8f6b190098c857bf1931c915af9 |
|
MD5 | a340b6fb9626e1637fe7304ad5edc780 |
|
BLAKE2b-256 | cc96b92246644d193b2284dc7c2419120bb51f276c933bfaf9ffc49ac1a6034b |
Hashes for supriya-24.1b2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd78d0f2f5d71d35507d150f3e9693c7ccf1254ef106ec68317606af0faba541 |
|
MD5 | 601ae6846c91ff40f59f7e993cb0283c |
|
BLAKE2b-256 | a713e87812e8995200dd5ece27d3ca710cf1f5160725cef31edb62ad042a666d |
Hashes for supriya-24.1b2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52695cff55c51477e7caead7b9363ad231fdbd422014affb338b79dccc43ae58 |
|
MD5 | 67227cc608068f06dae6c366339052b9 |
|
BLAKE2b-256 | 4928cda338fca1beb1376892dc533a51195bdcaee4c56092d4b2920edde70eb0 |
Hashes for supriya-24.1b2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9e4e94dbe7fa57e3e7abf09dce941779b05031cfeba75755aab574037c53941 |
|
MD5 | 3aae6ee13e5a624ef440ce2d8e9637c5 |
|
BLAKE2b-256 | e09134a6f98377bf9882f432254e41f85f61c6b0e53b8992a07d5d6f3b67c453 |
Hashes for supriya-24.1b2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91b3377fc287fc48d50d824a322b3354ab35d7876fe7cde9d49b1db151afad46 |
|
MD5 | e36318b70cd4e38beaa12e249d03fe4a |
|
BLAKE2b-256 | df02eaa4d85a1cf4aa31c26c7a11897720ab55b2d6a61eaea4425bba7d8c8331 |
Hashes for supriya-24.1b2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36ef932273350ee9f2a22f6d058097a9b4068527d575b536aba2d635a48d2c61 |
|
MD5 | 31673fe6878e786db6125ba1e91ddb72 |
|
BLAKE2b-256 | 753603c7b83e04b8196228c771c335c5be6584080731028a7733b2a12e9bb160 |
Hashes for supriya-24.1b2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3039fa731955244466e86e088cedbdc088f008202055fd06855573a8b27aeab |
|
MD5 | dc64c66bb491e45762d6de495408a973 |
|
BLAKE2b-256 | 312836cddad1819628e64a1298b61ad05fa73ff13448b8f6499311d9cf309ec1 |
Hashes for supriya-24.1b2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 583db3a02ac16485f54135d9730b40c7ad66972d42260984d7e767cb24dbbfe6 |
|
MD5 | 37befd3c074d0e0df9b27a758fe697a0 |
|
BLAKE2b-256 | 348de80c66b51d11189f3f32f038a34ebb87408c29d6c97f717941f39ec1125a |
Hashes for supriya-24.1b2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e74fefbd55d6f62880845e8af538d1023af7dc80ecd8d70df121f101200f0667 |
|
MD5 | 521fa15d80515824f13780d8691402af |
|
BLAKE2b-256 | 7c1fbb7c6881e4248028540eb584a1abac9099b6143ee57e6a355ff8ffec2183 |
Hashes for supriya-24.1b2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed72b9edef17e296813014e5465630259fb33add358b6d8c078772e8ed96b1f7 |
|
MD5 | b1d2ea6858d0b844d88f8277373ff812 |
|
BLAKE2b-256 | 0b5c02ea56b9768886be8ae7e2fc18f4c2216f2338692c4d26794f7976f4c810 |
Hashes for supriya-24.1b2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98ef14fc6873d15ec1a86edc8a7405ed3510b753d728ff802374597461333b2c |
|
MD5 | b1fb8f47effa2d04402f69cc23008996 |
|
BLAKE2b-256 | e147e8bbf5470119a11b720e4e6ea3141e66a77045551ee53817716346b9b1c2 |
Hashes for supriya-24.1b2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ea1b158612e67fcfdad5b3090ec1f6935a51536ac48f7d219e2e04ed0e6a848 |
|
MD5 | e9b87f2807f6198350d64c27b306cdb1 |
|
BLAKE2b-256 | ca7304e513e16fdc23261743387a0458022094b8c3c124ff213f4c56c9475d26 |
Hashes for supriya-24.1b2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c52cb4c8df5dbd7c7576fe0d6a9b409cff6352833cf0299a03987633197eae26 |
|
MD5 | 7cbb48e109f54aa48ac4324883848f4b |
|
BLAKE2b-256 | 5c5e473adca55d7dcf200ef9f22f800a5449be8ca5e9dda75a4f563117a2e047 |
Hashes for supriya-24.1b2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 644c0ab6bb5a6beebc98ff75802f09ea7c15463c5c3ed3627f4b496b70c7e817 |
|
MD5 | d218775eca7bb5a2534429a26d00c054 |
|
BLAKE2b-256 | 6959b668aed20abde8ab11197013290b267431605b4c585a19105effb3aef129 |
Hashes for supriya-24.1b2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fad99b7c79985b8204878cbc3dece2eaada7ec2249fd6f91878101291fa66a0 |
|
MD5 | 9a6cc8adcbf0dc2af496b8e92a61f603 |
|
BLAKE2b-256 | 35384d07104c0a91615ae6aa1442d01624ed9f28ab87901da147f7e3f5eb367c |
Hashes for supriya-24.1b2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43596f87ad0d9febbddf6a6ebddbf4384c1c70e4d47487690123a11904c37942 |
|
MD5 | 161e82a453831acbb49138b7912b19ee |
|
BLAKE2b-256 | a45df9cfee331cbd468fad8d12e3c04c0e38f5614cf0a42f0c81f093aa0946c3 |
Hashes for supriya-24.1b2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17fbcf6e02466d75a2f525b2473b68c5795459add6a87870947565c1bb793909 |
|
MD5 | bcf2027e10c35ad88d9a398c5fb01e2f |
|
BLAKE2b-256 | 1b80aceed48d5a781f6e663016262df87a1e7a004c81f51bec6ae2f5c4ade133 |
Hashes for supriya-24.1b2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa2723ae1fe90ac478ef5c18595a0bb8cdc064ab401a6a3febf1b96695e0f6f5 |
|
MD5 | 2db0deab490c4ac377248bd29682297d |
|
BLAKE2b-256 | 9a894606ed5ba63df3c3979bc5f796cddd47fe2eaa5493a411fb990516ffec34 |