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.5b1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5b07f5736a79cfb059213a2cec7304ed9049c4e1292b605fd4fafe6346c7cf6 |
|
MD5 | 1e1d28e240dd20a052883ee23007d298 |
|
BLAKE2b-256 | ba57d48d51f8e85c8c388c411abc93c7e77389188338b27cd37f706945978cf4 |
Hashes for supriya-24.5b1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48be51b9dc07001d83106a4af4438379aae4829f27fdc7b73fdd172234ce64a5 |
|
MD5 | ff70a4d8ec61932471fddb5732ed7fcb |
|
BLAKE2b-256 | 422331be6e162208ce94fdf278a7b7cbb3dd17e2eef9a58a672825f6c67ccf43 |
Hashes for supriya-24.5b1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35383083222279a14a5899ebc6f3a9d2cadd61b22e5b5dfe706494f7b97b7007 |
|
MD5 | 09d134f63cc2f213dcf85b78f19a07fb |
|
BLAKE2b-256 | 2760d4b5a337788f401784670f0c591c2a278d8fe93be9558cb44caf815835cd |
Hashes for supriya-24.5b1-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d6127666db04d9aeea5cb45f2188ccafd003e1dbaeb64b23715f34a9cfab7e |
|
MD5 | c53477a2c65dc4efb517609ce00d362d |
|
BLAKE2b-256 | 0882081d0a4c5b3fe57f069ca2a778b786516253ede7a36fc23fc77d2ac3482a |
Hashes for supriya-24.5b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1269068c4c76f4395e1683eaa385901ee1d4c227cd155c378fc2803b85d5f690 |
|
MD5 | 8efed210b97f9c5c047f649f1188b0bb |
|
BLAKE2b-256 | a93e3ffd75f5b445c6078055f2b83586a5eb4d7c1e118d3a8c2a7d51582ab01b |
Hashes for supriya-24.5b1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b7deea11a9b1c561c744b85afb2c175f623130673d2677ee2d3e1d3d799a7af |
|
MD5 | dddf790ea13b84100a5bfea6bda84680 |
|
BLAKE2b-256 | 0844a4f02f9f9c69bdb6974ea51f78ed81fab3756f17ecd0ad76280575cdec18 |
Hashes for supriya-24.5b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c996c9ac1dca6ae036e3e56c2e0ab8ea6db18c7898f5e4fc7ca9b574ed26d15 |
|
MD5 | 8137e784466a726d461499b0a17b2ea7 |
|
BLAKE2b-256 | c7023b8ac4e0a1c1fc4105667a114c7557cdd834f515a12648f54eb52adde1a2 |
Hashes for supriya-24.5b1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d76747a870a29a0311acb03aa3103e3c5d1a2aa59cf93b37150bfe61b2e803f1 |
|
MD5 | f132c37e7b46dd3edd5e4c223b136948 |
|
BLAKE2b-256 | 631f76eb43f27d3e052e47644324a4f09021056eb18c33153b972e11ca735c83 |
Hashes for supriya-24.5b1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c07661d409780b68d650f22880fb744bf9d34e5774f824147e7d9d6e19de7b6 |
|
MD5 | 27c39d1cf3e0cea6658ed5ea34158eae |
|
BLAKE2b-256 | d8cdfce0391e9b8a6946ee0cd62c00a86f095cb79c6ebbd5fa0ccbedb5acb421 |
Hashes for supriya-24.5b1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60f55e72b11980e9365913eb324cc46f5bbf3993d672bfdbb23be865a5ff832f |
|
MD5 | be412e21d6d14a14189c9345123607e6 |
|
BLAKE2b-256 | 8690f4ded261f7b9e80f572bd1da04d2970141549f7c0ee1ad1f483be793455d |
Hashes for supriya-24.5b1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cfc3941b96c91782bc571c986fb8a7fb772688ba8139261e1d05d61636f0234 |
|
MD5 | 6d21ccc1dc371ff98608ad1de58e9689 |
|
BLAKE2b-256 | 84f6e18594b0195eb6ebfa299172123a39abbc85d84d52463c989672b2bec4d2 |
Hashes for supriya-24.5b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4ea0893eeae9df4ba6bdc89baa5ac331ad62fee5facab0f3aaf8d0be253c07a |
|
MD5 | 99daadae144193b8ae7317dbe235b844 |
|
BLAKE2b-256 | e2db96acb7004295abf78c0143ecafce68a3280e1296d277c8ac69b941863db4 |
Hashes for supriya-24.5b1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 344672e0218f58199b236983963cfaafdde77f6c00ba0c2069140dc691a15f72 |
|
MD5 | 0c58c31a28c7576798a21c7bf6949834 |
|
BLAKE2b-256 | 3b482ab172eaa2667fd914437db7584070f62d2faacf7e13021fdd3703f305b4 |
Hashes for supriya-24.5b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 004c02a2149c23e3d5a2af12e920c9d1fbbc03e7ed1ad62b96b2c950f1296b43 |
|
MD5 | 9b93739876f77e163908c767ece2f2c7 |
|
BLAKE2b-256 | ba51f19da14206df8b35a975026430d030728accc6b5986d52c5cb625c670f57 |
Hashes for supriya-24.5b1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fad96b3a1c1441ccee15aa585bba938b74a73e87efade617ecb2ead97d2fdcf |
|
MD5 | d7f1daf66a21b587b3baab8a74ea180b |
|
BLAKE2b-256 | fa2bc93b2f7a317924a4a4dbbefc2563ce367c60bbd38dc3e3e253434be6f3dd |
Hashes for supriya-24.5b1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25e29e90ccc8f3ecc09ceac554a0c353ef2fb92d5a023637f398bdbc65240dda |
|
MD5 | e59efeeb394dd7f1a9654005c7d2ea7a |
|
BLAKE2b-256 | 8809a4278946bf0e1c8ba5219be051959e8f5a3823d1f395b43b535e7be1d846 |
Hashes for supriya-24.5b1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 573b9effc93e607220a0f624610fa498064f34e7008831412153240eac2bb80e |
|
MD5 | d21ffb5e40ef207abf5b7d76765d0824 |
|
BLAKE2b-256 | c6088914365953df4cf61a35ca20341eb2efa1d6bb2abd20baf3ae3b64659388 |
Hashes for supriya-24.5b1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34ad2fa450465cdf8f64495076b264e6eb69e480bd02a584307111eb594ff375 |
|
MD5 | a1737febbc81b6fd3f6cb86801b297ab |
|
BLAKE2b-256 | 3f86889c6c600a3309ce0eadecda0996796b7892f8fbe80574af63c444485fc1 |
Hashes for supriya-24.5b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9324ab7d552508cc94c6af36a3f865d12cc471378461c2d31c41a99e7e4d93db |
|
MD5 | e05cb1f9c432a23c6c22127779734c67 |
|
BLAKE2b-256 | a6559ae9c225b2ffd0bc3aa8148bd4f9d9d76562d1881e7640b49623b1d60740 |
Hashes for supriya-24.5b1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 958c91d6801bccc4f51bb09563c28698d83af402dc037f00e1ba4aae281548ec |
|
MD5 | 0a3e09e83cf9e8ce78dbee09cd547dc6 |
|
BLAKE2b-256 | 85d1f5812c9d896d7598835d11a825ff4f93cdf8697ed00555eebd606175ab85 |
Hashes for supriya-24.5b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bbbac09d71ead9917cf1ae6fa611ef41016e53074e5179e3fca59d00d7deeac |
|
MD5 | fa52cceb638370764ae88d56e426340e |
|
BLAKE2b-256 | 235c85fc401e8fbabcabb8a3b43427767ad45239ebe1bb3dbeca26395815d376 |
Hashes for supriya-24.5b1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dfac2ec02ec56580ec057b27291ba1e5577b3a69a4f709e5796cdce00ac121e |
|
MD5 | a9f6180a1ef39630c8ff51d0e8432de9 |
|
BLAKE2b-256 | a2355c85053b7c5e63d8c179777bea1ad2e8636a0fb4a8f8ccd3bef66655f7a1 |
Hashes for supriya-24.5b1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2cd1505842c53f0b1f813e49b10c27c39ac3d4da6b71535248c096aaea13904 |
|
MD5 | 9d3e1378164d8ac5a52c24f080578298 |
|
BLAKE2b-256 | 485f1c873ef490c578af137af07524831f4bde58852c3d8b2dc3a4424f39050e |
Hashes for supriya-24.5b1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6415376614da468c8ebfb109d0a0d4a8fd3535be4d4f8c9427a448437155f62f |
|
MD5 | 925f47041be525166120f9fb174483bc |
|
BLAKE2b-256 | 15e3a90e60394ef9f55eab131ee539a214b2c5dedbc421918dbd31821e2872dd |
Hashes for supriya-24.5b1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5f5444a3354d47670a2c3c1fdde30e31892717313bbb436aaeaf45863fae59 |
|
MD5 | c430c53eb11f5126f9cbee626a829a76 |
|
BLAKE2b-256 | 689dd737f44d9ea315cf901759f2d702b6d12a812f0d4b8caf29ff2c5ec0c147 |
Hashes for supriya-24.5b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3aadb82afb84f09069fc9ba5030e1f866cea2bbd5c3e1a9f4d07183250bf48 |
|
MD5 | 19a78ea704af35c970631c3c13025184 |
|
BLAKE2b-256 | 50654b14dcc9c3863d8d2061b8f0f5c20291b4bb62c655fe637bce76e62a3783 |
Hashes for supriya-24.5b1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b31aeb4b6ff1cd3e1153facdfe44926d9de5260c4ddeedd713771039e00632a3 |
|
MD5 | f40265495fe698f8288e77466dc296e9 |
|
BLAKE2b-256 | d2a1c610b5134bbd8c93017e9296e1d1e0a05b15cfe3cf361e343cf85e849968 |
Hashes for supriya-24.5b1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3977a0ab133e9ba9b0960e8a8174bd9d7d5bfc10c1e958090d7f994ae61a30d1 |
|
MD5 | ef40e838603c0c66e064e909945dfbbe |
|
BLAKE2b-256 | 5be6a59cf58d909ca8714f8baa098fcf83901d5614a98404f9441915fa963644 |
Hashes for supriya-24.5b1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37d06050ed4e965a8405ecfcb9035d17b838161d2690adf400c34e7c3a92f158 |
|
MD5 | 719f852c015b97babe98625875edd93f |
|
BLAKE2b-256 | 7e979a15306fcef150a3889ff17399515821f89c26692c5ecdd65003b9b6a62d |
Hashes for supriya-24.5b1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b726f063b934769237cf5a57ff6b00dbe1ca39128750f3aa4e69356713626b2 |
|
MD5 | d421d5d6105b4b2c0eaa5d7591921055 |
|
BLAKE2b-256 | c56ff9f558ad8eb9063b4614e9cbba4627d13d11759cb44c299f98b919587f5d |
Hashes for supriya-24.5b1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6371dc7b73e43563d4411a22f6a71ec9c570d7777ad19a30e5d9bcd29a785544 |
|
MD5 | 16029720953937cdb49807799e4d4169 |
|
BLAKE2b-256 | d5c95ae98a8485753f7a676de3f4378fc79d22fe8ae1cb88087c72fb17b862f2 |
Hashes for supriya-24.5b1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d1b6d899c5be86eeacce25837a42d6473699784c4f38ecd3b9591b726e19dd |
|
MD5 | 189b28ad4dcdc32c643f455a34e769c9 |
|
BLAKE2b-256 | 441101dd75e742356a03dda07963d335a8633d3eebe9899bf35f7820aec20bd8 |
Hashes for supriya-24.5b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 679e8d30e1a74372a82bd12912faf15a9022463bba40ba9a4dbfe8cd4857eca4 |
|
MD5 | 44058b495017274b32c38f12108cdeaa |
|
BLAKE2b-256 | affdedd1c1f87a2ac771b1dd9b94be04c65f0880e2b7afc3c7bf678ca4146d06 |
Hashes for supriya-24.5b1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 321b21d8228c230ddac9b63c69191cab90f501711e345ed1dfba1631ac672707 |
|
MD5 | d8f19bfa19620fa50f3412375019b0cb |
|
BLAKE2b-256 | 98f060972b6413054c5ec873207937dd7f224815c48995f506f5ff737b71bc99 |
Hashes for supriya-24.5b1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4176416a171c5caea711b1d62de7409da9e25e6d15659d0cbead0759bcf6b284 |
|
MD5 | 1885b05d0f197b75fc8f1d637cabf3d6 |
|
BLAKE2b-256 | 5e008fe18d5391349f1ba3476b41a585e02965f501658947095d2ff4bd7eff87 |