josiah-wolf-oberholtzer / Supriya
Licence: mit
A Python API for SuperCollider
Stars: ✭ 167
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Supriya
Dx7 Supercollider
My accurate Yamaha DX-7 clone. Programmed in Supercollider.
Stars: ✭ 395 (+136.53%)
Mutual labels: audio, music, dsp, synthesizer, synthesis, supercollider
Gwion
🎵 strongly-timed musical programming language
Stars: ✭ 235 (+40.72%)
Mutual labels: audio, music, synthesis, composition
Sonic Pi
Code. Music. Live.
Stars: ✭ 8,736 (+5131.14%)
Mutual labels: audio, music, synthesizer, synthesis
Main-Supercollider-Files
my supercollider codes, version history is at the branches
Stars: ✭ 21 (-87.43%)
Mutual labels: dsp, synthesizer, supercollider, synthesis
Daisysp
A Powerful, Open Source DSP Library in C++
Stars: ✭ 291 (+74.25%)
Mutual labels: audio, music, dsp, synthesizer
Sporth
A small stack-based audio language.
Stars: ✭ 325 (+94.61%)
Mutual labels: audio, music, dsp, synthesis
Supercollider
An audio server, programming language, and IDE for sound synthesis and algorithmic composition.
Stars: ✭ 4,036 (+2316.77%)
Mutual labels: audio, music, synthesis, supercollider
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (-85.03%)
Mutual labels: audio, music, synthesizer
Shadowmusic
A temporal music synthesizer
Stars: ✭ 28 (-83.23%)
Mutual labels: music, synthesizer, synthesis
Voc
A physical model of the human vocal tract using literate programming, based on Pink Trombone.
Stars: ✭ 129 (-22.75%)
Mutual labels: music, dsp, synthesis
Soundpipe
A lightweight music DSP library.
Stars: ✭ 921 (+451.5%)
Mutual labels: music, dsp, synthesis
Essentia
C++ library for audio and music analysis, description and synthesis, including Python bindings
Stars: ✭ 1,985 (+1088.62%)
Mutual labels: audio, music, dsp
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (-12.57%)
Mutual labels: audio, synthesizer, supercollider
Music Synthesis With Python
Music Synthesis with Python talk, originally given at PyGotham 2017.
Stars: ✭ 48 (-71.26%)
Mutual labels: music, synthesis, supercollider
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+259.28%)
Mutual labels: audio, music, synthesizer
Hifiberry Os
Linux distribution optimized for audio playback
Stars: ✭ 487 (+191.62%)
Mutual labels: audio, music, dsp
Beep.js
Beep is a JavaScript toolkit for building browser-based synthesizers.
Stars: ✭ 1,294 (+674.85%)
Mutual labels: audio, music, synthesizer
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+653.29%)
Mutual labels: audio, music, synthesizer
supriya
Supriya
_ is a Python
_ interface to SuperCollider
_.
Supriya lets you:
- boot and communicate with
SuperCollider
_'sscsynth
synthesis server - construct and compile
SynthDef
unit generator graphs in native Python code - build and control graphs of synthesizers and synthesizer groups
- object-model
scysnth
OSC communications explicitly viaRequest
andResponse
classes - compile non-realtime synthesis scores via Supriya's
nonrealtime.Session
class
.. note:: This project is still under heavy development, is not yet stable, and is not yet intended for deployment in the field.
Send compliments or complaints to [email protected], or register an issue at https://github.com/josiah-wolf-oberholtzer/supriya/issues.
Supriya is compatible with Python 3.6+ only.
.. image:: graph.png :align: center
GitHub
_ |
PyPI
_ |
Documentation <http://supriya.mbrsi.org/>
_ |
Issue Tracker <https://github.com/josiah-wolf-oberholtzer/supriya/issues>
_ |
Mailing list <http://groups.google.com/group/supriya-dev>
_ |
Quickstart
- Get Supriya and SuperCollider
Get Supriya from `GitHub`_::
~$ git clone https://github.com/josiah-wolf-oberholtzer/supriya.git
~$ cd supriya
supriya$ pip install -e .
Get `SuperCollider`_ from http://supercollider.github.io/.
Run the tests to make sure everything's OK::
supriya$ pytest
Consult our installation instructions for detailed help on getting Supriya,
setting it up, and installing any additional dependencies like `Graphviz`_.
2. Make some noise
``````````````````
Start your Python interpreter and import Supriya::
>>> import supriya
Boot the SuperCollider server::
>>> server = supriya.Server.default()
>>> server.boot()
<Server: udp://127.0.0.1:57110, 8i8o>
Create and allocate a group::
>>> group = supriya.realtime.Group().allocate()
Make a synthesizer definition and send it to the server::
>>> builder = supriya.synthdefs.SynthDefBuilder(
... amplitude=1.0,
... frequency=440.0,
... gate=1.0,
... )
::
>>> with builder:
... source = supriya.ugens.SinOsc.ar(
... frequency=builder['frequency'],
... )
... envelope = supriya.ugens.EnvGen.kr(
... done_action=supriya.DoneAction.FREE_SYNTH,
... envelope=supriya.synthdefs.Envelope.asr(),
... gate=builder['gate'],
... )
... source = source * builder['amplitude']
... source = source * envelope
... out = supriya.ugens.Out.ar(
... bus=0,
... source=source,
... )
...
::
>>> synthdef = builder.build().allocate()
Synchronize with the server::
>>> server.sync()
<Server: udp://127.0.0.1:57110, 8i8o>
Create a synthesizer with the previously defined synthesizer definition::
>>> synth = supriya.Synth(synthdef)
>>> synth
<Synth: ???>
Allocate it on the server as a child of the previously created group::
>>> group.append(synth)
>>> synth
<Synth: 1001>
Query the server's node tree::
>>> response = server.query_remote_nodes(include_controls=True)
>>> print(response)
NODE TREE 0 group
1 group
1000 group
1001 f1c3ea5063065be20688f82b415c1108
amplitude: 0.0, frequency: 440.0
Release the synth::
>>> synth.release()
Quit the server::
>>> server.quit()
<Server: offline>
.. _GitHub: https://github.com/josiah-wolf-oberholtzer/supriya
.. _Graphviz: http://graphviz.org/
.. _Homebrew: http://brew.sh/
.. _PyPI: https://pypi.python.org/pypi
.. _Python: https://www.python.org/
.. _SuperCollider: http://supercollider.github.io/
.. _Supriya: https://github.com/josiah-wolf-oberholtzer/supriya
.. _libsndfile: http://www.mega-nerd.com/libsndfile/
.. _pip: https://pip.pypa.io/en/stable/
.. _virtualenv: https://readthedocs.org/projects/virtualenv/
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.org/en/latest/
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].