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.3b0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ece299f748d439ac0197081bc750241f4687b6274f24bfe4172b93b9a7ee43c |
|
MD5 | d67b047ebe0aab1ede7912c7dca0567a |
|
BLAKE2b-256 | edf8db82015f9b9be57605e5abf278ec186096ea819c19222ff607aff5c6b2a0 |
Hashes for supriya-24.3b0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e447a0345e4e951445dfc8577300cb222b47c0a55e611d19fbf8d25f60401df4 |
|
MD5 | 2cdd93675fe7652288a717288b15f507 |
|
BLAKE2b-256 | b28b00d13899624d85a1ec0519c3b56f51906a27f101d53623c0bfafd99569a3 |
Hashes for supriya-24.3b0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a11ed1fbb97c276408a40b38386b1a5316b6786ecde00148048ce8fc6f84ef |
|
MD5 | 8a7b284ec302f469cccfbf2d6a56ca42 |
|
BLAKE2b-256 | fb63fccd88405ce7ee6731677a0cf314c9072394d6ec909743d05d0ecd808386 |
Hashes for supriya-24.3b0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9544ca3ff4155014b6a2dca30f9b3f929406347a92d371029a31e391e413f4c4 |
|
MD5 | 304f7debe8b1159accf5fd3cfc3289f4 |
|
BLAKE2b-256 | 3d03c4b376fc668f515cbcc4b756174ef6b792a4bdccb1e7e42129fb24559b5f |
Hashes for supriya-24.3b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e035367953cff118bf453e0426444fff5159e1cadceab1cae6d1ef47dbbbc817 |
|
MD5 | 669fec8020bdca48553bb272351a8962 |
|
BLAKE2b-256 | d5ec24415ba00f1eff3450b6cbf05f216577d54e191b9cc5db4718b5083e4967 |
Hashes for supriya-24.3b0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0eed7e3fc746f22f989db9981da0ad0d0423533c0ebcb12f8cae6a8b00fce5a |
|
MD5 | 74d347baad1da58f58a16c086c0f02f3 |
|
BLAKE2b-256 | c5ed0fc0ed8ed6e78a6db79ecf981e8973a367754e918d8ee3b4c1448f3f415c |
Hashes for supriya-24.3b0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05c6fbfa006815523def6629ce3be40929bf700200d727acf71f40ed18dacdae |
|
MD5 | f8a7b2dd6b8c676a50f47b602e0d52a9 |
|
BLAKE2b-256 | 966810c1d8eabe32174fd7d01c82eabe9477ddf8419012956806a80b4814c13c |
Hashes for supriya-24.3b0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7685512e2ac3d49a738035df9fabf69640c05f00360c8940631df2e77b6cd19b |
|
MD5 | d9db52164e89835e792473a9c745b3e8 |
|
BLAKE2b-256 | bff79c4aea7f75a2f9840cdcc972486f4e06ebd1bfb57c031e1cabb3962ab834 |
Hashes for supriya-24.3b0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74f61f3875726521d6ae5cbc2533c6b8835355f53fb8692a1d5751cf25a0aac7 |
|
MD5 | 764321ee9e868b45c926886f35aebaee |
|
BLAKE2b-256 | 1e332909e6a16a1117b44b75e8ed3b9972cf09aa169a121f847625941e8c8a77 |
Hashes for supriya-24.3b0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0a29867bcb9405c256f263c40da4f90a8a3d43fad2f4258eae0eb0823dcfbbe |
|
MD5 | 2ccde7bf7b338d247efde65cce5a9d4d |
|
BLAKE2b-256 | be31fef3999cb2c66478e61d668e7a01ba42f71e3dc977d2b9dddf99c932813f |
Hashes for supriya-24.3b0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31bea527e5f1c93ca16eec63fb3a5d727119caea1465935ae127d7ae8ef6e73b |
|
MD5 | 9be7fb235db8c40d6f4301d1ca367334 |
|
BLAKE2b-256 | 76ec200066608cf3647955f1c6569a2dfdd2be7c7c6a000a0f46a1f376450650 |
Hashes for supriya-24.3b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40538433ebadfc4fe820812f9b7f2f51a99d233f0101962be6d84f2f306b42e3 |
|
MD5 | 9cb1cfd376ad0123afaea27dc8d46383 |
|
BLAKE2b-256 | 19c312fa6d463c7bff6c0ba6ed5f31342eeefee074f23e3ccff1b235b4811ed1 |
Hashes for supriya-24.3b0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4587363f04664c6e1c4797687ef29add3f421c946ddb5b840c94a230aba4b80 |
|
MD5 | 03cc28107001e04b1c361c5b6d9a3e79 |
|
BLAKE2b-256 | 1c390c663946373e490df420e9b2e1db711b2f794520c5f255962d49e53cf62d |
Hashes for supriya-24.3b0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a23c08e38fd31a8566c25da461aa96cfd59621406fd1b4f0de566e0467b913b |
|
MD5 | a2237d374ba4cb0bbf6ed42f72c5ca27 |
|
BLAKE2b-256 | afec57a4adcb8ccc65ae45975ca5f70d96518e3bc9a5ddf098353b574055a097 |
Hashes for supriya-24.3b0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ad3e29509d14d9a781c99a741837c824c4dd7cd8853c31a1f7700daaa8a025b |
|
MD5 | ae7bcfcd2706030af88ddde6d46a43e9 |
|
BLAKE2b-256 | 4aafe1736402beac879688731a41de07b33ab4c94ea94e5da687478d030cce3f |
Hashes for supriya-24.3b0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac39e49bc38eec93716aed39459e7bda9fde0970502760f37526fb87bbbbdc67 |
|
MD5 | 718e17025170570001d13d693f7c9fea |
|
BLAKE2b-256 | 0ba914fe61cb5882be127d61a14ef7975ec982d3b0184cea009cd21d8f3a8fa9 |
Hashes for supriya-24.3b0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2017c079d9c46ee710f2506d5efa371babb9f15a5167c3708179ecd89406749 |
|
MD5 | 405a1d5ee6dc8a6912a7f9efc77c7532 |
|
BLAKE2b-256 | 0d80050d7978bbd63220cc02c7721f691c1d275e3c07ccf322568cbf7672993a |
Hashes for supriya-24.3b0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3997565f5a39d1042d9044cbef6f0dd9cd10ae4377cfc2de06fa79dd1fceee81 |
|
MD5 | 0e210cf1ef0f0ec7ab741e9204425543 |
|
BLAKE2b-256 | 79a6c3edc3c9681b5e1b474e44bbdd3ff81b5290c2ce835e77a1cc02e654c2e1 |
Hashes for supriya-24.3b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a28f0cead005c0496dd484c35afff9f2233cade187733a062213bb7f1b0b841b |
|
MD5 | 644d956eae1ec38f1048766659d87421 |
|
BLAKE2b-256 | 17b03309567e6686de58a594c5e6c0816fbb0a40cfd1eb07ecc2d15112fe8dd0 |
Hashes for supriya-24.3b0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ac2a3206bc369eaf37f213ab8f9860629fa894970f13eeac523d64240638f26 |
|
MD5 | aa3bf4bf6e3ebefc0d25841bf6561074 |
|
BLAKE2b-256 | 667d29dce4b8c1b3480818386977876e8fca1efe84757343b64298215472982c |
Hashes for supriya-24.3b0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32f1d7385e63d3de0484486695ae7398baf669f2cd3341eb810181fe95f8ccdf |
|
MD5 | 35d6ee26e1d7ebd71f83f3043b5386fd |
|
BLAKE2b-256 | b9b2c1afda698e0722b4d9aa28e0849f2ac15510b9bdbd20ceb9bb64d3645129 |
Hashes for supriya-24.3b0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe0b6a4d53af0e33d5c27dc8411ace7f455cca401b7b974c93dfb64d21cf17d7 |
|
MD5 | d0c8a7ca17c039fb65345a2b56810ac2 |
|
BLAKE2b-256 | 80ea0bb9b6c9c1d96e7f18d0d3ade511e34f223c796baa383034f7a7cd4e0431 |
Hashes for supriya-24.3b0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4909a39a97ef2836946a73932c9b6246a48b8d92edfdfa3fa6458814b0681215 |
|
MD5 | 59ac939a1f314e9dc4b87cd0a5ed5174 |
|
BLAKE2b-256 | 73807561a617f6c170c1c93f67f563e942d3a6f10ee46324f8788b82919c6fef |
Hashes for supriya-24.3b0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a0d356ddec8fe84e84840813121d01b1d9d1ae2d35dd1e95837055d911a8db3 |
|
MD5 | 3d7b961b14e594108d9164b146c29659 |
|
BLAKE2b-256 | e4d8c76be953225a4132a4a9dfe8463d5a0f7d77edffdf46afd02f51602a330f |
Hashes for supriya-24.3b0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 874f495a4f8f5acfafeb0654664b7a7c276605afc681cf70b01fc5e9e1f32d7e |
|
MD5 | 424e3121c5174c64795d9b72893b5b70 |
|
BLAKE2b-256 | 2388e152dbe6d27d46a2092e179c703afa06bea15b6422df396f50495b57bbf8 |
Hashes for supriya-24.3b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 898d85370b1cf8024fcf8519d732486ea6c03f464ff1004b9ba541d4cd5442fd |
|
MD5 | 4979c0b32cfecb0c74f811bbcce232cc |
|
BLAKE2b-256 | f25ef272eb7e73fd20559905b4603d37e8a64882c9cf2eef7a98fc3c0ae38ad4 |
Hashes for supriya-24.3b0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b66d1084e80ed83449b4b5123f896493c7fa91a5110be62bcc9ef26611047842 |
|
MD5 | ad1e597532f32290543a9a6602a5ae96 |
|
BLAKE2b-256 | 36630850f867410ac47c8041f31c4efa02accbeedca6bacbbea17cfc75895ac1 |
Hashes for supriya-24.3b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9d01866f476d974e23556da2dd7ffdf7ac1d6f730fa7547808be6af816ffba9 |
|
MD5 | d92360f9a0fdff436796b60202f0acb4 |
|
BLAKE2b-256 | 6d8d1cd561b9d08081346afa3563878491d626815bc9d791c80b35f02d0b96a9 |
Hashes for supriya-24.3b0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a918f9dc404a3cc3a6004e6cac921b0e989b917957394ad6779ca772ec52e3 |
|
MD5 | d74058f2115be4865332cd7df3ba7e5a |
|
BLAKE2b-256 | 4fca96b4905eea255fc8029622a40f1f5a5a549e8dd3bb4e23a7f13266180ac4 |
Hashes for supriya-24.3b0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c36eb39cad2b27439070cffe8937d1effcc8c27830d47629e9db5ff9f478027a |
|
MD5 | e4f0bdffc827a59dbc2d8435a8ff2fbf |
|
BLAKE2b-256 | 1c6927cff583f88d5866df720bd5d0f415679be6e2fb3939786588dc44afe09a |
Hashes for supriya-24.3b0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62a7478abb754e5433c9a5a06a512d31855189bed1cd90001cee427af240f88b |
|
MD5 | bd597ebae5d811174f93890ec11c37ba |
|
BLAKE2b-256 | b8c1eb1b119015d89b663e0cc96ff3834f5a81a02599b33ab7e048f7bb9aeffe |
Hashes for supriya-24.3b0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a183119e209dee9c6bf987517733a8079e9e6a175d0480682d57da213844700b |
|
MD5 | dd9568094ef7de2c74a5c8d3f2544482 |
|
BLAKE2b-256 | 6d1be3254e4b30542865020c67af544002d82be870741174725464d3c504b736 |
Hashes for supriya-24.3b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6f44a8f4bdf1ea3d024247a9b2b2b2ca99abf66989c9f939c95aff82967bf93 |
|
MD5 | 0b6d826f534897041631f5a5b85ccfd1 |
|
BLAKE2b-256 | fc097423bd2d64c603379f71f74a495c8a08f5c3750c14eec5543312875dba22 |
Hashes for supriya-24.3b0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c01a6ce7c00d93b607f7f9a91bef13cb1ff315e61136f000c1cbb58dfd663ab |
|
MD5 | 4760cc0166b86cc45c669e389ff57cfa |
|
BLAKE2b-256 | 72bae77b42e8be933a329413195042d24e4f722cb99672f9f6b22a4fdb5f332f |
Hashes for supriya-24.3b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78cb8e1008e21ed8f4a3aad8946de2e0a5da11737960d95f4aa6f162e6f71e3b |
|
MD5 | 961e973c45f2e5498a61477bdca08513 |
|
BLAKE2b-256 | eba51ae334a468106ebacfe09cf03f59c3c58a0d0bb4e419ea66dd9d6340de41 |