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.5b5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a898f96a68c9591b4981a04e65ae725096d199711c5943acf520855ce4504b0 |
|
MD5 | fea190631f335432427fa1cf8a5593b9 |
|
BLAKE2b-256 | f9565f753fdd683f236462c0d561b35d7c9c87e1e7871555162054e32325282b |
Hashes for supriya-23.5b5-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa58211498798de5ffd68f08acf9bf90e10e5c16df2deae77a221165bded0b38 |
|
MD5 | 9e2dddaa6a96aa0fda700befb3174543 |
|
BLAKE2b-256 | 69578a8f50e8cb99b22eeb994072293d952006ffc775f943b89f02cfaf143fd4 |
Hashes for supriya-23.5b5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f659e6bda66de28e87cb96765bb1e2bf5384cc0823310845ce4c3e4135c6926b |
|
MD5 | 4b0441e240f52058443c6aec848006ef |
|
BLAKE2b-256 | f589f31f041b28502d1543e828551d1899fbcdaab5699b9e70c4b015d37265fd |
Hashes for supriya-23.5b5-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7104d06e4098795405be04dc36e39dedec8d726c337d815a84287bb215621c |
|
MD5 | 05f14c07369cf5eed77c734b91749e8b |
|
BLAKE2b-256 | a7349c0c05ee72f3db90cf5ba24ce690946fea09ed096dd0e5333acadffde24c |
Hashes for supriya-23.5b5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31747d15db37f7a6ea967d2f4508ce0cef120685716f6143584121269cc3f646 |
|
MD5 | 07ff9420a50ea50657529d60dd2d275d |
|
BLAKE2b-256 | 1b3f244512e8596d6d8654a05fcdea0aeefa8654eacf3bb3408523c37ffeeae7 |
Hashes for supriya-23.5b5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faae60f262c5071fe50a7ca93dd66aea0f7737c83eeb215f1fb56ae70235b2bd |
|
MD5 | 8839b6165cc640b2c02908ea497ae6f4 |
|
BLAKE2b-256 | 41b74dc3a024635fd1b8886aab54898fd44fd48dc8ff3d6974e60e3d4bb051ba |
Hashes for supriya-23.5b5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 395f80b1d3444abf8feb3e653d884bba8eb321d42dd4cb64026115ab938bfb68 |
|
MD5 | 4f6d7d06a30f8f154311a94fe0f4001d |
|
BLAKE2b-256 | 12d6a72d8859b58e4abe334e95d9ac72d024ad0c7089d750febd96e18077a134 |
Hashes for supriya-23.5b5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7efa0d91c47dd82f3a60b0067c1d09d35e4bb8d11f786d0d6f108b1af9ffe241 |
|
MD5 | b1ee4347f114eecde60efc52fb04ad4b |
|
BLAKE2b-256 | c5a37131a30905fb5cf509d0d8ef1b2218b80f5bfe28e02ec4c08af893cfd3a2 |
Hashes for supriya-23.5b5-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3da99cebcc85520c648c63e011821486f9f35e1d8ef3dea9e834ea28f420755 |
|
MD5 | e85838159e373e2d2ef92164a58d7b7d |
|
BLAKE2b-256 | 11b6f4e7c3a1ccb0b8c7a795250adff7baebe608d7e88d39b39569ead4c15425 |
Hashes for supriya-23.5b5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97c753dc8e570bb8ff534c362d1d2f4d704943d98c5806bfa94ed3c43697ab75 |
|
MD5 | eb6e66debb1351dd66ec05f2ded2fe7e |
|
BLAKE2b-256 | 3529037d3a6b92144669e9c61d40d5e6986d6c8e8a0545597df77066b8af6377 |
Hashes for supriya-23.5b5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f538d0f13ed088da6bff0b0c6e60aacca936e5a697d35dc9d40098d88904604 |
|
MD5 | 01028ce48a425e909a2e81bf1ea0263f |
|
BLAKE2b-256 | b415499c8b5b416dad266d9da8c137273332b158893d9aa2f538194222725af7 |
Hashes for supriya-23.5b5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 493a30ef4fb7814f0732a49f1f7519717deff1ad306d27f148e38a359bf23c1e |
|
MD5 | 7202ee86457c6d476554ae3b3ad338ab |
|
BLAKE2b-256 | b13745ef6d4d1276a4ccbc40e5012f2371b643950795672a0baf42e865a81f4f |
Hashes for supriya-23.5b5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b56a1422d8d219b191b87c116917fc305c91157b4dd805877e633319f094574e |
|
MD5 | fa010411219005474f2fa633904f1c54 |
|
BLAKE2b-256 | 216a8880847fe95ce9d7062a0eadf0281b53bd6c2637d17cceb6cfb0fa4df8fc |
Hashes for supriya-23.5b5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96ae797d4d9c77c57039dc89ef28dd478299b300e6496b891efb02f39098a235 |
|
MD5 | ca2e074f01e219513d7cbdfdc39eaf59 |
|
BLAKE2b-256 | 90c8d365c04d3c525fef6b8fed0cd7755b8a5f054abb86776bee8003d11bbbeb |
Hashes for supriya-23.5b5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b49c5486dc7e7305833f74a2fc19ab2ff3ea3dd15a0870ed2bc83aab5ca45066 |
|
MD5 | eb05ce3c107dc38b16cba7c7358e7bdf |
|
BLAKE2b-256 | 1fc8d1eab31ea38fa3b380e611da5d11e458c9afc28a879e746dacb119e07b13 |
Hashes for supriya-23.5b5-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc0eea03f3262735cf2a2734164981d0def8412e776eb1d609e0486d7cf7e816 |
|
MD5 | acb0aff8be7f209b036278766a467105 |
|
BLAKE2b-256 | f2f5a53c1eb6e36cfe542b37b9f659b3b4173d491226466c1f06cf0bdaeb3969 |
Hashes for supriya-23.5b5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cad270795edf81955d76e6b0520d92e57c341de69e68eda7fc0eab11cb521d43 |
|
MD5 | af15a0c6590eafdb8f8c9c9b7c97e5a6 |
|
BLAKE2b-256 | 698ef14a2d1bd05b66d9af7cd7d2b3c05eb6e6af3e99f5f9415db793e89d9770 |
Hashes for supriya-23.5b5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0bc59f47862ef46cdf8d2093dcb58587b85f99c8f94cbfa21ee03d238538707 |
|
MD5 | 217b21529389bdcc29a8c3616ba1dec8 |
|
BLAKE2b-256 | f9687509a1406fc1084c3784d1dd9da28d8bec44288868fdf5d768ff6689564b |
Hashes for supriya-23.5b5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0506e8df65c7d343359ce5a79aa196fa8c9edc66d2782068fb6f6e8064be0f1 |
|
MD5 | 4d7825a7b84cbda83d9df80b8e913cc1 |
|
BLAKE2b-256 | 117f08217aafa8705280b38cb4c7fdb23ce6f6b447d3a74eef9d4a3444a23049 |
Hashes for supriya-23.5b5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7351f05c1b8f51d81b9a9453a442f53a1a5b88c3d779d73c0f6fc0cc43b494c |
|
MD5 | e2e32f7eeda7c63cb902cae123354a7e |
|
BLAKE2b-256 | 949f6e40abdf97f9dda317e97fae12b468dd3be016fe362219d4f5ef7c9c0816 |
Hashes for supriya-23.5b5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bddacc745ed64917bb851ce78c1ff407cf69c2a2d178b2a332c880544218084 |
|
MD5 | 561a48e418c21b9023ab89a59dbfaf20 |
|
BLAKE2b-256 | 4a09c316d2f59066756a6b94ccd41ac1d790379387d9137c9feef0cce69ae416 |
Hashes for supriya-23.5b5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f64cd2005fa8c62e87991806b3854023559abaaa0718fd3c6e3800e628bfce39 |
|
MD5 | f3f4e2540008c0b9b4530d4eb99aec5d |
|
BLAKE2b-256 | d62485bbe318f1812b95bf2fa418bf4807bba22e73855d213fa44993816f364e |
Hashes for supriya-23.5b5-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45ceb8e647ab27e14c2a597d3bd992036871e2a3034e4a22966bb2a24590a459 |
|
MD5 | b40889d04a5c1b4ec2b77964f7f356b1 |
|
BLAKE2b-256 | 3cab79dc352cfe11be5cd943a16cc1ff2686862fc6dc64ff2f7d030a78d4a703 |
Hashes for supriya-23.5b5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c29746894aa9e328fdcd772964147c96a313bb192d93ea7782df04bbd786093 |
|
MD5 | 34086634395597307471efb6e75d93b7 |
|
BLAKE2b-256 | b0ab64ed01aa727d646d27cf833a919e71cf8eb28f5d9df82585044e3198a2ef |
Hashes for supriya-23.5b5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99c70981915b7bd140d94d34ba8b3b0107cec2e440dd229a73169bd78e5eb0e9 |
|
MD5 | 9b19c6a46ea62f0481c72fc8e6afc7ef |
|
BLAKE2b-256 | 7a3117012a26e987d2a6354dca9025d0a01ca62855e5575efddf89c5ec03129f |
Hashes for supriya-23.5b5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 782952a75891bc120046ccd41d7122eeba03de909fc8d9fe05c8f9b19b491b18 |
|
MD5 | c92a67cea40050d872bb0e38d51f6887 |
|
BLAKE2b-256 | 94cdfe92a23c83dd334de96e484b3bb52560b0a4ba0e758fa21c2b30a459629f |
Hashes for supriya-23.5b5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3395e6967d75004bc814a9af1487279a4c99cab16abdc34b370229a6b885be71 |
|
MD5 | 9e05231a82786a99cb7520431500ffbc |
|
BLAKE2b-256 | 33fc98a309027abb694b57f641aa34aae73bb1c948bf80a661e359da8f4ed945 |
Hashes for supriya-23.5b5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac70d655cecb468f33e50b747f0ae25bf7ad605016aaf550338b19b7fa206f22 |
|
MD5 | d6a8c5590f878717eeae26751121a69b |
|
BLAKE2b-256 | 59866036ee857d04e4b49316aadaa81286344b182a5169e1b53c8910fc6eaa1b |