{
"info": {
"author": "Josiah Wolf Oberholtzer",
"author_email": "josiah.oberholtzer@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: MacOS",
"Operating System :: POSIX",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Topic :: Artistic Software",
"Topic :: Multimedia :: Sound/Audio :: Sound Synthesis"
],
"description": "supriya 0.1\n===========\n\n`Supriya`_ is a `Python`_ interface to `SuperCollider`_.\n\nSupriya lets you:\n\n- boot and communicate with `SuperCollider`_'s ``scsynth`` synthesis server\n- construct and compile ``SynthDef`` unit generator graphs in native Python code\n- build and control graphs of synthesizers and synthesizer groups\n- object-model ``scysnth`` OSC communications explicitly via ``Request`` and\n ``Response`` classes\n- compile non-realtime synthesis scores via Supriya's\n ``nonrealtimetools.Session`` class\n\n.. note:: This project is still under **heavy** development, is **not** yet\n stable, and is **not** yet intended for deployment in the field.\n\nSend compliments or complaints to josiah.oberholtzer@gmail.com, or register\nan issue at https://github.com/josiah-wolf-oberholtzer/supriya/issues.\n\nSupriya is compatible with Python 3.3+ only.\n\n.. image:: graph.png\n :align: center\n\n\n`GitHub`_ |\n`PyPI`_ |\n`Documentation `_ |\n`Issue Tracker `_ |\n`Mailing list `_ |\n\n\nQuickstart\n----------\n\n1. Get Supriya and SuperCollider\n````````````````````````````````\n\nGet Supriya from `GitHub`_::\n\n ~$ git clone https://github.com/josiah-wolf-oberholtzer/supriya.git\n ~$ cd supriya\n supriya$ sudo pip install -e .\n\nGet `SuperCollider`_ from http://supercollider.github.io/.\n\nRun the tests to make sure everything's OK::\n\n supriya$ tox \n\nConsult our installation instructions for detailed help on getting Abjad,\nsetting it up, and installing any additional dependencies like `Graphviz`_.\n\n\n2. Make some noise\n``````````````````\n\nStart your Python interpreter and import Supriya::\n\n >>> from supriya import *\n\nBoot the SuperCollider server::\n\n >>> server = servertools.Server()\n >>> server.boot()\n \n\nCreate and allocate a group::\n\n >>> group = servertools.Group().allocate()\n\nMake a synthesizer definition and send it to the server::\n\n >>> builder = synthdeftools.SynthDefBuilder(\n ... amplitude=1.0,\n ... frequency=440.0,\n ... gate=1.0,\n ... )\n\n::\n\n >>> with builder:\n ... source = ugentools.SinOsc.ar(\n ... frequency=builder['frequency'],\n ... )\n ... envelope = ugentools.EnvGen.kr(\n ... done_action=synthdeftools.DoneAction.FREE_SYNTH,\n ... envelope=synthdeftools.Envelope.asr(),\n ... gate=builder['gate'],\n ... )\n ... source = source * builder['amplitude']\n ... source = source * envelope\n ... out = ugentools.Out.ar(\n ... bus=(0, 1),\n ... source=source,\n ... )\n ...\n\n::\n\n >>> synthdef = builder.build().allocate()\n\nSynchronize with the server::\n\n >>> server.sync()\n \n\nCreate a synthesizer with the previously defined synthesizer definition::\n\n >>> synth = servertools.Synth(synthdef)\n >>> synth\n \n\nAllocate it on the server as a child of the previously created group::\n\n >>> group.append(synth)\n >>> synth\n \n\nQuery the server's node tree::\n\n >>> response = server.query_remote_nodes(include_controls=True)\n >>> print(response)\n NODE TREE 0 group\n 1 group\n 1000 group\n 1001 f1c3ea5063065be20688f82b415c1108\n amplitude: 0.0, frequency: 440.0\n\nBind a MIDI controller to the synth's controls::\n\n >>> korg = miditools.NanoKontrol2()\n >>> korg.open_port(0)\n >>> source = korg.fader_1\n >>> target = synth.controls['frequency']\n >>> bind(source, target, range_=Range(110, 880), exponent=2.0)\n Binding()\n\nRelease the synth::\n\n >>> synth.release()\n\nQuit the server::\n\n >>> server.quit()\n \n\n\n.. _GitHub: https://github.com/Abjad/abjad\n.. _Graphviz: http://graphviz.org/\n.. _Homebrew: http://brew.sh/\n.. _PyPI: https://pypi.python.org/pypi\n.. _Python: https://www.python.org/\n.. _SuperCollider: http://supercollider.github.io/\n.. _Supriya: https://github.com/josiah-wolf-oberholtzer/supriya\n.. _libsndfile: http://www.mega-nerd.com/libsndfile/\n.. _pip: https://pip.pypa.io/en/stable/\n.. _virtualenv: https://readthedocs.org/projects/virtualenv/\n.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.org/en/latest/\n.. _wavefile: https://pypi.python.org/pypi/wavefile/",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/josiah-wolf-oberholtzer/supriya",
"keywords": "audio,dsp,music composition,scsynth,supercollider,synthesis",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "supriya",
"package_url": "https://pypi.org/project/supriya/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/supriya/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/josiah-wolf-oberholtzer/supriya"
},
"release_url": "https://pypi.org/project/supriya/0.1/",
"requires_dist": null,
"requires_python": null,
"summary": "A Python API for SuperCollider",
"version": "0.1"
},
"last_serial": 2404847,
"releases": {
"0.1": []
},
"urls": []
}