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.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.3b1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ec56d4de3ce1d71ffd9128311324f810fe5635ba782ab24244aaf5e58b17fdc |
|
MD5 | 1c9411728756c5e1162eb8f17b01a743 |
|
BLAKE2b-256 | f2db6e2644f15d673f73bafe76a29c5d2438229fec1d087a2dbc8c6e567c5211 |
Hashes for supriya-24.3b1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26a8298824242cbd0be3bae72962135818fee73192ed713dd5739db55289e6b5 |
|
MD5 | 81f2f58864f8a2ba1cf6437ff66aabec |
|
BLAKE2b-256 | 69d4785a986b48b5d2446708e409ec480fd4b11b70f3e64a21726e0fb2668b31 |
Hashes for supriya-24.3b1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ac3475aba3b764048c80bf75ca48f4b52161dd8dd002906c43908298f844f12 |
|
MD5 | fa6e8d9c311dde938d7d8aea277c468a |
|
BLAKE2b-256 | b69cfeddb88a28212465acd2cd4a64feca6ce8e7eaa118c9d51a3d378de01918 |
Hashes for supriya-24.3b1-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c374de0c80f93ecf293e756d49b583ad29662e57ab15c98388b57f12512a5692 |
|
MD5 | 10b02c600f3d97a21bfab5f90b375e61 |
|
BLAKE2b-256 | 655cf11fd5fe38c3cdbd0c45f2dc835f645afa991a25c1c326c8f5eee4d0a843 |
Hashes for supriya-24.3b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef68c41dfa93179b72c9422180c43b537e060ebdbab7cd13bd3383f08463ebc |
|
MD5 | 3e1119f02a4c02382ff59cc5c4c58f71 |
|
BLAKE2b-256 | c374262014120b34002be1df2ef71e9818fbbce19881a1598f6cbb57e8649428 |
Hashes for supriya-24.3b1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f4874dbeb63a8c568a32535c4aee0bc3f88316a6c8152b9ba118b53193a72a |
|
MD5 | 72dbec5accd20ca1d2104b11a38701cc |
|
BLAKE2b-256 | 49ff7a0321fbb0a8498ffeb12efc13e2c11b6ef3db6ceb029a450765ae591952 |
Hashes for supriya-24.3b1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e45d4cec67afaa85674163a56cde7a3c54e9cb0e5047089ee40ab51bb269499b |
|
MD5 | f0e35fa70b8ca42b618f4436933219d2 |
|
BLAKE2b-256 | 4c406df9f88002b6a9feb29f5243f0fcb27eb96eacfa92046fbe3e0ebb8661f3 |
Hashes for supriya-24.3b1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd239bb1beec23b90b188a24fc7d0405f77d67ca3e17f50aa5cb1663931d0829 |
|
MD5 | 560bacd9cd6dcf250ca81486a5b1f997 |
|
BLAKE2b-256 | 35060afc2cd2a3a1f06a552160bd7843c46745eeb930b6fec0fec357396379ca |
Hashes for supriya-24.3b1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55118622a87bd98c4470983085bd1c2e0043fb68a3ec38bfc93933aa4a558d0c |
|
MD5 | 491aeaaf3be362de5e785f885e7864c3 |
|
BLAKE2b-256 | 6fabdf723e1bbfb5b8cbd95d8a0bf50a661de5cccf3e526e2c324b960105d30d |
Hashes for supriya-24.3b1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a27378f199daa226cebe06bc65a9fe790fb3b1bcda0884ab4925f5c7dc97661e |
|
MD5 | 507e1eac62051b79a500a2c333e8e975 |
|
BLAKE2b-256 | 8cadb4d8c3594786dcad9bc41023ec5dbe38a0ffc1826a83b7a7b3bdf5e5383a |
Hashes for supriya-24.3b1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90a3329d50f9dee0ea5bef8c881d5a065f280cb423998a57f896d904f6f5acff |
|
MD5 | 33f0b48cd420cc4a874ac68b1040fc80 |
|
BLAKE2b-256 | a64819bf80450ecc0331a3c6e0c88a3b1349cdedbf5895b3ff1baaa54e51d55b |
Hashes for supriya-24.3b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80475ac82e0ea3f052b140f4e2c6a2634a39d67d2d0849808b77d9d08fabb1da |
|
MD5 | 66f0a413a0272ee8a354bd94461f24c7 |
|
BLAKE2b-256 | 79b4ab3fb1c5c8d70f28eb60c7e3de9a03d2c43f3f0e965b20c5b1da8cac3e2b |
Hashes for supriya-24.3b1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faa441d35641bb43a348337fdc595f98cf13569ad59369958e5a38b8b90fdc46 |
|
MD5 | bc68622a02b66dac0e3348acea4b3f80 |
|
BLAKE2b-256 | 9d63213e5169f5f7240f242af9283d0e4cd27b0f36ea1ff02678ee22440aaca4 |
Hashes for supriya-24.3b1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c86a404befe8d5ac2faf116aa62b7331d25a0ba53f76f54b91574540ac33f9e0 |
|
MD5 | 82f5387061b7e3b9071d4a476e97d70e |
|
BLAKE2b-256 | 22cba2736a027f70051964d384f34bc10cb8a58a8901f146f81b2df37f190f54 |
Hashes for supriya-24.3b1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e87ef27ce5407d08bf7ccfec494962bffe67703185eafe28ac85a172da5700 |
|
MD5 | d5dde2b865d05707658a7e140abc0280 |
|
BLAKE2b-256 | 6ed9e137ff35ed00815826c4f1a50e525e0813c84cb230e8f4187278c2b0ec32 |
Hashes for supriya-24.3b1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b50046ed1b64b90d2f317651f0cf35f52f1d5422345c5ef7d5c046202f18d892 |
|
MD5 | c4362dc711fd656262b27f78fa756ca4 |
|
BLAKE2b-256 | dd84cf76347172f1661e8b8327d46b72accf284f555baccdd0e4fc8df10761e2 |
Hashes for supriya-24.3b1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52684037796538e1737f3c0774fc88eda5f3e668a8bbd66aece0228f94b5faf0 |
|
MD5 | 587a5997f5a210155685e077eae76719 |
|
BLAKE2b-256 | b17f3b57ada3a544ad300f0250926ca16c7cb4426ca3b4c7bfb8e4acc884be42 |
Hashes for supriya-24.3b1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf5555d8d8772c469f9f6cfc7fc7d0610eb2e6dbfa718d049bc20e2330c998dc |
|
MD5 | 2bcbc67d9e37d7ecbe3a26efc4dcd1ab |
|
BLAKE2b-256 | 8ee39bc84dd56cb794d49b94f410eacfa378c6fb774288d4046a12fad35a5aa3 |
Hashes for supriya-24.3b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 467292c9d8af4a650bda1e5b7e7a0bd893a754ae4269759f63917c924aa14cb3 |
|
MD5 | 42aa87788872543df9e11118bb5c86f1 |
|
BLAKE2b-256 | d90f2bd44f2ee4c67ca07c570257eb0ec103b25eab15572fcec8dcfed91e41e0 |
Hashes for supriya-24.3b1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a3bac93392f4c90fa2c70cafd3898e65867c99bfbe3877e428469fbaa5d2049 |
|
MD5 | b32557091d98cc400ca9f20004aef073 |
|
BLAKE2b-256 | c64b768764063459eb37e3a57c166d56d31ccf3f963b30d1a92bca399a074d60 |
Hashes for supriya-24.3b1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a40be8e3cb39acd06759f4d325312e7945690270db5f3e753c0d6710bd41d26 |
|
MD5 | 7d2850b46d2d6e8745be581ba3723b38 |
|
BLAKE2b-256 | ef4d7f1d44787b1a354719fd42e0fbf2029976dd00a73dfa44fe781102157232 |
Hashes for supriya-24.3b1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 190ec6643b45da4430813cbc1841b92f880a0f6c331b0b51094a98279f55402e |
|
MD5 | 94379a334680b7ee13f5507bf3f0eea7 |
|
BLAKE2b-256 | fd07d42e324e79085e328bca0d7f1d8d72457dd2a69405129bbe6885c352c0af |
Hashes for supriya-24.3b1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 053a760af28281ae8ec3f07796838634cc76d0c4fc2f252e96534551128ff5a0 |
|
MD5 | 05f74019b6783c2e7e52882154397f16 |
|
BLAKE2b-256 | 5c04bd1b4e27959a8fef839f00440b34f5a95e8aba7feaefdf47873617ac2b0b |
Hashes for supriya-24.3b1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8975982ddb86bbd3891691f4555ab7fa5ba4c1d6e5361638115416e7c05676c3 |
|
MD5 | b5deea623d81f1b5f67d7a15889f94cc |
|
BLAKE2b-256 | 77acdf6ce8234c0bb36ad8b33327564b66f3fdeb6709253de580eebb0d6e74f8 |
Hashes for supriya-24.3b1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5c7a64c01706a48a0345555b984571d49dfb52076dffdea73dbffc67c32c46e |
|
MD5 | 81df0e426c743b895298a58b8e24565a |
|
BLAKE2b-256 | bc3fa9c464e336807e79f83ba8312c80a32f481716df5b51fa89ef48514954af |
Hashes for supriya-24.3b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41de95e0ea14107570662a6665f8a86cd95da648ac739e692c7a8d93d85093f9 |
|
MD5 | 42c8fca79863934b975a42991335ecf3 |
|
BLAKE2b-256 | 1377cc2fb30f476c74d02dde2c0b720c9300cb9135417876b088862b6c511992 |
Hashes for supriya-24.3b1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 933b9e3db4c75ebd7b980d0adcc2385d1d116d2afda65eab75c013517fc8d95a |
|
MD5 | 0efaee00076e29b2e57e93a44f960870 |
|
BLAKE2b-256 | 0a2335cf1d1e41bff746ae4aeb20356174e30f49b19bde4955a0314a2021af2c |
Hashes for supriya-24.3b1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0d22dda1ce654a2d768136da715b76f518ca4213624978fb9c41183a7293f44 |
|
MD5 | 230ce7892097572455934156b9cdc353 |
|
BLAKE2b-256 | 262a5e556be1c4cf919960d3ef096e2544913e180757d10000a955321b4931b7 |
Hashes for supriya-24.3b1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17365b358efe072b6de970d94b992550162736e8495fb60f90a717fc92423988 |
|
MD5 | 40953b0ee81c1b4416168b409f520f41 |
|
BLAKE2b-256 | 9d1a79fd9efa95950833ed37b2b5f7b4cd135fdf7cb081ac03fa0b54436716bb |
Hashes for supriya-24.3b1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83294a5282e71d688c121051168b6ac20600d539aff8526b744f1b36c653ca6b |
|
MD5 | 4a8219ff208da2e9a5968a98433476bd |
|
BLAKE2b-256 | 2e2146605d3fd1c39e9597c68f3af81670919702714f8e9e68989a0b9cf4ac4b |
Hashes for supriya-24.3b1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c6924678f6cf546ac37131ece50367bd861fbb5b78b2c713e728a5c924495d |
|
MD5 | 54e63454f2e45a537c73fb05f1e4aea4 |
|
BLAKE2b-256 | 5b7a831bb9e9700fd0260cf238c1bbad9c93ba4269f250208ec0cbfc177fe5b2 |
Hashes for supriya-24.3b1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dbfb600eb34effc047bdbbe8ade126a285e0721b7b97b5e35694c5816176477 |
|
MD5 | 0494445b7656425a2d4cd352bd287915 |
|
BLAKE2b-256 | ec50379025b38c265219ba2f8c0be48cdaf1918f743a04be355ca780c47c25c0 |
Hashes for supriya-24.3b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35e8aad9cdf5a1b8ee6bca397c029459fb1d8d9c8934831206f1bc15ce803ce2 |
|
MD5 | d7064326bbfd29d926f28851a77db767 |
|
BLAKE2b-256 | 2c888dc0cc21fe6cc5de5199be6cc3f2aa7c916de6739a332c3f5ac5f3986192 |
Hashes for supriya-24.3b1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5817a6edbbe5ac6197d4fef838d19be74a96b971545dfe43521d598235bb7b68 |
|
MD5 | a8d6d04dfedfcaf0525e7f3b1aa2dac5 |
|
BLAKE2b-256 | 61189f57de28910f0358ba7bb2b436f4493aa219d0de22c243b2116df3920c0e |
Hashes for supriya-24.3b1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5a347cce5abfb6631db2a71dd5204283de37f1bc3dc30d77f4fd081dda6e3bd |
|
MD5 | 7aee7923b3cf304e99bc6d750ab3c548 |
|
BLAKE2b-256 | 377338fd9602a87b60d579d28db3c5ce1e2a7e9688a43cb51146c8e24db746e4 |