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)
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.3b2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdfa3ff291c48eea37173ea2907418f4fc2abbcc9a504bded8138665b4ed5656 |
|
MD5 | e3f2ebe61c15a9655af765fbe296bfa9 |
|
BLAKE2b-256 | 969c4c0ce2a222bc3865d163b340b0586eceb9ddc4e08097c2fb4bf6d1e96dfc |
Hashes for supriya-24.3b2-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | beab16d748984ed984714b0141921e2c6ec3fa678707397ff814e9f2bf2759ec |
|
MD5 | 5d294bac52b4ac41d8434aa33b4f8728 |
|
BLAKE2b-256 | a9015aaf9d82ce7cdc2245bdb69eca678e22b6afd47b007804824b97ddce8f85 |
Hashes for supriya-24.3b2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a36b1d302364b4bc0e52c3e7ae0cb96dfe081f3aedd30df49a10b917f9a719a |
|
MD5 | d415419aef7c6a3231beeac26d5afc94 |
|
BLAKE2b-256 | e355a63ac5be516e68ebd15e06bfdd2652ec12b311908cd39c5b3d4af980d05f |
Hashes for supriya-24.3b2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b016243e7c0796f4d6409adda910e925c0d33937730779a28e85f0049e38fef2 |
|
MD5 | a93402ecd135c586e45d303122e6a6a9 |
|
BLAKE2b-256 | 4ae7b9e0f955fa6a160e9cf54ea43feb83bca3c6794640a06710fe950d2bea94 |
Hashes for supriya-24.3b2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a2f55b933229a967bf4677fa746174cb3ff4e18e047f32c0b7350cd939375bb |
|
MD5 | ebbf5f65b810d38c87d775464cad26cb |
|
BLAKE2b-256 | da138c7399c58c20bb68f9ea69b1367aa7e94d58862143d89418937890c31776 |
Hashes for supriya-24.3b2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 294367c39e31ec0ab67954dfc64fee0f06e17c127f0356edffcbdaaa6622022a |
|
MD5 | df5a49ab4e2c4d80398494f01930ebdb |
|
BLAKE2b-256 | 1408f7b98d639210a9a8efa30f0a6c6004394bd42b79c2e8635c97b44f783599 |
Hashes for supriya-24.3b2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d81dd08746a9b5a524bd1dde943c0f8b5159ce2854d1a7eb72cf0c9a0f7ae74b |
|
MD5 | 966a0035e721b9eb7bfa09fce4cd480c |
|
BLAKE2b-256 | a11f93e8dbe0b9ac9f486d55116bebcc26e154a230b52bd285d806035639e85f |
Hashes for supriya-24.3b2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad01477ab973b06636e4ae8e5399a34f5d4c03cef1395cddadad66af4a2395a0 |
|
MD5 | 374d62471063b92daebbebe3ef8102b1 |
|
BLAKE2b-256 | 97f81c63586343cf411960d19420de05446b3dd611e100dcd085e893b4bde9ab |
Hashes for supriya-24.3b2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0052750f911b336ab41fe80ac31757165f76d324ea406b7078cad342d27584a5 |
|
MD5 | 13c4a1aaf6f20587217ea4496167127f |
|
BLAKE2b-256 | fbd41029cddbaddb7d3d50553e8f92abe54210c5f322a7ca37274e6e3139709f |
Hashes for supriya-24.3b2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92de905bd5e87e8daa71347fa38c71d4c914e6bdddf2200dca54a7648a345dd9 |
|
MD5 | f3aa280d8bd5979c868140448c17d6f1 |
|
BLAKE2b-256 | a5611880c888dc97805ea4db89c1d584ba58cdcf2834783cba668eff2f024fdc |
Hashes for supriya-24.3b2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d160c342c83c54c2417344d37a176e7c8873bd9e9391d8428e7317c6c6e1a828 |
|
MD5 | b1fd5e75f31bcf8113d6c1417c7e771f |
|
BLAKE2b-256 | e6e10f3a28d4a12f225c0438a9c823b07a52b38eda13e38637f67428baab3a86 |
Hashes for supriya-24.3b2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d25e82e3954042515e23e16acf31119f4d683d1f52d02897977110a76debea5 |
|
MD5 | 50d2fbc5893e4aa2a7249fd6742a89d7 |
|
BLAKE2b-256 | 042821fc1906b3dcf1e6d1cd0343ebd0e1a76e61624ed78763dae6d0f2cdd18a |
Hashes for supriya-24.3b2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0928e33d593e3848129200f1c519a3cae3f75fdb0589f9aae0203e92085a8830 |
|
MD5 | a0bab70c68b027f44965f67b29b24fc3 |
|
BLAKE2b-256 | 57adc79d5368a832f8b0ab3e8c657217b45666d505e860b56610ebadc0a2b200 |
Hashes for supriya-24.3b2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13921b4ccd1498e9b39caf181383db98fe1c71f74f01fc291c3c71b90d2fdf5d |
|
MD5 | e4a1b351c891d759c7f111e9968840fd |
|
BLAKE2b-256 | 3f0531e03a22e9a97fef73a1290c46786f46cc4d5e10757b2f00dd2803756383 |
Hashes for supriya-24.3b2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dc5aeb0e7744e569fea036abcd83815677c5f7b37b4ab51f0cc4a1bd9afd6b5 |
|
MD5 | d2bf316da5500fb94f7ee42200e0e318 |
|
BLAKE2b-256 | f9470003fd816143ecedec9f59bf689e561a5d8f3045316f335e2e8b0b84de3e |
Hashes for supriya-24.3b2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d8bd979eb59c91775e6294eb3de2f0323020fbf313bbe872fbf8413f933e907 |
|
MD5 | 77d004609149b36bcbe80088df2b7467 |
|
BLAKE2b-256 | 1a3436909d65b267511f8b9a0279b01603699b55587a56a73b6f50a81c1f4e38 |
Hashes for supriya-24.3b2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac6cb27262be7f810f510e614749d356e0d8b27db56047ae2781cd701745b7d3 |
|
MD5 | 01466aed568029416582a9c4b210b659 |
|
BLAKE2b-256 | 79b277f4607ec72d3fee78eb220732f88ec55d6f9121fa6b3576e3a753236903 |
Hashes for supriya-24.3b2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af7d365732c579412a8f55d55669a095884ba81da051a4033cc8563d7e622f7a |
|
MD5 | c2472a23db46342f02a41ec0413a8f37 |
|
BLAKE2b-256 | 67582a569a9f34bf5e509af3a1c074f38c3b9d5290963bb01d59e2604bffb2a2 |
Hashes for supriya-24.3b2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91f50b8b042aec875bb1640d038e9058dc9944966d12b2a822b104606838ea40 |
|
MD5 | 7937ffe41fd632db7703c53ad82352d4 |
|
BLAKE2b-256 | c2ed549c0ff2e868091a4dc867f5125bbc727430bca4bd15b7c5f69fa47a1d9b |
Hashes for supriya-24.3b2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e6363bc95fc518f245fc969af61de10cac7df7406eba10369701c04f80c39a9 |
|
MD5 | eb5bcae0c0ccec40f4b050ac60b23e77 |
|
BLAKE2b-256 | 5242d8ecf429c0b07674401fc1d1cfa3e86e57bcb49f6e98ddd3707440fede1e |
Hashes for supriya-24.3b2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3667d33d5b12f586651d42baf2bd54647dd18569086263000f8e2ddc3fa5159 |
|
MD5 | 1d523fe0811cf78a1ed74ea13f83fdd0 |
|
BLAKE2b-256 | a9aeba8d66406fe4190fb34fdd0afa8dd3786eb33f6289590ebef368cb10defb |
Hashes for supriya-24.3b2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d33213d86a8212163734d308e9a0643aa63e6a5b7b10bc57ffff566bb562833 |
|
MD5 | 3095cf74c6d3d068bbfc6aa355862593 |
|
BLAKE2b-256 | b358c2a2b8894ab3b944e9eb6e75e1f04a3458dbeae2a8eaffeaf4db025449b9 |
Hashes for supriya-24.3b2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 573123bf0b571c551490524e2428c85084ed97e95dd8ea215942613fd0579f2f |
|
MD5 | e01bd9d99e90afbf5a6c43401d12b4e3 |
|
BLAKE2b-256 | 1952627d1aa29e01503afb6e8e987201ea02329bd5c43dc0de0fdbdf3b78de17 |
Hashes for supriya-24.3b2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b06754c15008b4248782b59bb38d0723f0e34b08b839d4ba56f7d681c8916261 |
|
MD5 | b6654cf24f3d27dbd3625aa57e4ce55e |
|
BLAKE2b-256 | 6f17ceb2e10836b91921af475199214f6a34c168c37cec811391e0d21dac625e |
Hashes for supriya-24.3b2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42d00f35d4a2a56da3b0c6e316c8d93a4bcc1dd8d642f145ef1f07bbc046e2d1 |
|
MD5 | 0d17c29a36b9c1e854bf8fd685ed9103 |
|
BLAKE2b-256 | 1f62a6ab9d4b7ad2c550af7b148b393ae8ab42966780f7bec16361573e44eee1 |
Hashes for supriya-24.3b2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4793b01a5f3c651a2e755e814f66f40a2f047e6e380fdda9ff4ed4ff425a6688 |
|
MD5 | 7c70ad8e9ba4ba44b829a601b2a1b9fb |
|
BLAKE2b-256 | bd1e74e1cdb129501df1e1872c37968184f07ada2da84d43fe0a96cb63edf292 |
Hashes for supriya-24.3b2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3130bc9fefe145b1e93ed226943bd58fd5f1cabbb1867e7aff4cf24016edb53b |
|
MD5 | 3254d9ff0a8445c820bbf62948022a5f |
|
BLAKE2b-256 | 41331a4f6a9c3b5a5bb15d44e33de93e8ea85a4f7807531469493abe2ef16a45 |
Hashes for supriya-24.3b2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b046c4ad02f805c9d1387391319ae41ffd707666797b0fe8ad790cd9b559abe5 |
|
MD5 | 8ecfc341bd0f0428c20d2b7c750fa1eb |
|
BLAKE2b-256 | c37706c67c4239a8a58cdd84f5ff2bb3bc7cd8aeb02a86b3e16fc7ea738ad96e |
Hashes for supriya-24.3b2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8de29b58070d115c9f9abeb29fb7e14cc2485fad1bb01e4e4cbb4a2cdb4bc153 |
|
MD5 | 3fa1597f47e37883ee9a09e48d87f10f |
|
BLAKE2b-256 | be9131c979e9f8668045b75bd1a98e6b1dc18c5c8e1d4fc2fcba07899891805b |
Hashes for supriya-24.3b2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53fcc6c77834a46fc0612b165ae3f2c927f18c93e1088389406bd41f58461144 |
|
MD5 | 23f21a78c79285b69107df4e6b67c996 |
|
BLAKE2b-256 | f5a98db72e3e36b5a10c2ccfbd36e1c1afd98b0fb771996b92e73ed1553a4309 |
Hashes for supriya-24.3b2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e8ec8d0043e28afe0da0c69a61c18645c3cee1c7925318754b1efb615cc552 |
|
MD5 | d127647a1a73acfe33393c0261468bf6 |
|
BLAKE2b-256 | 58e622bc8cc668fcc2bf0d211f8101d855d8b1c0454a6d8a24755100f7b76f98 |
Hashes for supriya-24.3b2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60fc756a75ea9d993d18d1aff819ef956464cc670e41a3ab4f7533b23b85b8fa |
|
MD5 | b20ef64905e2ae0f8152c93c2eaa0d0d |
|
BLAKE2b-256 | 02d9651a11bbd4a1215c4187259629d3ec64f67b9ffc0ab78e9b4be14d026c74 |
Hashes for supriya-24.3b2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c70a95f83b8d784ffa9f259efc5e7cc243e4910e3a57dd697ec7e485113a87d3 |
|
MD5 | d7a54a1c0d858e25c1c7a3ef94ce530f |
|
BLAKE2b-256 | 3261d87aa2885dd4afdf12d6e2a2849a9a5c16402442c7839512af1fcaad9b60 |
Hashes for supriya-24.3b2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff52e8844cd610f4317cac4a651eea6d70ab4e14d25eff0a55735db9f0535aae |
|
MD5 | 575948b804ed27dada5f51cf4990cdfa |
|
BLAKE2b-256 | f354a8d94c51d4979d943ef42575dc6443a7d8fe0a1ddcd91c2239f0cb7ef4ba |
Hashes for supriya-24.3b2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4346a6c6320b97aa254ffd9eba26e0e939563f715e90f2f50555e479421479b |
|
MD5 | 9ceed5387fe5297c113667e27258b0f0 |
|
BLAKE2b-256 | f6020e8daa1aaa9951e782715edaaed15cc70ee297517885f94760c6fb8624f1 |