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.5b0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c61bdff2916fa3c7f07ea7bbaffecf37ba1aabc2c3f3b1a16addbd6aa34948f2 |
|
MD5 | fe715a59bc7e051e2734e259cd202ca9 |
|
BLAKE2b-256 | e1de612fa50634f474a5c6a9a427e4aefc278999a3f18f023889b9e4cc0813d2 |
Hashes for supriya-24.5b0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36ffe17fc36dbfa8422b075c36109f4e8f1a567199ce69db4a18f9615478bab9 |
|
MD5 | 40424be07fc83673d7b852831a2828d1 |
|
BLAKE2b-256 | 35b94f26df8a2d9a1da1a002dd53cecd2f1a43ea93930db2dcd721b8dbe91787 |
Hashes for supriya-24.5b0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e4424b6e9b15d844a8f4467a84c9c9d565efa6fd676edf507fd4eb23631e3d5 |
|
MD5 | 79367f3c0c2f30d281fc94b1f9ff890b |
|
BLAKE2b-256 | d7f8d215b85c3234e06fb943241bfe20dcf337670b75a878fb5a01753c998445 |
Hashes for supriya-24.5b0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67263210e916c12bd515cc9ae515811a4c6a068e3ce72d30421ce1a1fcaad5d9 |
|
MD5 | 1cc97ab0e1eb1c4e192ae1deacb7e75b |
|
BLAKE2b-256 | 4ab2bf2b388aad9efa0d1cd903ba142ce155f94a7903f314f3beb82ee71bbac5 |
Hashes for supriya-24.5b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eae95b1e3e9614488dc47247b7d0e532317e28b9619b2da3b6786da5e8a2f91 |
|
MD5 | 0e167af3d204d0d2497f974dfd970842 |
|
BLAKE2b-256 | 5218949c047e8c4526794c0602220061334fce279f21f7b21308ef03978021cc |
Hashes for supriya-24.5b0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ff5ca7fd311ed8e197bba36540be712ac28202d2c96e40da361152b753ac347 |
|
MD5 | 81d8378ba48a4cf6199222e4e8da0299 |
|
BLAKE2b-256 | e877e947047282ec33dbbdc45a8d3987b461b1be35c1886c6dd03e7dc73802d9 |
Hashes for supriya-24.5b0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d7488ca48c25bfc87352ab1cf653c3d63f8798398cc8b89c4be0de8c4c4c23c |
|
MD5 | 9625171671045f1e350f908565aa4721 |
|
BLAKE2b-256 | e63e614a278f874d137fec773da9ca221040a4dd5a8bae36de66ab334e9dd06b |
Hashes for supriya-24.5b0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32c2f3cee11b2f0c5bf73cc8f5b3122893736cef7ba6f1724a3ad491fdaf6c38 |
|
MD5 | c15f7e290a2a67b0f5bd544c3155247a |
|
BLAKE2b-256 | 0dc8308c8c56f5b4acadfebc8a31fcc8d257ba8f8f391385e35195ebda65ed55 |
Hashes for supriya-24.5b0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba16d0b0fb00d3b3e6ded574e5a1dad4b526442bfbb9f0400db598ee10729daf |
|
MD5 | 1191f4a1da908c0e8ab0992dc3bba269 |
|
BLAKE2b-256 | bd77fe0996613917ee2fbf4d6da6de81bd10db6dc9ec8441255ebd4e85746dc4 |
Hashes for supriya-24.5b0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 697a1085abc7a40133fc8a547f62ec24bcd3977f7d608e7fadbe0d4b7cea5439 |
|
MD5 | 57a937997683e8cc519116b6ab28fa2b |
|
BLAKE2b-256 | af2e1e7233d5710c03c1cfd6c551b1ce3242cbeb73fb0a15c511b2f0450bc568 |
Hashes for supriya-24.5b0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d29c6aaec5d7f69924ea6718ab498be452fcd25bf80c755953057ef4bd6bca9a |
|
MD5 | 198fc4bdf3372d3c339d1b4d312495c3 |
|
BLAKE2b-256 | cb5bc335c854e88cd510267866003f2479fb4732d427b9732e1e09cdf305100c |
Hashes for supriya-24.5b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b0dadfb9736e614ef398b856e03f59a2488bb57471bd0ab9100010e2c6efd2a |
|
MD5 | 40161aa19b2c025143580c293be24b36 |
|
BLAKE2b-256 | be74148651de95091dccd7efd1984b7ee58a3afa18800ff4e50bbdd50088baec |
Hashes for supriya-24.5b0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e27e52efe4a07602b003bb3776777c189a51dce2d01ca33d7143f63b6d6ef186 |
|
MD5 | ae2dad68c1ed43466814581bcbc433ad |
|
BLAKE2b-256 | bc697279ea01577e6e0e42d8574c03b736b8ff010d29603ecb57abb7ed1e3be5 |
Hashes for supriya-24.5b0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f6e32a344a2be81b7fbfdceb4f24332282a027ec05b4739882085095a6d807 |
|
MD5 | e2b39351c2faa4377a4bb6fe83c18efd |
|
BLAKE2b-256 | 4f3e3b50635d24970559e46b511777fbfd41a8cede49b18a96d04c8e50ede1c0 |
Hashes for supriya-24.5b0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f18cb62830b7baedd3c361704e553c03144296fae965872c8022656b48777ed4 |
|
MD5 | 5926afa0a70b3ca27f9ce59f64a5f742 |
|
BLAKE2b-256 | cac007e99352744050e4680f1d4117ed7e41a04a1f6d0906c0e31da1f778ef87 |
Hashes for supriya-24.5b0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40bb9061d7939879741131c8ecc0aa68ff37ce2960a418195aeae0bb4e82f7a0 |
|
MD5 | cf8fe6f93745efbd1f2bef211e6481f5 |
|
BLAKE2b-256 | e8d3c7ca8dcdb31b40c2fdc3bf983c90211d733d15b442d78074f4d8dc6efeb3 |
Hashes for supriya-24.5b0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cbb89b6d396c35909311c97354d683658b3f09adb3a23498b321964ef2d5003 |
|
MD5 | 43fcc4ce1f4f4d5bf7d65b15d5f160e6 |
|
BLAKE2b-256 | eb4bb0d3d4b1cc95763f3e423cb9f2b51065562aad842e2aa220a05a46144005 |
Hashes for supriya-24.5b0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5599b0ae8aae6308bd412a91b5ee4049b03bd97dd320189685036a9fba2703ba |
|
MD5 | d2f4f0458ea107149d14938fb5d7d965 |
|
BLAKE2b-256 | 951960b4c704aef7cb8d9a120daa4ec288aade465bce1f0c7627e13246b1b223 |
Hashes for supriya-24.5b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d38b720aaa3d1c7a58eea531ff93bea75eb8a8bf7c1102d152cd1f4f49be1fc8 |
|
MD5 | 7c9aa7468084cc92bdfc28613cd58791 |
|
BLAKE2b-256 | d3b7fc9d241c04d7c6eb7ade2ebf963f82ca9f2c5b32d8bf03c416aca6e1c079 |
Hashes for supriya-24.5b0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f316097b11c9af7ca3cc81721a3ca764746c1322c9a4632d88bc5e10f6398d |
|
MD5 | 59d68baf58caadc9e6df207afa3ba739 |
|
BLAKE2b-256 | 97740a521c5b417a748bfdff29ea974d122c90adfcbbe8613572bf794dd63f60 |
Hashes for supriya-24.5b0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eca97e64c897933fe57749fcf5cdfe4a14c5b3b5317f5cdd3fb66ef6192b2af2 |
|
MD5 | 7b794849a13fdbcce7c1c44a492d2e7b |
|
BLAKE2b-256 | b4b7e37b50903984c9ccc11d28f001ecff47cad943bae294902d4e835c723d3f |
Hashes for supriya-24.5b0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bf08cb98ec4b379c9cf08ceb2c5dcdbac91a1e2f4cc16d42fea55c53b4236ba |
|
MD5 | c20bccddc4a7faa9c7c21acef5424082 |
|
BLAKE2b-256 | 254887d7398627ecd34dac746efa11eefd1fbee48a2109dffcf7fee840136fa1 |
Hashes for supriya-24.5b0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f3c1e91418b36c7496bd6b91f378a96707626bcd5be5e62f1459fd6e851845b |
|
MD5 | 61a8c231b5242bc2e609df78a49dbcf7 |
|
BLAKE2b-256 | 62ad043df2761ee9910e012ca54c8be0da070e6e6fae411c8c87e5819b049a73 |
Hashes for supriya-24.5b0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e487ec7a40745c83da634143f16a6a4f27ed70e09065bf2b6c6af902d18b77d4 |
|
MD5 | 6f96cb3ba9ad1611a0160c7cd327bcf1 |
|
BLAKE2b-256 | 65613a3780a182ca5e9c44753ec76441c2bca9ea647c8db956925ebbf9e5ec7e |
Hashes for supriya-24.5b0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9ca32665d2dbadb0eb71a534b7511e572bafb5ad7a1602028f8cd4f9efadf27 |
|
MD5 | 62b20a1025228d10ad9cdc891549d889 |
|
BLAKE2b-256 | a763c1d6a909b45c1c650ffef3dcf65df10d1724442b8cfe3e838ed8bd480a4f |
Hashes for supriya-24.5b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d7a7ed0f06ef6647c1f0c42b8ca06d2fdf78b821b9c89aef3311dacd9ed9bc6 |
|
MD5 | 47aa114f59ed3dd15ef8c63ff20ca010 |
|
BLAKE2b-256 | 1fcac081f7366857cddf1cc76886fec8867d5b7d264a16ad9541402df647d493 |
Hashes for supriya-24.5b0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7745027ae315a44e497094ea9dae48d65967512cba4b728015c822fca56dec44 |
|
MD5 | 0a78d6d30f6fb000c65c3df3e292af58 |
|
BLAKE2b-256 | bba04b277c39fcded72df55421bb520a0a4af8be0fb496b807dec7656da79bca |
Hashes for supriya-24.5b0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daa74f125105da20fcaf057940066b50c50817b0453cbbc08c52de5b37e841d8 |
|
MD5 | 2f17db50bf7eb97e47dc3962fa7fe77b |
|
BLAKE2b-256 | 057d831d8cfb638b90718209605918f4a42324ff682e1517f85fd92fabbf89ab |
Hashes for supriya-24.5b0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6c4da3208f45d411c7cc84521d359b3bf4b300fd6bcb5b7ef0373e3f9e3b8a6 |
|
MD5 | 7762869add7fd68f5ab6094c0f54f2d3 |
|
BLAKE2b-256 | b380302b030a640788408ff7ca167d272ea55a1a46fc6c5940fa4cb2c3a0ccf3 |
Hashes for supriya-24.5b0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adacd5c6790875bc82996bfaf64c373ae91d6d1013eadbaf04c31163ff1aa272 |
|
MD5 | 08fd1e7723afcc3b3684ca9d93a2dccf |
|
BLAKE2b-256 | 015bdc9a34e5f2ac59ead7c1a4062e72333a8da13f22b775431bc5bddb064562 |
Hashes for supriya-24.5b0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b58b1cbdf344554d75ed10e9118be7ee8dde142c017f098ac072206f68d58a |
|
MD5 | f53b5a739e629522cd96751a610f4f2c |
|
BLAKE2b-256 | 316779b9511a54ff1d3f713ce8ceb5409bf1afcbb2ca618a88db12b6d1127d0b |
Hashes for supriya-24.5b0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ae9c729c082908f1ebbddba302ea8362277f0bd918e350150ddfadb4f2e788c |
|
MD5 | db5f2e3faace2ff88b0b7b669de5f3ad |
|
BLAKE2b-256 | fda332580e5c296080b114e554d10d8f16c86edd47646ded863a83bb4fe24e9b |
Hashes for supriya-24.5b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92d07bb6853810832f33498ea8aeacb8827048724c07e9718046deebc8fda9fd |
|
MD5 | e64812d6997483c7d71a50fc6939967e |
|
BLAKE2b-256 | 409dd6366e48a45ab8c95325caeed99206f1dfe9decddd973bd584df11fd927e |
Hashes for supriya-24.5b0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1a6ba29f3478021fa400a094058401eebff667f2c4b51c9f9c3370e436d2e31 |
|
MD5 | dd7bf73eaf1aa425f60a0a45ec076bfd |
|
BLAKE2b-256 | 931c749ca38e2bfaceb436db7e1d37d124427df26d3f4b9023110ad735ddaceb |
Hashes for supriya-24.5b0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd182896c507f3888b182db2573d2881b1135524fe6995045f4b856b49083ad |
|
MD5 | 6a5b9c5debc6410b40d5de62ac5d1bfc |
|
BLAKE2b-256 | aeea33ad5750581fe6e4b53caad527033000d5897008bb933d9962de556b8518 |