{ "info": { "author": "Daniel Povey", "author_email": "dpovey@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "# filtering\n\nUtilities for resampling and filtering audio data\n\nThis repository exports a Python package `lilfilter` containing certain\nutilities for filtering and resampling audio data.\n\n\nOne quite-useful thing is class Resampler:\n```\npython3\n>>> import lilfilter\n>>> # ... let a be a Torch tensor of size (num_channels, num_samples)\n>>> # that we want to downsample from 42.1kHz to 16kHz. Note,\n>>> # the sampling rates must be integers; only their ratio\n>>> # matters.\n>>> r = lilfilter.Resampler(42100, 16000, dtype=torch.float32)\n>>> b = r.resample(a)\n```\n\nAnother thing that's useful is class Multistreamer, which can turn a\nsignal into multiple parallel signals at a lower sampling rate, where\npairs of those signals represent the (real,complex) part of one\ncomplex frequency band of the input.\n```\n>>> import lilfilter\n>>> num_freq_bands = 8\n>>> m = lilfilter.Multistreamer(num_freq_bands)\n>>>\n>>> # ... let a be a Torch tensor of size (num_channels, num_samples)\n>>> # that we want to `demultiplex`.\n>>>\n>>> b = m.split(a)\n>>> # now b is of size (num_channels, 2, num_freq_bands, num_samples/num_freq_bands)\n>>> # (note: the dim of the last axis may be slightly different from that number).\n>>> # You can in principle manipulate b somehow, e.g. do some kind of machine\n>>> # learning with it, and then reconstruct to the original format:\n>>>\n>>> c = m.merge(b)\n>>> # now c is of size (num_channels, 8*(num_samples/8)) and will be extremely\n>>> # close to a.\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/danpovey/filtering", "keywords": "resampling,audio", "license": "", "maintainer": "", "maintainer_email": "", "name": "lilfilter", "package_url": "https://pypi.org/project/lilfilter/", "platform": "", "project_url": "https://pypi.org/project/lilfilter/", "project_urls": { "Homepage": "https://github.com/danpovey/filtering" }, "release_url": "https://pypi.org/project/lilfilter/0.0.1/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Utilities for filtering and resampling signals", "version": "0.0.1", "yanked": false, "yanked_reason": null }, "last_serial": 6035076, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "2dd2d9e0b7a08fde030e7a63fb53697c", "sha256": "16b68bf18abe6e28df8c40a77e579c3514a963eb39a6834ed11ea6eb8d647f1c" }, "downloads": -1, "filename": "lilfilter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2dd2d9e0b7a08fde030e7a63fb53697c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 69216, "upload_time": "2019-10-26T20:25:28", "upload_time_iso_8601": "2019-10-26T20:25:28.146992Z", "url": "https://files.pythonhosted.org/packages/6d/67/aeb79c636d5bc349e3b935aa4a498e9166ebd224529d68924c5cf186bef3/lilfilter-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2dd2d9e0b7a08fde030e7a63fb53697c", "sha256": "16b68bf18abe6e28df8c40a77e579c3514a963eb39a6834ed11ea6eb8d647f1c" }, "downloads": -1, "filename": "lilfilter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2dd2d9e0b7a08fde030e7a63fb53697c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 69216, "upload_time": "2019-10-26T20:25:28", "upload_time_iso_8601": "2019-10-26T20:25:28.146992Z", "url": "https://files.pythonhosted.org/packages/6d/67/aeb79c636d5bc349e3b935aa4a498e9166ebd224529d68924c5cf186bef3/lilfilter-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }