{ "info": { "author": "Yihui Xiong", "author_email": "yihui.xiong@hotmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "License :: OSI Approved :: BSD License", "Operating System :: POSIX :: Linux", "Programming Language :: C++", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "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" ], "description": "speexdsp for python\n===================\n\n[![Build Status](https://travis-ci.org/xiongyihui/speexdsp-python.svg?branch=master)](https://travis-ci.org/xiongyihui/speexdsp-python)\n\n## Requirements\n+ swig\n+ compile toolchain\n+ python\n+ libspeexdsp-dev\n\n## Build\nThere are two ways to build the package.\n\n1. using setup.py\n\n ```\n sudo apt install libspeexdsp-dev\n git clone https://github.com/xiongyihui/speexdsp-python.git\n cd speexdsp-python\n python setup.py install\n ```\n\n2. using Makefile\n\n ```\n git clone https://github.com/xiongyihui/speexdsp-python.git\n cd speexdsp-python/src\n make\n ```\n\n## Get started\n```python\n\"\"\"Acoustic Echo Cancellation for wav files.\"\"\"\n\nimport wave\nimport sys\nfrom speexdsp import EchoCanceller\n\n\nif len(sys.argv) < 4:\n print('Usage: {} near.wav far.wav out.wav'.format(sys.argv[0]))\n sys.exit(1)\n\n\nframe_size = 256\n\nnear = wave.open(sys.argv[1], 'rb')\nfar = wave.open(sys.argv[2], 'rb')\n\nif near.getnchannels() > 1 or far.getnchannels() > 1:\n print('Only support mono channel')\n sys.exit(2)\n\nout = wave.open(sys.argv[3], 'wb')\nout.setnchannels(near.getnchannels())\nout.setsampwidth(near.getsampwidth())\nout.setframerate(near.getframerate())\n\n\nprint('near - rate: {}, channels: {}, length: {}'.format(\n near.getframerate(),\n near.getnchannels(),\n near.getnframes() / near.getframerate()))\nprint('far - rate: {}, channels: {}'.format(far.getframerate(), far.getnchannels()))\n\n\n\necho_canceller = EchoCanceller.create(frame_size, 2048, near.getframerate())\n\nin_data_len = frame_size\nin_data_bytes = frame_size * 2\nout_data_len = frame_size\nout_data_bytes = frame_size * 2\n\nwhile True:\n in_data = near.readframes(in_data_len)\n out_data = far.readframes(out_data_len)\n if len(in_data) != in_data_bytes or len(out_data) != out_data_bytes:\n break\n\n in_data = echo_canceller.process(in_data, out_data)\n\n out.writeframes(in_data)\n\nnear.close()\nfar.close()\nout.close()\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.python.org/pypi/speexdsp", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xiongyihui/speexdsp-python", "keywords": "speexdsp,acoustic echo cancellation", "license": "BSD", "maintainer": "Yihui Xiong", "maintainer_email": "yihui.xiong@hotmail.com", "name": "speexdsp", "package_url": "https://pypi.org/project/speexdsp/", "platform": "Linux", "project_url": "https://pypi.org/project/speexdsp/", "project_urls": { "Download": "https://pypi.python.org/pypi/speexdsp", "Homepage": "https://github.com/xiongyihui/speexdsp-python" }, "release_url": "https://pypi.org/project/speexdsp/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Python bindings of speexdsp library", "version": "0.1.1" }, "last_serial": 4072476, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d72a936df60aecb8a5b3219702b9f06d", "sha256": "d0ccd8b77f50ffc646ffb4697d7814bcc3e78c97f31a535c3505228289bb3a68" }, "downloads": -1, "filename": "speexdsp-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d72a936df60aecb8a5b3219702b9f06d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5027, "upload_time": "2017-04-21T10:50:11", "url": "https://files.pythonhosted.org/packages/3a/51/85e1d5d871a072bb948f40dc40fe67d6274ec4496f4f661be7330590c99b/speexdsp-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "ff893b080cb5e9a01e2da33911c83914", "sha256": "46201cd091e3185bd344cb7d3fabab427c744397524f162e9667a90382030570" }, "downloads": -1, "filename": "speexdsp-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ff893b080cb5e9a01e2da33911c83914", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3162, "upload_time": "2018-07-03T06:51:01", "url": "https://files.pythonhosted.org/packages/ef/5d/57b0e01950e318e0423f08d3ba732f2987ae21a52b7a6bfc1a82a7423c30/speexdsp-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1563ed4a4fd836fbfd6856c5f60dc6c3", "sha256": "c0d0851ea15de30ed2fd314d403bff4963cba99b840252e22e35b980b664bc0e" }, "downloads": -1, "filename": "speexdsp-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1563ed4a4fd836fbfd6856c5f60dc6c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4424, "upload_time": "2018-07-17T05:57:17", "url": "https://files.pythonhosted.org/packages/71/e7/da5a9559bfbdc6cbd0f3f4510477722af3509a2b418072ba627eb1b66999/speexdsp-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1563ed4a4fd836fbfd6856c5f60dc6c3", "sha256": "c0d0851ea15de30ed2fd314d403bff4963cba99b840252e22e35b980b664bc0e" }, "downloads": -1, "filename": "speexdsp-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1563ed4a4fd836fbfd6856c5f60dc6c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4424, "upload_time": "2018-07-17T05:57:17", "url": "https://files.pythonhosted.org/packages/71/e7/da5a9559bfbdc6cbd0f3f4510477722af3509a2b418072ba627eb1b66999/speexdsp-0.1.1.tar.gz" } ] }