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.2b0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240523488c469a01413456c26861a3b82d956d31f5d176eb3f3878468d3d7bd2 |
|
MD5 | c85aeaf002594aed5cea5b2657bba0d1 |
|
BLAKE2b-256 | 1d731681b79955897b10000f89cc1be5c012c338fba0509f4a9aa0af6f336a8b |
Hashes for supriya-24.2b0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c28fdd21bed8f0da9132572cb26ee11f361eb845733cdbdfed53651dacc746fb |
|
MD5 | 023aba1bf456679cb36b479bd431e341 |
|
BLAKE2b-256 | b68efde5b110341db08c8c355068bef8c360b80156311f75770623cffeb1bbc6 |
Hashes for supriya-24.2b0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8b30413a19e5ef402b6f0dbab480a64fd7a4fd894e80fdd81c5e4c3d3c525a1 |
|
MD5 | c5b7ceb64afcf17346e9efebae1bd4b5 |
|
BLAKE2b-256 | 7c8bcae1d32f7d3edb64671f69e69be30e5c76c6097e15df30795d470051cd76 |
Hashes for supriya-24.2b0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2951d3670f0d1d4e87a237f8d036a7b6dbe6321c65ac73e3f4c0f6df8befc00a |
|
MD5 | a64a84a14543c8ec9a65f723c13bdc8b |
|
BLAKE2b-256 | f343f7824fff6eebbaf45b7d1fd58b5de34e9624fe65701a8dd69118f71bc3fd |
Hashes for supriya-24.2b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa12e051ba60878c7c89e5d8e318794c7d038073a8dd40f0525908d4687714b9 |
|
MD5 | f4a2a24d79077801465647e9bb144d97 |
|
BLAKE2b-256 | 137f99dc09cb37dc03c1d5ccf13ebe2c1d70b5b490306a9c9228c128afe5dcf6 |
Hashes for supriya-24.2b0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e44c1b486e15ac3eb622947a49538299f1f8d87863e839b4e12243d24897289a |
|
MD5 | a2fe7dfc9075a78aa5a4f3ba37db6403 |
|
BLAKE2b-256 | f8e74b79ba485125596aa73ec28b02598c98cbedf80c00776a4148b3095f4e17 |
Hashes for supriya-24.2b0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6628c4b1850b4860dc82b0aebf27c8201d7be2fe5363455dabb85db8f7d91b0 |
|
MD5 | 85912f3d44494362fe38665773ca965e |
|
BLAKE2b-256 | 9407a0f3a270389aa1203f4cf6fdcd20d2a2e9e704fa6142ce759057c5831eaa |
Hashes for supriya-24.2b0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5347443ef7ddb6a403d4201a07a13eec88932ca8ca587bfbb8cc63193ab498e8 |
|
MD5 | c9a86adf2705df21bb728c622b85c5a7 |
|
BLAKE2b-256 | 4f975824266e719ecdf642fb1a3fbaf9aa4d1708c346226471997b3e5ee24f2f |
Hashes for supriya-24.2b0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02020d67336be206f8a93f8f4949d9f9cd938819d9400ece9f9505fe9ac1585d |
|
MD5 | 75f418ab36c209f67b0097c6119bf722 |
|
BLAKE2b-256 | 2a2f7182efa98e32ffd598eb9cf389c859498f4c9793836d010ee564aaed243a |
Hashes for supriya-24.2b0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de5eb40c6bce6b60e35832c0026d2532755fe226a71c32a9c3c8da5aa2957729 |
|
MD5 | db2e3656d4439d0b8b03dc41b25d8f92 |
|
BLAKE2b-256 | fb0caaa870579cd0723ec003b46a6d5ff09a5239d157ea23e90da0846e2ca158 |
Hashes for supriya-24.2b0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa2e5715f796df586503557c164f115d1630e7db1577b84d782ed58de3456f21 |
|
MD5 | b96fb89290527284951edb36a61aab9e |
|
BLAKE2b-256 | 9528a6bcdc382398d48b70e9cd34af631e2c50184014acd2053efe83f6253c83 |
Hashes for supriya-24.2b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f5f2538cd39a9dec24ff6f42d0f0ab969f064be7e3ca4a19e600bc27f9e71e7 |
|
MD5 | 3fd6171b2a5ae1e920ff73ebfc16bf58 |
|
BLAKE2b-256 | 2115b885ae6b137cbe236da0b6aebb51c1b5845877ac6c50ab51dc7ad5dbcb36 |
Hashes for supriya-24.2b0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03a0632d825ba034fc1d6b88a93a7a418e742d45da5710ef5bcfa94cfb2b017e |
|
MD5 | 7efc7c5a63538dfbb4c4ed4e454f77c4 |
|
BLAKE2b-256 | 7f1c2f7308883d364261ba0cca4f7dbc5eb28a28c6b40967fbf9e1c91c292f3e |
Hashes for supriya-24.2b0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72c87c8cd7cc20d33be264ab5224ed58b501de4324d8b91585c3358825060b63 |
|
MD5 | d64162db41ee5d4ca13e6aac245a7d40 |
|
BLAKE2b-256 | ba2305b2aa26a3b5e97cb8e151bb4ff38e098f9841af6fdfcaac70f7e0e849db |
Hashes for supriya-24.2b0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7281706cce9109ad12543ec95c1364147b54e0b8de699f18e8fa75eb3e873745 |
|
MD5 | 8f4ce8832a64281460d41d3e00d88141 |
|
BLAKE2b-256 | bde529132f3f1eb28aaf33b8cefdceeab730134c4f890d8557a6fece2d93e21e |
Hashes for supriya-24.2b0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a33bca1a04103e8f2d5d4f81427eff5b62080dc433b25818786c281dd8a0bd |
|
MD5 | 4b260b0cde3794122bf1037a398a76ff |
|
BLAKE2b-256 | 8f743a875aa1655925e3a32c2993ee0b6b28a01e040a250f7c3a6466864e57f2 |
Hashes for supriya-24.2b0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faf0bcf0b2f68a20024f0435cfe4aab0796451c1107a1628de911f447e0bc865 |
|
MD5 | 620d107acae61d8a3b05251f453d2620 |
|
BLAKE2b-256 | 2bda7c9def8f35e8d94154a0863c7e82401215c3ff211e596d0648b536326af6 |
Hashes for supriya-24.2b0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3903d120768b72a39a02a58c9041d4f195a616ccd079cbacc8e4faecd0b28920 |
|
MD5 | 82370bbc0614bb1a52f44415c5af4131 |
|
BLAKE2b-256 | c7b3ab076b77a8f15f8f8128354dacf3d43b58c38f5089e8197f5f7dd80bd06d |
Hashes for supriya-24.2b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edafa789a2c77069f7611521a218ae91340710ba36baf3a09f8bc3421d36d03d |
|
MD5 | 3c75212933d9aef408b35e1c70c47aeb |
|
BLAKE2b-256 | 5169a547d686662d577c61cafc319b8b677309b99bf20e2802c636e87f0f1914 |
Hashes for supriya-24.2b0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80b297243134d0c45e84d492f928f65206837a90a3b3dda530efe04f1ae6671f |
|
MD5 | 98f24ab58b4f0cfeb7873809b66fa99a |
|
BLAKE2b-256 | 79991ff1d83efb7c1574154bde464499170cf12db634c50c1e9ef17a64e77160 |
Hashes for supriya-24.2b0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb22b30966f6fb8133f79ecc280c3b7bf731d7d3c6accaf872017f9164cb4d45 |
|
MD5 | 3f8bf23bcc96d62eb7ad373af656f5aa |
|
BLAKE2b-256 | c2c39d85f7a6d470ef6e8a0cb861cae3997df0710f2aee0e16b1ea189907fad2 |
Hashes for supriya-24.2b0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71aad3e161e15acb259632b16747cde41f971306431d5504698db865206b86bc |
|
MD5 | 2ad4075b318e5121368d6f47092891b8 |
|
BLAKE2b-256 | 9dc1b1186d13bb11e1c44b92a81f528a4147facf7002650506845a2880b90a3d |
Hashes for supriya-24.2b0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13e49b8ee85c57424d0b6dd9112f6f5eb7cf0a268734385028efa9ecdcbcb26e |
|
MD5 | 8889ab6cf774262573af80cc14a0955d |
|
BLAKE2b-256 | d8f3c9e86bfbf17d7beaa0b5b5ffd985d38fdda8f7aacf3a9a1851678a9b3bfe |
Hashes for supriya-24.2b0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f9021fbc226a12d0e7109bc5b128435d25049ea301d5abb2142920df074dfd1 |
|
MD5 | da4cab1508caf728b16b7a27bfc08dda |
|
BLAKE2b-256 | eed5bebdce2cce77769a7ce728f578b9c158c5db7849c82983d8e469be1792a4 |
Hashes for supriya-24.2b0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65f7816df03850c13f5e9f9752b76fc0dced078163da9cff3caf53124b882587 |
|
MD5 | b01a2313e2dc993e16ce1e68114a4f01 |
|
BLAKE2b-256 | 1be444ee8cbcd977be57f96a66607138f74a7a3ae5ab82fe420869509097eb52 |
Hashes for supriya-24.2b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00246738085ac5ca1fee412372e6a5786a3883abc4b040cbf0248f44bdeb1a8e |
|
MD5 | 4703acd1f85311da0d1f88c0bf23c3be |
|
BLAKE2b-256 | a4af687309af858c8f4bd488ad559d5e93505ae3426234ef6082c4d29f103eaa |
Hashes for supriya-24.2b0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e1910600818578ee0ad2d41e6efff340b3a6063f47da65de05b9d1a0173cbe6 |
|
MD5 | 0a9894b7712394fa8fee655536e53bd7 |
|
BLAKE2b-256 | d6d9c138fb247f1a3f13829d0bb668796ee79aec336b364712e32288e76cf49f |
Hashes for supriya-24.2b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1c80389ece4ab7031ab0abfb3e189a6db03c347947d2bd56d3e96dcd390361 |
|
MD5 | 8d36c48f67337d4c3e44d3674eee70a2 |
|
BLAKE2b-256 | 869ed2c5578d448a28477975c8032ce39e975b22018fc01ff989ef4cd476ed69 |
Hashes for supriya-24.2b0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec5be5d55787126c340330399f8749912fdc36a4d474185e293d2bc815444e1 |
|
MD5 | 7c377599b5cac023bee3804a7dc5b191 |
|
BLAKE2b-256 | d6786f32d60a98639c01c64f0a851bd195fa4ee1604c69af5285e8503666dc3f |
Hashes for supriya-24.2b0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17e11ff5fcc7b0bb310b7a65257b82f32befcb91b394fb770c2f061207f3b113 |
|
MD5 | f54c89ace655d9f31703a8f9d94f68c7 |
|
BLAKE2b-256 | d1da0727e678bb37f05a40066fd3d9b89167787e966a4a2c50006296794d0d23 |
Hashes for supriya-24.2b0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 002cb8acf10f842ed5573ea8cf9bd3080ccb1c1d6716ee7f8c44f1bf49363945 |
|
MD5 | 8fb3fae575fba0abfe102ce7f9a5769a |
|
BLAKE2b-256 | a6feffd659802b13da2a21da22ecb90f5b6d4be8a02c2846fde7a04e7c20eaff |
Hashes for supriya-24.2b0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d769b81ec50fa45d15dda5da01d2656a293de19d261d846d3dccdb7a6227aae6 |
|
MD5 | a7f6f8527020ee4e6bb1c3cf21aa28bd |
|
BLAKE2b-256 | 4e1106afc5bce7a99f1bf28c156c0a6831758aa7f457def13b203582704a0124 |
Hashes for supriya-24.2b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23aed6516570a9bbb9c27a5ec810381c4948f782262249429ed0ad9339cb6214 |
|
MD5 | 3351ce84a8ad0ffcd935e8a275c27443 |
|
BLAKE2b-256 | 03ce9f2b66c6dbc7c83591e5b3966241e50710cf34c6d3e0844e41b2ccf8669d |
Hashes for supriya-24.2b0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cb1052ba175cfef877c06167b703edebed891247829c2d7dbc5e5e0ba425e9 |
|
MD5 | 7d5ad1f3ce8439e10cc920af3c0dd00f |
|
BLAKE2b-256 | b4044bc6d0b991b464d00989d5e49cc4d6a882c6c343b268382f2a3b5336c2d2 |
Hashes for supriya-24.2b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10c24d0c4c2047a7d04af1b29dd9e1127f6d12132b5d880fa4c59874fde64cb7 |
|
MD5 | d30f1c5e0a2a1db7d69da055619689d0 |
|
BLAKE2b-256 | 85e47f9c2aa9be9b8f4b211c5457fcef1e83cb7529f76c24c24d3f8c8d6c8d98 |