{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Audio Signal Processing in Python\n", "\n", "As a quick (and hopefully painless) introduction to the whole topic, have a look at:\n", "\n", "* [Generating Simple Audio Signals](simple-signals.ipynb)\n", "\n", "If you want to know about the basics of Python and nothing else (no numeric Python, no plotting, no signal processing, just the very basics), that's for you:\n", "\n", "* [Introduction to Python](intro-python.ipynb)\n", "\n", "More topics:\n", "\n", "* [Plotting with Python](plotting/index.ipynb)\n", "\n", "* [Reading and Writing Audio Files](audio-files/index.ipynb)\n", "\n", "* [List Comprehensions, Generators, Generator Expressions](misc/comprehensions-and-generators.ipynb)\n", "\n", "*Warning*: The following topics are very much work in progress!\n", "\n", "* [Introduction to Jupyter/IPython notebooks](intro-jupyter.ipynb)\n", "\n", "* [Introduction to NumPy](intro-numpy.ipynb)\n", "\n", "* [Testing Python Code](testing/index.ipynb)\n", "\n", "TODO: more topics ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## External Links\n", "\n", "There are quite a few blog posts and other resources available, here are a few\n", "links, use your favorite search engine to find more." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Audio Signal Processing\n", "\n", "http://bastibe.de/2012-11-02-real-time-signal-processing-in-python.html\n", "\n", "http://www.swharden.com/blog/2013-05-09-realtime-fft-audio-visualization-with-python/\n", "\n", "http://www.swharden.com/blog/2013-05-08-realtime-data-plotting-in-python/\n", "\n", "http://www.swharden.com/blog/2010-03-05-realtime-fft-graph-of-audio-wav-file-or-microphone-input-with-python-scipy-and-wckgraph/\n", "\n", "http://samcarcagno.altervista.org/blog/basic-sound-processing-python/\n", "\n", "http://blog.chrisarndt.de/article/499 (de)\n", "\n", "Think DSP: Digital Signal Processing in Python: http://greenteapress.com/thinkdsp/\n", "\n", "https://github.com/kylemcdonald/AudioNotebooks\n", "\n", "https://zach.se/generate-audio-with-python/ \n", "https://github.com/zacharydenton/wavebender\n", "\n", "https://github.com/hecanjog/pippi\n", "http://pippi.readthedocs.io/en/latest/\n", "\n", "https://project-awesome.org/faroit/awesome-python-scientific-audio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Signal Processing in General\n", "\n", "http://python-for-signal-processing.blogspot.de/\n", "\n", "https://sites.google.com/site/sigsys15/\n", "\n", "A Journey in Signal processing with IPython: https://github.com/jfbercher/LecturesSignalProcessing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Systems and Control Theory\n", "\n", "https://github.com/python-control/python-control\n", "\n", "http://harold.readthedocs.io/, https://github.com/ilayn/harold\n", "\n", "https://github.com/alchemyst/Skogestad-Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Kalman Filters\n", "\n", "A. Kiruluta, M. Eizenman und S. Pasupathy. „Predictive\n", "head movement tracking using a Kalman filter”, IEEE\n", "Transactions on Systems, Man and Cybernetics,Vol. 27,\n", "No. 2, 1997.\n", "\n", "J. J. LaViola, “Double exponential smoothing:\n", "An alternative to Kalman filter-based predictive\n", "tracking”, Workshop on Virtual environments\n", "(EGVE '03), Zürich, 2003.\n", "\n", "https://ntrs.nasa.gov/citations/20040037784\n", "\n", "https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\n", "\n", "https://praveshkoirala.com/2023/06/13/a-non-mathematical-introduction-to-kalman-filters-for-programmers/,\n", "https://news.ycombinator.com/item?id=36971975\n", "\n", "https://www.kalmanfilter.net/,\n", "https://news.ycombinator.com/item?id=37879715\n", "\n", "https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/,\n", "https://news.ycombinator.com/item?id=29473271\n", "\n", "https://jbconsulting.substack.com/p/is-the-kalman-filter-just-a-low-pass\n", "https://news.ycombinator.com/item?id=32271351" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other Scientific Topics and Scientific Python in General\n", "\n", "http://scipy-lectures.github.io/\n", "\n", "https://github.com/jrjohansson/scientific-python-lectures\n", "\n", "http://pig-in-the-python.blogspot.de/\n", "\n", "http://www.southampton.ac.uk/~feeg1001/index.html\n", "\n", "Computational Methods for Psychology and Neuroscience: http://memory.osu.edu/classes/python/index.html\n", "\n", "https://github.com/IanHawke/maths-with-python\n", "\n", "http://www.southampton.ac.uk/~fangohr/training/python/index.html\n", "\n", "PHY 546: Python for Scientific Computing: http://bender.astro.sunysb.edu/classes/python-science/\n", "\n", "https://www.dataquest.io/blog/numpy-tutorial-python/\n", "\n", "http://blancosilva.github.io/post/2014/10/28/Computational-Geometry-in-Python.html\n", "\n", "http://matthew-brett.github.io/teaching/\n", "\n", "http://jakevdp.github.io/blog/2017/03/03/reproducible-data-analysis-in-jupyter/\n", "\n", "Python Data Science Handbook: full text in Jupyter Notebooks \n", "https://github.com/jakevdp/PythonDataScienceHandbook\n", "\n", "Machine Learning for Artists:\n", "https://ml4a.github.io/index/,\n", "https://github.com/ml4a/ml4a-guides\n", "\n", "Notes on Artificial Intelligence: https://frnsys.com/ai_notes/\n", "\n", "IPython Cookbook, Second Edition (2018): http://ipython-books.github.io/\n", "\n", "Learning Python for Social Scientists: https://nealcaren.github.io/python-tutorials/\n", "\n", "https://calculus-notes.readthedocs.io/\n", "\n", "Ten Simple Rules for Reproducible Research in Jupyter Notebooks: \n", "https://arxiv.org/abs/1810.08055 \n", "https://github.com/jupyter-guide/ten-rules-jupyter\n", "\n", "Guide for Reproducible Research and Data Science in Jupyter Notebooks: \n", "https://github.com/jupyter-guide/jupyter-guide" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Python in General\n", "\n", "http://cscircles.cemc.uwaterloo.ca/\n", "\n", "http://docs.python.org/3/tutorial/\n", "\n", "http://docs.python-guide.org/\n", "\n", "http://learnpythonthehardway.org/book/\n", "\n", "http://getpython3.com/diveintopython3/index.html\n", "\n", "http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html\n", "\n", "http://lignos.org/py_antipatterns/\n", "\n", "http://www.digilentinc.com/Classroom/IntroProgramming1/\n", "\n", "https://github.com/JonasSC/PythonistManifesto\n", "\n", "https://github.com/rasbt/python_reference\n", "\n", "http://www.greenteapress.com/thinkpython/\n", "\n", "Programming with Python (MATH20622): http://www.maths.manchester.ac.uk/~vsego/teaching.php\n", "\n", "https://github.com/justmarkham/python-reference\n", "\n", "pytudes: Python programs for perfecting programming skills \n", "https://github.com/norvig/pytudes\n", "\n", "https://rsokl.github.io/Learning_Python/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Python Trivia\n", "\n", "http://www.b-list.org/weblog/2015/oct/13/wats-doc/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Collaboration with Other Software\n", "\n", "https://github.com/arokem/python-matlab-bridge\n", "\n", "https://github.com/ewiger/mlab\n", "\n", "https://github.com/bastibe/transplant" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comparison with Other Software\n", "\n", "http://wiki.scipy.org/NumPy_for_Matlab_Users\n", "\n", "http://bastibe.de/2013-01-20-a-python-primer-for-matlab-users.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Non-Python Stuff\n", "\n", "https://github.com/IoSR-Surrey/MatlabToolbox" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", " \n", " \"CC0\"\n", " \n", "
\n", " To the extent possible under law,\n", " the person who associated CC0\n", " with this work has waived all copyright and related or neighboring\n", " rights to this work.\n", "

" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }