{ "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": [] }