{ "info": { "author": "Erik Nyquist", "author_email": "eknyquist@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "Tones\n=====\n\nA pure-python module for generating simple tones as audio samples, which can\noptionally be written directly to a .wav audio file. Supports pitch-bending,\nvibrato, polyphony, several waveform types (sine, square, triangle,\nsawtooth), and several other waveform-shaping options.\n\nInstallation\n============\n\nInstall from the PyPi repository:\n\n::\n\n pip install tones\n\nExample\n=======\n\n.. code:: python\n\n from tones import SINE_WAVE, SAWTOOTH_WAVE\n from tones.mixer import Mixer\n\n # Create mixer, set sample rate and amplitude\n mixer = Mixer(44100, 0.5)\n\n # Create two monophonic tracks that will play simultaneously, and set\n # initial values for note attack, decay and vibrato frequency (these can\n # be changed again at any time, see documentation for tones.Mixer\n mixer.create_track(0, SAWTOOTH_WAVE, vibrato_frequency=7.0, vibrato_variance=30.0, attack=0.01, decay=0.1)\n mixer.create_track(1, SINE_WAVE, attack=0.01, decay=0.1)\n\n # Add a 1-second tone on track 0, slide pitch from c# to f#)\n mixer.add_note(0, note='c#', octave=5, duration=1.0, endnote='f#')\n\n # Add a 1-second tone on track 1, slide pitch from f# to g#)\n mixer.add_note(1, note='f#', octave=5, duration=1.0, endnote='g#')\n\n # Mix all tracks into a single list of samples and write to .wav file\n mixer.write_wav('tones.wav')\n\n # Mix all tracks into a single list of samples scaled from 0.0 to 1.0, and\n # return the sample list\n samples = mixer.mix()\n\nDocumentation\n=============\n\nFull API documention is here: ``_\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/eriknyquist/tones", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "tones", "package_url": "https://pypi.org/project/tones/", "platform": "", "project_url": "https://pypi.org/project/tones/", "project_urls": { "Homepage": "http://github.com/eriknyquist/tones" }, "release_url": "https://pypi.org/project/tones/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Generates simple polyphonic tones and melodies", "version": "1.0.0" }, "last_serial": 4499296, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b9482cbcf387a6836f40ce44b8adb6cd", "sha256": "d4eca13baf9c6e961a8d290647c2f4e351967e1a24be1cc58a203118a38d96bb" }, "downloads": -1, "filename": "tones-1.0.0-py2.7.egg", "has_sig": false, "md5_digest": "b9482cbcf387a6836f40ce44b8adb6cd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 16213, "upload_time": "2018-11-18T08:43:16", "url": "https://files.pythonhosted.org/packages/13/55/d30d1960da91b297facc9c706a4ed0be8a7a8b26fd0c778e93bfdbd4f6ac/tones-1.0.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "433026f46868281856adda35fc33b1fe", "sha256": "6f60a912939d07f3628db3c3b614765a717a3b7c3df0454bc9f1524b3460cdf7" }, "downloads": -1, "filename": "tones-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "433026f46868281856adda35fc33b1fe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9287, "upload_time": "2018-11-18T08:43:13", "url": "https://files.pythonhosted.org/packages/86/f7/d2c0fabfe80013e7471508a43989e36ba70f12abe09c2fc9f97247a2eac2/tones-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2eb217a130eed588efbd0af1ff6322d2", "sha256": "660a74df46d0e10b548b6f0c046eb47bd452d36552813e312149d324b13881fa" }, "downloads": -1, "filename": "tones-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2eb217a130eed588efbd0af1ff6322d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6727, "upload_time": "2018-11-18T08:43:17", "url": "https://files.pythonhosted.org/packages/40/a8/40e6d0af1b0a5241179865cf09677bf10c19188fa35e39d68ab707e24b9a/tones-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9482cbcf387a6836f40ce44b8adb6cd", "sha256": "d4eca13baf9c6e961a8d290647c2f4e351967e1a24be1cc58a203118a38d96bb" }, "downloads": -1, "filename": "tones-1.0.0-py2.7.egg", "has_sig": false, "md5_digest": "b9482cbcf387a6836f40ce44b8adb6cd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 16213, "upload_time": "2018-11-18T08:43:16", "url": "https://files.pythonhosted.org/packages/13/55/d30d1960da91b297facc9c706a4ed0be8a7a8b26fd0c778e93bfdbd4f6ac/tones-1.0.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "433026f46868281856adda35fc33b1fe", "sha256": "6f60a912939d07f3628db3c3b614765a717a3b7c3df0454bc9f1524b3460cdf7" }, "downloads": -1, "filename": "tones-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "433026f46868281856adda35fc33b1fe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9287, "upload_time": "2018-11-18T08:43:13", "url": "https://files.pythonhosted.org/packages/86/f7/d2c0fabfe80013e7471508a43989e36ba70f12abe09c2fc9f97247a2eac2/tones-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2eb217a130eed588efbd0af1ff6322d2", "sha256": "660a74df46d0e10b548b6f0c046eb47bd452d36552813e312149d324b13881fa" }, "downloads": -1, "filename": "tones-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2eb217a130eed588efbd0af1ff6322d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6727, "upload_time": "2018-11-18T08:43:17", "url": "https://files.pythonhosted.org/packages/40/a8/40e6d0af1b0a5241179865cf09677bf10c19188fa35e39d68ab707e24b9a/tones-1.0.0.tar.gz" } ] }