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.10b0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a4def1e91312e5d6a7b7895b4daa022a410323627c569505d812858d65dd833 |
|
MD5 | ec5ebd5a5ef6ade4005a06d4a526b8a9 |
|
BLAKE2b-256 | 516cc9d306e4888a532df5fac6c0c323615d7ae4db44316663499e25e8255e77 |
Hashes for supriya-23.10b0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8e3293dbae1ac86a0effb9df5ac039fa63227fe05339f5564ac4ab7407575a4 |
|
MD5 | 1b11801bdd998f8539f13c03c4601f2e |
|
BLAKE2b-256 | 0624023056554137dfdbccfeebc04d7e30582b119bec925c12aa36943cb0ad32 |
Hashes for supriya-23.10b0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039772e56dcec4de67d6c24df092cfc0de8db4c9ca09d44cd90b92d352b2d4b4 |
|
MD5 | f8a3d89a0a0ad6b90499332a47007582 |
|
BLAKE2b-256 | 930b78632a40d14fc6145b85681a9a43238a62f96bdf3286fc6750a789aa3eb4 |
Hashes for supriya-23.10b0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f6ae3903ae7a58c50d2c0487e03399c128384f18f3fb309d7e07a6cf0689f99 |
|
MD5 | b773e406ed31187bbedb9810bc70ec1a |
|
BLAKE2b-256 | df53adedaf3f783ef9c3fbf998cf9465f05c7f86f431b6541250f467a7b99c7c |
Hashes for supriya-23.10b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a58dc20a47f0142d16f8e9136629ce019780b63d497973f698742cb7edd4c18a |
|
MD5 | 69694b46af35909dd429be4b188f6d14 |
|
BLAKE2b-256 | f0194d30e2b7087b76c4306666e9ccce308b907ffce58053351d9800ceafcd9c |
Hashes for supriya-23.10b0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5fb0eb8609cd033dc3d1b885c45fe65c2c88062659a2866896f7bd211e2e748 |
|
MD5 | d796cf44496eb8d978c095203d4ff955 |
|
BLAKE2b-256 | 2803559030d31e8a4673360fee5f58dd1fe7f8e19743d5960c602b61e4a63134 |
Hashes for supriya-23.10b0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f12c8136b4f833dfe43ae0c9222270b188a950250af6a690151c8129c436e0ec |
|
MD5 | bf1e320a94f7c5902b7f24432900ed77 |
|
BLAKE2b-256 | 1216d3da4e630489125e543d9ce6b063f851bb8c4547fcc325692c98676bca7b |
Hashes for supriya-23.10b0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37a618ff1146e48a2fb53c3143fb322e0895d159c8ba6e76591bbbeb08c39a0d |
|
MD5 | 7525fb789367d7676cd4351e44029ed5 |
|
BLAKE2b-256 | d8080cf60d2c72e2301b8a2c969b8b44472a6d541d9c1e24a8dc56c149ba4874 |
Hashes for supriya-23.10b0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3bd5fb681a123c74873ed6eff229809718ab2600c4cebbe4db9aafbbf038c5e |
|
MD5 | 4256daaf9a5019a15fbb714c6414f013 |
|
BLAKE2b-256 | 26bd0096fca593118ce72cb6f3a0a6aeaa7a10ca04ac094ad502aa3794a029f2 |
Hashes for supriya-23.10b0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29f0d1238972569614edcbaf6df340522580e5df0f8b69da1125194852954623 |
|
MD5 | 07aef091a2d28f9cf1de955bf2ab5eeb |
|
BLAKE2b-256 | 268f9e88cb7e33e99742ee3d886c2149922f300c451311fa856bcf11c7f270ad |
Hashes for supriya-23.10b0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 791be9545bbeec81db948ebf2cd4ad82864f10385515660b5c5e7181054a41f8 |
|
MD5 | 85f84fc8353e3b457989c20ec99a03d5 |
|
BLAKE2b-256 | 1e846786aa25705f9516f32c8724e9b13b02f7ca489d243b766acfb656dc3ec4 |
Hashes for supriya-23.10b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c11ee6f2b38ba5b44fc2b2e93b0945cc4606628c0b3db82ebbea572e1789bb8 |
|
MD5 | c9a68e88dddbfea29d3abe063f8560cb |
|
BLAKE2b-256 | a3e92ff9daec1fff5c7e377099b6ed6888d3ad0b365bc64c08404c5b80354ddd |
Hashes for supriya-23.10b0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0c904c937e161d52d35c086326ab5bc261927565af30a92f459433108ddda82 |
|
MD5 | 49aa591adb75e6c06e27ae048c2e5f4a |
|
BLAKE2b-256 | 0929a666392ace43d0cac83b7b98b1c7eb6a793727fd0facf4906ce7f7984d20 |
Hashes for supriya-23.10b0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e6ea9d524e984e16f9a16dbfcb7fcc9c0853bb5efe6f6177baef8f6da4db59a |
|
MD5 | 54a4720c85386bdc9ce84cd48b478b11 |
|
BLAKE2b-256 | b1fbb5d147f8ed2251f9c5dffdb9da7a1d275bd96a43a738d13afc53a4767e53 |
Hashes for supriya-23.10b0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2fff00971967157f470cbd48b8819dd16158f261b0b8b56bc1a8a26e863d6f8 |
|
MD5 | c261ee18c41ee77d876f1e7cc3cd54d5 |
|
BLAKE2b-256 | f80c9de444d7d756be8df3410b23f6d2742a71224a0a21af512271f3b51d9ba7 |
Hashes for supriya-23.10b0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54fbafbba45982c29357da059b9a119b07babae4317373246835dad9b7d285ab |
|
MD5 | f1f1b237160e36b886cd2591b5b3d716 |
|
BLAKE2b-256 | 10c681d89c9b9461023015487b553094d4cb9acb20d062d6f48cbb84f07a1e8d |
Hashes for supriya-23.10b0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 782e9e9cf1d050a95c5042f821a5e9f18a076fe7b9cb9cf714710fc920966d16 |
|
MD5 | e1eb0306b8e4a6c436eb40b8d69264bc |
|
BLAKE2b-256 | 7c7d525e68a42ecd7bb278f44df41a8244550d8337c5a999be3641f275207f08 |
Hashes for supriya-23.10b0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90c920d78ecd79234ac3c182449ef58840f29754ce287522fc8c736011f88b89 |
|
MD5 | b45f0fae45ab0b3c7d076c58ba7a518b |
|
BLAKE2b-256 | 93071dc73a8ba750a292f21db58d25e23ddcbcc8175452e0116c8815da7c4207 |
Hashes for supriya-23.10b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f019798d79fdd03f4b29cc651d2f75411f2b8810f6351f5590bb3b531c7d4200 |
|
MD5 | 46235763e6c73579270978a60e514a5b |
|
BLAKE2b-256 | e7147520313808b3247ea56544d8008fc08b58af98595ad75dea77081b6e7dd4 |
Hashes for supriya-23.10b0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee92bfb365ae9c4a0f31770fe0491f0af8b72358c11b24afc23c3bbcd67cf1c |
|
MD5 | 484a5dcd2a1f18d2f721fe78db25b4db |
|
BLAKE2b-256 | 7e1a938df66a25200f7175a5c95d0e070bfac29cd4ea33a0a1def8cf0c9948d4 |
Hashes for supriya-23.10b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 762458c834557feed32a576b734de2fb2cd2dd0ae1c96a67655ba4ed13f1d7d6 |
|
MD5 | 55f45e6b4ee5fce8c98b8b94fdfb26de |
|
BLAKE2b-256 | 956d0e90ad8eb84b1fa64236b3234c16a2a404157042e6cb4db8b2145ff2732b |
Hashes for supriya-23.10b0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a429bb5a65844d0b7de358b7b544b8851ae397d0c8a7baf8859f4fa9310dcf |
|
MD5 | d4a6be1c665fc8af0b3df8491bfad9b2 |
|
BLAKE2b-256 | cf4bf0cef5ea56460e5712bed66a39857a4e8c84f2525a8bd2ef1fdc3d00fb45 |
Hashes for supriya-23.10b0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14fac195f7f7887fe96c3fcf5cf9b949e793e8c78815f69a8be0292c7c7e2db2 |
|
MD5 | fc9c6abd432715424bfdb170d2554bb7 |
|
BLAKE2b-256 | 90b48f6bff7b02914c50124b399ff840612320e2cc7d78732f2e77a748d506cc |
Hashes for supriya-23.10b0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 308c118bee6f1083ac20279cd91a52ab7e9318d23ac0d43382cdc37de9e9a84b |
|
MD5 | b005802d53745b2628f1d294f037e0cd |
|
BLAKE2b-256 | 36d033474438ae369772c39a7eb89efbcb0e9bb9c6f1504a20fc5328d147ecff |
Hashes for supriya-23.10b0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92235c4391a925045d96d964eadee5f6c95210b1c1bfec7875a35ee97d3b28a1 |
|
MD5 | 3bed65dbe10084c8149a587f2628572a |
|
BLAKE2b-256 | bdd9ad67970cafa366d8206b45821f0e50f67a3f55ee1a606119a35eabc374f2 |
Hashes for supriya-23.10b0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95145bac2bb236fb8e652d4e1982d067a4ffa88393b897d43eb272c206d052ee |
|
MD5 | de4ec147aee605b76b116b77f1a2a57f |
|
BLAKE2b-256 | 58ba237d2bf96fe880381551278ed95b6456d0952aa173412f10abdfe7aa9613 |
Hashes for supriya-23.10b0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08c5b0d18224211575a39032b92d6592e9911d334361c08f9c3700e37ba8a6e9 |
|
MD5 | a6d64eb25675876f51a62c004d45a544 |
|
BLAKE2b-256 | 1ae2e1e458622c6b2084d2f6988c89c227a54d1d3e9614913677dd363fca456a |
Hashes for supriya-23.10b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e488d2980c6908fdc8abd60246503394902fce3b92c0a42aac7ec80cafde4e4 |
|
MD5 | 2de29deb6213e00470f2185f0cda65dc |
|
BLAKE2b-256 | a3355250bf35baff23ca2a9c946be19bb1d7bc512502a547822a40ffd5e7b871 |