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/supriya-project/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 import Envelope, synthdef
>>> from supriya.ugens import EnvGen, Out, SinOsc
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)
... and then sync the server before proceeding to ensure the SynthDef has been fully parsed by scsynth:
>>> _ = server.sync()
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.5b2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9489e15be2889485ac7f48b2ddc97c5f8dec4ee3ff86096b8cd9a16c6132da93 |
|
MD5 | d59a5cb8f54bd18a2c19622e1ad7c9d2 |
|
BLAKE2b-256 | 312d70e024e1fced6ef86d46bafcf02d7e0baa5b554dd00f219c0083e3e98477 |
Hashes for supriya-24.5b2-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cf60cdb8b77f5e18df1442fc861688f6abdf467219c875d5b0186c8826bd75f |
|
MD5 | bf3303c27116e0f6b4ca7dc1bd4a4d49 |
|
BLAKE2b-256 | b8e952eb797c68850680a197e3903ba6191e69a9e2506bf5829b055dbf0ace44 |
Hashes for supriya-24.5b2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627c6f59833682bcd56afea29a3d5ffdc872af28a4bc6a6774e0861d2594169a |
|
MD5 | 520552e441329e34330d9270f9a86899 |
|
BLAKE2b-256 | 449db7f5aaf70dad54aa2d86bffe837b923b36b175d2bf87f18c7adffc11fb16 |
Hashes for supriya-24.5b2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4ecde9943c50e1c4b185a88f76b7734c6b5a1fe7e7bc1e02ece0ac8c3679134 |
|
MD5 | b66ca852f58aac03f988c449c06e3172 |
|
BLAKE2b-256 | 0ab234efb33ae22ffb64e46e32f414f3a5cdb61f5b27c325ae3eb6ad1bad0bfe |
Hashes for supriya-24.5b2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b86f10d4ac5a4c3a0b8252f21ea50dcde1606fa9dfe494cd642d55f35960344 |
|
MD5 | ffa20577ee47c21b31b6805420b7b1ab |
|
BLAKE2b-256 | c79cece57db7b77c18ced1ea8cc8742f4fe0929ec382c72ce61b17814c0b1019 |
Hashes for supriya-24.5b2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9a94ea78acf124950fd9a355d0f4d2936328b203bae5964f43559ebbcabf428 |
|
MD5 | 505e5210e20b80957a9d93d852a0b252 |
|
BLAKE2b-256 | 6b41884d22cc8a812e7e40ef0d846887208da214681ff0fea929127f65da8078 |
Hashes for supriya-24.5b2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7910a3f82aa1f60354806caad38610dc08f0880baae09493a4e734912609235 |
|
MD5 | 58b55d0c8490167b9f1f8ec44714bb86 |
|
BLAKE2b-256 | 0dab245cf29c4ea36370e16a79a7dfd8f7fb552a009cb0b322240fe926204f4a |
Hashes for supriya-24.5b2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13bdd68d394322f04d78b00cffc8a123c0f4ffe0d48615a8d7ae6e5a13ddd7b0 |
|
MD5 | 9ff939492c14a4b86ec3778da5f264a0 |
|
BLAKE2b-256 | a84ae7b693fa518fc53c30c105eefb925e990469f4cf0ced1a60fd439b9872b7 |
Hashes for supriya-24.5b2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be5863ab1c7d204145dfab4dd6ccbaea1931346abab4af157cd7120732fbf095 |
|
MD5 | 7fb492876b5f345187fc2201598d1e86 |
|
BLAKE2b-256 | fff7fbe890b9030f0a7af4b183da61411a5f564aae2488aee7f1e9d34a3a2718 |
Hashes for supriya-24.5b2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f1e46c43d701bf3b108c7a8c62ae6aeccac28ba4071f832f843eb19beb9753a |
|
MD5 | 6d640a4b9d8649e5839bc1264bf10950 |
|
BLAKE2b-256 | 63cfa36745d70b3b2141c68bbc2910cdea773ed37ce36a3ebf9dfd0a4291e303 |
Hashes for supriya-24.5b2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02294f09ff8c1a1da1cafa18b4e2af886f97371ddc7f32bbedd7463e44c40dd6 |
|
MD5 | 61b07caa4bc23afd67a659fee040b7bd |
|
BLAKE2b-256 | 002646e5f0918abce8613d1ff65d1dd82b097702d9523f7dcfc3447bc3d85128 |
Hashes for supriya-24.5b2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ccc467aa8c9e1128cbc6d7fc8907d1a18a55aa2b945bc2a45d9b59290026693 |
|
MD5 | 8fde6a8e64444ec8018070fb8299c842 |
|
BLAKE2b-256 | d98606c57bfd6ed509e7b513d7c52318fe10da759087fddd5d99163782e867ce |
Hashes for supriya-24.5b2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 200df0a7c08b8604cec38f8794e0ae738387c8cc59eeea3d1802194c0fdb104d |
|
MD5 | 56f15603da2659dc665b89ea870340a0 |
|
BLAKE2b-256 | f07aa7c0bcb5ce0a853793a51f554be2c82e4f31c4f11ef7574ae733dc26b4aa |
Hashes for supriya-24.5b2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63849ee71fac34ece781e8e46531447702bf71bf6b3d4025826406bfdf56c248 |
|
MD5 | 667c3ac5eacb84915c1626b540d7712e |
|
BLAKE2b-256 | 5c149da483e0ad9b572171e5a851271830ababcb9133efdc20aa56a4ffebca79 |
Hashes for supriya-24.5b2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6165b48adfa9f046519050e44f5b257357526d2da519a38687e51f06ea3c2428 |
|
MD5 | 54381bfdbb93021c246406edb6bb140e |
|
BLAKE2b-256 | 360749668579645de703155f35ef8f6cd5bb2655847b490fe5b5019917866e17 |
Hashes for supriya-24.5b2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 101206ddefb41733cc37592b7d2686852d15e7c77077181834f23567fc2f3356 |
|
MD5 | da02c97de8a1f81c55ede5d53dac0f2d |
|
BLAKE2b-256 | b55ed332a48988273486c3174d8ef32e8b3064e8621ed170d0ddc52d1bbda715 |
Hashes for supriya-24.5b2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fbbcf85b098928bb09031b0a933cae954617d339534891b9840208fda90dc26 |
|
MD5 | 31bce7f92764e2b935c130a73398aa88 |
|
BLAKE2b-256 | 4e0ea451581682887091e04fc52bae2ecbfc98c3917ed8f58594f8598c176024 |
Hashes for supriya-24.5b2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffa096636e3b3a5b48cfd06e04ad2abbf55a3332be4a4c331bd66749b05ea05c |
|
MD5 | 7ab0d1eb30a9b08f2916b8dae787a816 |
|
BLAKE2b-256 | 5a73398780e57874003d3368ec39aaf301ee2b77f28323de92ef0f8671b8dd78 |
Hashes for supriya-24.5b2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15ff364abab4c8847674171aa337d44f846b1a082c11f1bf52afd3975588e7c0 |
|
MD5 | 989a921333775837218336c4da6cf1da |
|
BLAKE2b-256 | 22eb7fe266d03376fdcb0595de03337699af97dc3cfe383678f2b338b6095dfe |
Hashes for supriya-24.5b2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81e534d274f282a1bea57d600680676630fa7c69cd46766c64c2f79a3d189b6b |
|
MD5 | 205680e5164c59a328696ae7d52399c4 |
|
BLAKE2b-256 | b9acd2723c1570bb362a9478c3b7a405b321c924e978a553b466039c89b7ae56 |
Hashes for supriya-24.5b2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1d8e7b119b6083f1609fc06066a6c51c7a7cf9f39bd4490057ba138c9bb6973 |
|
MD5 | f4300860dd498d40e7166041cf72ec6d |
|
BLAKE2b-256 | c83bfbfdcbd064ecbe70dd70dd4d1f01eb975cfa2476ee632f7c62615564ee99 |
Hashes for supriya-24.5b2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f34ffb12b720676ef362d1301023be2fb191c0b317c1c4c63fb2966c35e85e0 |
|
MD5 | ceeacf92783d740858254ec3a735360d |
|
BLAKE2b-256 | 2380747017450f37be9427206ea1b03aa0bdf60f3a8c1763d750e83363f4deb9 |
Hashes for supriya-24.5b2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 024ae5328efaab791bb740fae703468c1723ec5f9d5de3f934b3d3e6a4ada472 |
|
MD5 | 2f86c1060c992a797905f22f44a656ea |
|
BLAKE2b-256 | 16bff4d8b99918d6ebde7fb9f4681dc987304459af947916876637d60afc3d85 |
Hashes for supriya-24.5b2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25b6e657053b9b4c2832d0296d838c47b1c88359a98e051aebbb503279606661 |
|
MD5 | 5627628ad594e3788ff23324ab3387e8 |
|
BLAKE2b-256 | 6ad0a7ed49ad2e44c1627851f532a9f05291941097e55fa279dec711e226ab13 |
Hashes for supriya-24.5b2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923e5f988bb360880013f37c2d291e65775b7d8bddda6258b3e6f43886f579c9 |
|
MD5 | 1b66612b1a7800f84e40dc1f5832d4d3 |
|
BLAKE2b-256 | 9bd7a84ca46bc0339ecad4f50d4ec44c65849021fe5886c3a99007e8b2fc9117 |
Hashes for supriya-24.5b2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6640659e022a1f4486649d9ef6bbb41d84090fd97ec9fe30c4e77d7637996710 |
|
MD5 | 05b11c13c2c1a5c34d528bf0f5e37d62 |
|
BLAKE2b-256 | 1ce81941242ed44994ec47257b54c15fcb560960dfc17cb7ea8e49226b189892 |
Hashes for supriya-24.5b2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91bf7e2528c5ba9a5945d13ce0eda87f613b92c405b49fd94da1f0a90e124819 |
|
MD5 | f46997bf0b5cc398ac8c2cf306d21971 |
|
BLAKE2b-256 | 577cce2e4c2e0fbd4206accce0908e4db3f4acd330924b564b352fba2b28ffb6 |
Hashes for supriya-24.5b2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bf3b2ac50c1927aa527b1c869936251f216eef4195a39d0b403ca1236242044 |
|
MD5 | 82c6ea9d757392c96e62829aac96836c |
|
BLAKE2b-256 | 00f6a09fd3ca21de9e5ae08ab948bc287cf500ad64d6ebff61058c88ac98fdf6 |
Hashes for supriya-24.5b2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a17bd9bbfe7a9f65c75a6f2c23a2c4fe93d06f9218fff5d110a0bc8b90f2fda |
|
MD5 | 2952bf45d648ccf0e9e52d403fc25ce8 |
|
BLAKE2b-256 | 3b07d71230d888696bee18861fd5aae3fc9cc2033e965f71bc8d34a35b0fe9f2 |
Hashes for supriya-24.5b2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29306ddabb94ad3880da51ee07e4b40d19bc4d6e666ed38386084715bd51e129 |
|
MD5 | 499558f50657b98f1afd77268ea895e0 |
|
BLAKE2b-256 | 17d9f885d8316f0cd65e7a424318435f88124998dd16822bda1df143ab7cefae |
Hashes for supriya-24.5b2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d3e8553acb88a1f8ecdfab8ae838e27ed98160013d791db49eaadecd6838fbd |
|
MD5 | 495336081637e6df7f2fb595f9b732f7 |
|
BLAKE2b-256 | e32d773e7100724b38dd41f31bfb7c531ba01cccda6beda9b8ad707cd53574bc |
Hashes for supriya-24.5b2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 619e6ac335b4c4a74d246c6c3d06e3179b1dd33470ef7cf638916c0f0a442131 |
|
MD5 | 9f94c1ca7939e710fcb91cfeaba544f8 |
|
BLAKE2b-256 | 98aed749423fa9cffb6e3329871e27ca74e7a971cf575f1ddceebbb8154dd4eb |
Hashes for supriya-24.5b2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 501b951be9c21627b61fb741926f6337eefaff89d39fe3bbb2e64c93fa9966e5 |
|
MD5 | 45844d5b65e15042db4e996fcccc448c |
|
BLAKE2b-256 | 292f9dd31840f34980faf631f78d8dc2522dbd9de990ef8767dee41e7aa72691 |
Hashes for supriya-24.5b2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ee798fde26f55663f7b4cd6bee1cd9c808721ebd514d744fa79584cb9fe7f7a |
|
MD5 | 21b4acc3cab1e4e89bf73da602c79400 |
|
BLAKE2b-256 | 981da58ee3d852f7b0c403707a000dacb6fd12c59caa9d90ee94b9fd17d0662f |
Hashes for supriya-24.5b2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b9b92b02202e64fb46b07edf7fe1534e3bc6bc8b86ae6181277452341647e01 |
|
MD5 | de6fe37ebe270db2ff524e41cf905ef1 |
|
BLAKE2b-256 | ae78133af438d8eb16ad41d4055eb3809c1297b83740c7172e8f7215ae0329ec |