Category Archives: Python

Everything connected to the Python language

Announcement: Audio TK 2.0.0

ATK is updated to 2.0.0 with a major refactoring to ensure signed/unsigned consistency, new Adaptive module and EQ design. Complex-valued filters are also now available to allow simultaneous dual channel processes and advanced filters like complex LMS filters.
Continue reading Announcement: Audio TK 2.0.0

Building Boost.Python with a custom Python3

I’ve started working on porting some Python libraries to Python3, but I required using an old Visual Studio (2012) for which there is no Python3 version. In the end, I tried following this tutorial. The issue with the tutorial is that you are downloading the externals by hand. It is actually simpler to call get_externals.bat from the PCBuild folder.

Be aware that the solution is a little bit flawed. pylauncher is built in win32 mode in Release instead of x64. This has an impact on deployment.

Once this is done, I had to deploy the build to a proper location so that it is self contained. I inspired myself heavily from another tutorial by the same author, only adding 64 bits support in this gist.

Once this was done, time to build Boost.Python! To start, just compile bjam the usual way, don’t add Python options on the command line, this will utterly fail in Boost.Build. Then add in user-config.jam the following lines (with the proper folders):

using python : 3.4 : D:/Tools/Python-3.4.5/_INSTALL/python.exe : D:/Tools/Python-3.4.5/_INSTALL/include : D:/Tools/Python-3.4.5/_INSTALL/libs ;

This should build the debug and release mode with this line:

.\b2 --with-python --layout=versioned toolset=msvc-11.0 link=shared stage address-model=64
.\b2 --with-python --layout=versioned toolset=msvc-11.0 link=shared stage address-model=64 python-debugging=on
Buy Me a Coffee!
Other Amount:
Your Email Address:

Announcement: Audio TK 1.1.0

This is mainly a bug fix release. A nasty bug on increasing processing sizes would corrupt the input data and thus change the results. It is advised to upgrade to this release as soon as possible.

Continue reading Announcement: Audio TK 1.1.0

Announcement: Audio TK 1.0.0

This is the first stable release of the Audio Toolkit, after more than a year of development. In addition to the serial pipeline, there is now an option to use TBB to render each chunk in parallel. The pipeline can also return the maximum latency the pipeline possesses if all latency information is given during the build of the pipeline.

Additional filters were also added to complement the current set of filters.

Continue reading Announcement: Audio TK 1.0.0

Audio Toolkit: Attack Release filter with hysteresis

For several months, I only implemented a basic attack-release filter in Audio Toolkit (here). But of course, there are filters that have a more custom behavior. The usual additional parameter that can be seen in these filters is called hysteresis.
Continue reading Audio Toolkit: Attack Release filter with hysteresis

Audio Toolkit: Different low pass filters

There are several different low pass filters, and as many high pass, band pass, band stop… filters. In Audio toolkit, there are different usual implementation available:

  • Bessel
  • Butterworth
  • Chebyshev type 1
  • Chebyshev type 2
  • Second order
  • Linkwitz-Riley
  • RBJ

and it is possible to implement other, different orders as well…
Continue reading Audio Toolkit: Different low pass filters