{ "info": { "author": "Olivier Jolly", "author_email": "olivier@pcedev.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Multimedia :: Sound/Audio", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "RnsUtils\n========\n\nRnsUtils is Renoise related library and companion utility.\nIt is meant for developers aiming to use generate renoise file or renoise users wanting to convert SoundFont 2 or SFZ to renoise instruments,\nreencode instruments to .flac or .ogg, manipulate tags and comments in instruments or organise a xrni library based on those tags.\n\nInstallation\n------------\n\nRnsUtils is installable from PyPI with a single pip command::\n\n pip install rnsutils\n\nAlternatively, RnsUtils can be run directly from sources after a git pull::\n\n git clone https://gitlab.com/zeograd/rnsutils.git\n cd rnsutils && python setup.py install\n\n\nsf2toxrni\n---------\n\n**sf2toxrni** is a command line utility which convert SoundFont 2 instruments into renoise instruments (.xrni).\nIt parses a SoundFont 2 file instrument list and generate one .xnri file for each instrument using as much information\nfrom the SoundFont 2 instrument properties (generators) as possible. All read properties will be injected in a template\nrenoise instrument.\n\n::\n\n usage: sf2toxrni [-h] [-d] [-e {none,flac,ogg}] [-f] [-q] [-u] [--no-unused]\n [-o OUTPUT_DIR] [-t TEMPLATE]\n sf2_filename [sf2_filename ...]\n\n GPL v3+ 2016-2017 Olivier Jolly\n\n positional arguments:\n sf2_filename input file in SoundFont2 format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -e {none,flac,ogg}, --encode {none,flac,ogg}\n encode samples into given format [default: flac]\n -f, --force force overwriting existing files [default: False]\n -q, --quiet quiet operation [default: False]\n -u, --unused show unused generators [default: True]\n --no-unused\n -o OUTPUT_DIR, --ouput-dir OUTPUT_DIR\n output directory [default: current directory]\n -t TEMPLATE template filename [default: empty-31.xrni]\n\n Convert sf2 file into renoise instrument\n\n\nUse the *-o* option to specify a destination directory and *--no-unused* if you don't want to see the list of generators\nwhich are present in the SoundFont 2 file but were not used in generating the .xnri.\n\n*-t* allows to change the template .xnri, one is provided by default and works with renoise 3.1 at least. If you want\ndifferent default settings or generate instruments for a different version, you can provide a template of your own\nand specify its filename. If the filename is not found on the filesystem, it will be looked up in the default\ndata patch for the python package.\nIf you want to provide your own template, it must follow the recommendations of the following section.\n\ntemplate\n........\n\nA template .xnri file will be used to have Soundfont 2 properties injected to produce a final, customized .xnri file.\nIt must contains at least one sample. The first sample will be used as template for all samples, others will be discarded.\nThe first sample must have an ADHSR modulation on volume and the filter set to a Low pass filter.\nSoundFont 2 reverb and chorus effects will be mapped respectively on macro 1 and macro 2, so you may want to map those macros\non input of DSP chains to control the dry/wet amount of those effects.\nYou may use macro 3 and up to your liking.\n\ncompliance and limitations\n..........................\n\nThe set of features found in a SoundFont 2 and .xnri doesn't fully overlap, hence this converter won't produce\na bit wise exact instrument.\nFirst, SoundFont 2 files contains presets, which are mapped to one or more instruments. Those presets might alter how\nthe instruments sound, but it's a bad practice and usually only map keys range to instruments. This converter works\nfrom SoundFont 2 instruments only.\n\n**sf2toxrni** supports :\n * envelope volume release\n * sample panning\n * sample looping\n * sample tuning (base note, fine and coarse tuning)\n * key mapping\n * velocity mapping\n * low pass filter cutoff\n * chorus amount\n * reverb amount\n\n**sf2toxrni** does not support :\n * vibrato\n * initial volume attenuation (always minus infinite in result, it seems like it'd be a pita to support otherwise)\n\nsfztoxrni\n---------\n\nSimilarly to the **sf2toxrni** converter, **sfztoxrni** convert SFZ files into renoise instruments (.xrni).\nRenoise supporting now natively SFZ files, this converter is only useful on SFZ instruments needing\nmore than one modulation set (different ADHSR settings depending on the velocity/key mapping) or\na more aggressive sample filename search (like for SFZ built under case insensitive filesystem and read in\ncase sensitive filesystem). As SFZ support in Renoise will progress, this converter will be deprecated.\n\n::\n\n usage: sfztoxrni [-h] [-d] [-e {none,flac,ogg}] [-f] [-q] [-o OUTPUT_DIR]\n [-t TEMPLATE] [-u] [--no-unused]\n sfz_filename [sfz_filename ...]\n\n GPL v3+ 2016-2017 Olivier Jolly\n\n positional arguments:\n sfz_filename input file in SFZ format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -e {none,flac,ogg}, --encode {none,flac,ogg}\n encode samples into given format [default: flac]\n -f, --force force overwriting existing files [default: False]\n -q, --quiet quiet operation [default: False]\n -o OUTPUT_DIR, --ouput-dir OUTPUT_DIR\n output directory [default: current directory]\n -t TEMPLATE template filename [default: empty-31.xrni]\n -u, --unused show unused generators [default: True]\n --no-unused\n\n Convert SFZ file into renoise instrument\n\n\nxrnireencode\n------------\n\n**Xrnireencode** is a command line utility to reencode samples in renoise instrument (.xrni).\nIt can convert to **flac** or **ogg** one or more instruments given on command line.\n\n::\n\n usage: xrnireencode [-h] [-d] [-e {flac,ogg}] [-q] [-o OUTPUT_DIR]\n xrni_filename [xrni_filename ...]\n\n GPL v3+ 2016 Olivier Jolly\n\n positional arguments:\n xrni_filename input file in XRNI format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -e {flac,ogg}, --encode {flac,ogg}\n encode samples into given format [default: flac]\n -q, --quiet quiet operation [default: False]\n -o OUTPUT_DIR, --ouput-dir OUTPUT_DIR\n output directory [default: current directory]\n\n Reencode samples in renoise instrument\n\nxrnicomment\n-----------\n\n**xrnicomment** is a command line utility to manipulate comments in renoise instruments (.xrni).\nIt can read, clear, replace and append content to the comment in one or more xrni files.\nIt is compatible with renoise 3.0+ instruments and intercompatible with \"instrument info\" tool\n( http://forum.renoise.com/index.php/topic/43434-new-tool-30-instrument-info/ ).\n\n::\n\n usage: xrnicomment [-h] [-d] [-a] [-e] [-m MESSAGE] [-r] [-v]\n xrni_filename [xrni_filename ...]\n\n GPL v3+ 2016 Olivier Jolly\n\n positional arguments:\n xrni_filename input file in XRNI format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -a, --append append to comment\n -e, --edit edit comment\n -m MESSAGE, --message MESSAGE\n edit message content [default reads from standard\n input]\n -r, --remove remove comment\n -v, --view view comment [default action]\n\n Display or change XRNI comments\n\nxrnitag\n-------\n\n**xrnitag** is a command line utility to manipulate tags in renoise instruments (.xrni).\nIt can read, clear, remove or add tag to the tag list in one or more xrni files.\nIf you want to edit a tag, you can remove it and then add the new one.\n**xrnitag** is compatible with renoise 3.0+ instruments and intercompatible with \"instrument info\" tool\n( http://forum.renoise.com/index.php/topic/43434-new-tool-30-instrument-info/ ).\n\n::\n\n usage: xrnitag [-h] [-d] [-a TAGS_TO_ADD] [-c] [-r TAGS_TO_REMOVE] [-v]\n xrni_filename [xrni_filename ...]\n\n GPL v3+ 2016 Olivier Jolly\n\n positional arguments:\n xrni_filename input file in XRNI format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -a TAGS_TO_ADD, --add TAGS_TO_ADD\n add a tag\n -c, --clear clear all tags\n -r TAGS_TO_REMOVE, --remove TAGS_TO_REMOVE\n remove a tag\n -v, --view view all tags [default action]\n\n Display or change XRNI tags\n\nxrniorganise\n------------\n\n**xrniorganise** is a command line utility to organise your renoise instruments (.xrni) by tags.\nIt creates a view of your instrument library using instrument tags, until renoise features a native tag\npowered instrument library search.\nUsing symbolic links to create instruments views, it is only compatible with unix OSes (patches for\nsupporting other OSes are welcome).\n\nInstruments which aren't tagged at all will be linked into the \"untagged\" directory.\n\nNote that you can incrementally populate your library view, as **xrniorganise** will not remove existing\ninstruments. It also means that if you switch a tag from *old* to *new* and run **xrniorganise** again,\nyour instrument(s) will be linked both in the *old* and *new* directories. When you rename or remove tags,\nyou can use the *-c* command line argument which makes so that your destination directory is cleaned before\nhaving any link created.\n\nDirectory cleaning attempts to be as conservative as possible (it's a recursive removal after all, it could\ndamage stuff if broken) by only removing symbolic links and empty directories. It implies that any regular file\nyou'll place inside the destination directory will abort cleaning.\n\nHere is an example session:\n\n.. code:: shell\n\n # initially, we have some untagged, unsorted xrni files\n\n $ find unsorted_xrni/ sorted_xrni/\n\n unsorted_xrni/\n unsorted_xrni/0_Arco Strings.xrni\n unsorted_xrni/6_Zip.xrni\n unsorted_xrni/0_Flute.xrni\n unsorted_xrni/8_Oboe.xrni\n\n sorted_xrni/\n\n # we tag them with xrnitag CLI (or \"instrument info\" tool)\n\n $ xrnitag -a orchestral unsorted_xrni/0_Arco\\ Strings.xrni unsorted_xrni/0_Flute.xrni unsorted_xrni/8_Oboe.xrni\n $ xrnitag -a sfx unsorted_xrni/6_Zip.xrni\n $ xrnitag -a woodwind unsorted_xrni/0_Flute.xrni unsorted_xrni/8_Oboe.xrni\n $ xrnitag -a loop unsorted_xrni/6_Zip.xrni unsorted_xrni/8_Oboe.xrni unsorted_xrni/0_Arco\\ Strings.xrni\n\n # them, we create a library view based on those tags\n\n $ xrniorganise -o sorted_xrni/ unsorted_xrni/*\n\n # now, you can see links to actual instruments based on their tags\n\n $ find unsorted_xrni/ sorted_xrni/\n\n unsorted_xrni/\n unsorted_xrni/0_Arco Strings.xrni\n unsorted_xrni/6_Zip.xrni\n unsorted_xrni/0_Flute.xrni\n unsorted_xrni/8_Oboe.xrni\n\n sorted_xrni/\n sorted_xrni/woodwind\n sorted_xrni/woodwind/0_Flute.xrni\n sorted_xrni/woodwind/8_Oboe.xrni\n sorted_xrni/loop\n sorted_xrni/loop/0_Arco Strings.xrni\n sorted_xrni/loop/6_Zip.xrni\n sorted_xrni/loop/8_Oboe.xrni\n sorted_xrni/sfx\n sorted_xrni/sfx/6_Zip.xrni\n sorted_xrni/orchestral\n sorted_xrni/orchestral/0_Arco Strings.xrni\n sorted_xrni/orchestral/0_Flute.xrni\n sorted_xrni/orchestral/8_Oboe.xrni\n\nHere is the summary of all options::\n\n usage: xrniorganise [-h] [-d] [-c] [-n] [-r] -o OUTPUT_DIR\n xrni_filename [xrni_filename ...]\n\n GPL v3+ 2016 Olivier Jolly\n\n positional arguments:\n xrni_filename input file in XRNI format\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug debug parsing [default: False]\n -c, --clean clean destination directory before operations\n -n, --dry-run don't actually perform filesystem operations [default:\n False]\n -r, --recursive recursively parse directories [default: False]\n -o OUTPUT_DIR, --ouput-dir OUTPUT_DIR\n output directory\n\n Organise XRNI according to their tags\n\n\n\n\nLibrary use\n-----------\n\nCurrent, only renoise instrument API is available.\nA renoise instrument is represented by the **RenoiseInstrument** class and can be loaded that way::\n\n from rnsutils.instrument import RenoiseInstrument\n # load an instrument from an existing xnri\n inst = RenoiseInstrument('existing.xrni')\n # now, inst.root is an objectified xml tree you can access and alter\n # inst.sample_data is a mutable list of audio files content\n inst.save('new.xrni')", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/zeograd/rnsutils", "keywords": "renoise", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "rnsutils", "package_url": "https://pypi.org/project/rnsutils/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rnsutils/", "project_urls": { "Homepage": "https://gitlab.com/zeograd/rnsutils" }, "release_url": "https://pypi.org/project/rnsutils/0.9.0/", "requires_dist": [ "lxml", "sf2utils (>=0.9.0)", "check-manifest; extra == 'dev'", "pylint; extra == 'dev'", "nose2; extra == 'test'" ], "requires_python": "", "summary": "Renoise library and utilities", "version": "0.9.0" }, "last_serial": 2627677, "releases": { "0.6.1": [ { "comment_text": "", "digests": { "md5": "1948bd643793b76fce3f21b0d5fa9b8f", "sha256": "6336e69433b2d94b663c0d0588feef4ac9f62778a5d65a80ba6690c56bfda6da" }, "downloads": -1, "filename": "rnsutils-0.6.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1948bd643793b76fce3f21b0d5fa9b8f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 64834, "upload_time": "2016-01-28T09:12:36", "url": "https://files.pythonhosted.org/packages/32/e9/0e5da6d480278e8c4bc987890249edb1186532968cdca646f84ed8dea7ec/rnsutils-0.6.1-py2.py3-none-any.whl" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "b061a06ee4fc9453325ec245d3cfc1cf", "sha256": "a1ac88fdbd43e41382f358da467dc1c336b43983221488ca307a7117e8425ad3" }, "downloads": -1, "filename": "rnsutils-0.7.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b061a06ee4fc9453325ec245d3cfc1cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 72604, "upload_time": "2016-01-31T23:05:36", "url": "https://files.pythonhosted.org/packages/47/dc/7a2bf7d3fd0b7846dc4b6bf1c256a173c69a95a843b8e5f8ebb1c4e18cac/rnsutils-0.7.0-py2.py3-none-any.whl" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "95b4389b21300421833e1569cdf50ace", "sha256": "6a3a8946bc0bc3667760dddf3245eec37276bae3d69c5cb74f28a7d6d3bc3251" }, "downloads": -1, "filename": "rnsutils-0.8.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "95b4389b21300421833e1569cdf50ace", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 81286, "upload_time": "2016-02-02T15:20:35", "url": "https://files.pythonhosted.org/packages/12/d9/599c0cca90f5008a0dd2196178e0c431e2ed74c44bd98daea3c56647c171/rnsutils-0.8.0-py2.py3-none-any.whl" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "bac6c1b5da4edceb7d09cf8700350896", "sha256": "ba74dd3231cc620071138c26f7e674f1f2ed664cfd9fa1995943b40408211a43" }, "downloads": -1, "filename": "rnsutils-0.9.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "bac6c1b5da4edceb7d09cf8700350896", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 82860, "upload_time": "2017-02-08T10:11:58", "url": "https://files.pythonhosted.org/packages/98/89/81898dacfea755cb9a8e68659499b450b7a5a7b88a0f0ce4c4dca15f73d6/rnsutils-0.9.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bac6c1b5da4edceb7d09cf8700350896", "sha256": "ba74dd3231cc620071138c26f7e674f1f2ed664cfd9fa1995943b40408211a43" }, "downloads": -1, "filename": "rnsutils-0.9.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "bac6c1b5da4edceb7d09cf8700350896", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 82860, "upload_time": "2017-02-08T10:11:58", "url": "https://files.pythonhosted.org/packages/98/89/81898dacfea755cb9a8e68659499b450b7a5a7b88a0f0ce4c4dca15f73d6/rnsutils-0.9.0-py2.py3-none-any.whl" } ] }