An audio digital processing toolbox based on a workflow/pipeline principle

Related tags

Audio AudioTK
Overview

AudioTK

Quality Gate Quality Gate Quality Gate Quality Gate

Travis Appveyor License

Audio ToolKit is a set of audio filters. It helps assembling workflows for specific audio processing workloads.

The audio workflow is split in independent components (without feedback loops) that consist of filters. Each filter has a set of synchronized input and output ports that can be connected together. All input ports must be connected, but not all output ports need to be.

Sampling rate can be independent between input and output ports, but input sampling rates are identical, and output sampling rates are also identical.

License

Audio Toolkit is published under the BSD license.

Changelog

3.2.0

  • Cleanup

3.1.1

  • Upgrade pybind11
  • Upgrade Travis support

3.1.0

  • Move to C++17 only
  • Drop support for libsimdpp (SIMD support will move in another direction)
  • Fix Eigen and gsl installs
  • Enhance coverage tests

3.0.0

2.3.2

  • Fix initialization indices in Custom IIR and FIR Filters
  • Use gsl::index for loop indices
  • Fix gradient for transistors
  • Enhance interpolation for the gain filter
  • Installation of the third-party headers (gsl, simdpp or Eigen)

2.3.1

  • Fix Python wrappers

2.3.0

  • Increased test coverage and fix lots of small mistakes in the API
  • Allow inplace Python tests (before make install) on Linux
  • Split big files to allow native compilation on embedded platforms

2.2.2

  • Fix a TDF2 IIR filter bug when the state was not reinitialized, leading to unstabilities
  • Fix a bug when delays were changed but not the underlying buffers, leading to buffer underflows
  • Adding a new Broadcast filter (filling all SIMD vector lines with the same input value)
  • Adding a new Reduce filter (summing all SIMD vector lines to the output value)

2.2.1

  • Fix alignment issues in SIMD filters
  • Fix SIMD EQ dispatcher export issues on Windows (too many possible filters!)
  • Implemented relevant Tools SIMD filters

2.2.0

  • Introduced SIMD filters with libsimdpp
  • Refactored EQ filters to work with SIMD filters
  • Added module files for JUCE Projucer

2.1.1

  • Added a Gain Max Compressor filter with wrappers
  • Added a dryrun call on BaseFilter to setup maximum sizes on a pipeline
  • Added a IIR TDF2 (Transposed Direct Form 2) filter implementation (no Python wrappers for now)
  • Fixed max gain reduction in the expanders to use 20 log10 instead of 10 log10 (as it is applied to the amplitude and not power)
  • Fix a bug in OutCircularPointerFilter with offset handling
  • Fix a bug in RIAA inverse filters

2.1.0

  • Added a config file for CMake
  • Rewrote the Python wrappers to use pybind11 instead of SWIG
  • Added MuteSoloSumFilter to allow mute/solo operations on tracks with Python wrappers
  • SumFilter can now sum multiple channels together
  • Adding fourth order Linkwitz-Riley filters
  • Adding a new circular buffer (for FFT plugins for instance)
  • Added parameters for tube (inverters) filters definition
  • Added Python wrappers in Travis-CI builds
  • Added a modified implementation of the Munro-Piazza triode function to remove some artefacts

2.0.2

  • Fix ARM compilation

2.0.1

  • Turn set/get into properties when possible (Python wrapper)
  • Enhanced Tools API (Audio ToolKit book)
  • Added a Feedback Delay Netwrok filter (FDN) with Hadamard mixing matrix with Python wrappers
  • Fixed MultipleUniversalFixedDelayLineFilter parameters

2.0.0

  • Refactored fixed line delays (performance improvement)
  • Allow new filters to have unconnected inputs (can only be changed inside a filter)
  • Refactored the stereo universal delay line to allow more simultaneous channels (renamed to MultipleUniversalDelayLineFilter)
  • ATK now allows complex-valued filters with filters to convert from real from/to complex
  • Added a BlockLMSFilter with Python wrappers
  • Added a LMSFilter with Python wrappers
  • Added a RemezBasedCoefficients with Python wrappers to be used with FIRFilter to generate a FIR filter from a template
  • Added a RLSFilter with Python wrappers
  • Support for IPP as a FFT backend
  • Refactored the API for global unsigned consistency

1.5.0

  • Adding a follower class solid state preamplifier with Python wrappers
  • Adding a Dempwolf model for tube filters with Python wrappers
  • Adding a Munro-Piazza model for tube filters with Python wrappers
  • Optimized distortion and preamplifier filters by using fmath exp calls

1.4.1

  • Vectorized x4 the IIR part of the IIR filter
  • Vectorized delay filters
  • Fixed bug in gain filters

1.4.0

  • Added a LeachTriodeFunction for simpler tube filters
  • Added Intel Compiler support
  • Vectorized FIR part of IIRFilter
  • Refactored gain filters to enable vectorization
  • 256 bits alignment of internal arrays (with or without delay, the first element to process will be 256-bits aligned)

1.3.2

  • Starting support for ARM platforms (not optimized yet)
  • Added a FlushToZero class used in Python interface so that it is activated when process() is called

1.3.1

  • Added a 1 - input filter with Python wrappers
  • Removed the old SD1 filter, replaced it definitely with the SVF version
  • Added a TS9 overdrive filter (SD1 without the asymmetry) with Python wrappers
  • Added a Tube2Filter with wrappers, adding the plate-grid capacitor in the equations, stabilizing them better (requires Eigen)

1.3.0

  • Added a family of triode preamplification filters with Python wrappers (requires Eigen)
  • Added a class A NPN preamplification filter with Python wrappers (requires Eigen)
  • Added a buffer filter with Python wrappers
  • Added a new Diode clipper with trapezoidal rule with Python wrappers
  • Added a new version of the SD1 distortion with ZDF mode and Python wrappers

1.2.0

  • Added SecondOrderSVF filters from cytomic with Python wrappers
  • Implemented a LowPassReverbFilter with Python wrappers
  • Added Python wrappers to AllPassReverbFilter
  • Distortion filters optimization
  • Bunch of fixes (Linux compil, calls...)

1.1.0

  • Fix a really nasty bug when changing processing sizes
  • Implemented a basic AllPassFilter (algorithmic reverb)

1.0.0

  • Split ATKTools in Tools and Utility modules
  • Allow threaded computation in pipelines
  • Added a latency computation

0.7.2

  • Added an AttackReleaseHysteresis filter with Python wrapper
  • Added a GainMaxColoredExpander filter with Python wrapper
  • Removed the gain fractional filters
  • Added a GainSwellFilter with Python wrapper

0.7.1

  • Added additional second order filters with Python wrappers (RBJ coefficients)
  • Added GainColoredCompressorFilter and GainColoredExpanderFilter with Python wrappers

0.7.0

  • Fixed the FFT implementation
  • Added a fast zero latency convolution filter with tests and comparison with a basic FIR implementation
  • Enhanced global framework performance (Core, EQ, Tools)
  • Enhanced dynamic gain filters behavior by switching between LUT or direct computation dependening on the LUT state

0.6.0

  • Added override and final keywords in virtual calls
  • Changed the API so that process_impl is now const
  • Exposed full_setup to the user (direct reset of the internal state, already called when changing sample rate)
  • Added LinkWitz-Riley second order low and high path filters
  • Fix resetting the internal state of all delays by using full_setup
  • Added a CustomFIRFilter with Python wrapper

0.5.1

  • Added time-varying IIR filters (variable frequency, coded as transposed direct form II)
  • Added second order time varying filter implementations
  • Added a RelativePowerFilter with Python wrappers
  • Added a DerivativeFilter with Python wrappers
  • Added Python wrappers for the InWavFilter
  • Fixed some warnings during compilation

0.5.0

  • Renamed slope attribute to ratio for Gain Compressor and Expander Filters
  • Renamed the Chamberlin filter
  • Added a StereoUniversalFixedDelayLineFilter that can make mix two channels together with different delay for each channel with Python wrappers
  • Added a GainLimiterFilter (maximum ratio) with Python wrappers
  • Added a MaxFilter with Python wrappers
  • Added a DryWetFilter with Python wrappers

0.4.2

  • Bug fixes

0.4.1

  • Added a PipelineGlobalSinkFilter with Python wrapper
  • Changed the MiddleSideFilter scale (no more dividing by 2 in the code)
  • Additional tools additions (cos generator, offset+volume filter)
  • Added a second order all pass filter with Python wrappers

0.4.0

  • Added a white noise generator filter
  • Fixed the delay line filters
  • Fixed second order EQ Python wrappers

0.3.2

  • Added a fixed delay line filter (FIR filter) with Python wrappers
  • Added an universal fixed delay line filter (FIR, IIR and all-pass filter + combinations) with Python wrappers
  • Added variable delay filters (delay is given on an additional port)

0.3.1

  • Adding compressor elements and the Python wrappers
  • Fixed Python wrappers by adding default number of port/channels
  • Added restrict pointer support in all filter that can benefit from this

0.3.0

  • Enhanced the ScalarNewtonRaphson algorithm to accept different precision. Used a more relaxed one by default
  • Fixed a bug in SD1OverdriveFilter
  • Optimized array copies between filters
  • Added documentation

0.2.1

  • Fix some issues with deploying ATK
  • Tone stacks (Bassman and JCM800) with Python wrappers
  • Updated filters C++ interface when then can process several channels at the same time

0.2.0

  • SD1 tone circuit with Python wrappers
  • Changed the main process method behavior, no needed to call reset each time
  • Added methods to *PointerFilter to enable use in audio plugins as sinks/sources

0.1.1

  • Padding/delay support
  • FFTW support
  • Profiling facilities
  • Butterworth high pass, band pass and band stop filters
  • Python wrappers for all Butterworth filters
  • Bessel filters
  • Python wrappers for all Bessel filters
  • Chebyshev type 1 and 2 filters
  • Python wrappers for all Chebyshev type 1 and 2 filters
  • SD1 overdrive filter and Python wrappers

0.1.0

  • Butterworth low pass filter
  • Python wrappers for Distortion filters

0.0.3

  • Audio files input/output filters based on libsndfile
  • Input and output filters based on pointers
  • Python wrappers for Core filters
  • Python wrappers for EQ filters
  • Python wrappers for Tools filters

0.0.2

  • Middle Side separator filter for stereo channels
  • Sinus generator filter for Mock tests
  • Frequency tester based on Accelerate FFT for Mock tests
  • Second order EQ filters
  • Decimation filters
  • Oversampling filters
  • Basic Wav input/output filters
  • Overdrive filter implementation

0.0.1

  • Base filter with automatic type conversion to help assemble plugins with different processing types
  • Mock filters for generating and checking some signals
  • Pan filters with different laws
    • 0 dB center, sin/cos taper, constant power
    • -3 dB center, sin/cos taper, constant power
    • 0 dB center, square-root taper, constant power
    • -3 dB center, square-root taper, constant power
    • -6 dB center, linear taper
    • 0 dB center, balance control
  • Volume filter, with gain input in dB and no dB
  • Sum filter

Install

Requirements

  • C++11 compiler
  • CMake
  • Boost 1.60
  • FFT library (for some filters like the fast convolution filter)
    • FFTW
    • IPP (default)
  • Python with numpy (for Python support)
  • Eigen (for some complex modules)
  • libsndfile (for sound file I/O)

Procedure

  • Start CMake
  • Configure your options
  • Run make, Visual Studio or XCode

Usage

CMake

By setting ATK_DIR, you can import a package with FIND_PACKAGE(ATK) and components are supported. ATK_INCLUDE_DIRS and ATK_LIBRARIES are the main variables set, but each individual library can also be linked against instead of all of them.

Shared libraries and static libraries are different components (for instance Core and Core_static), by not setting components, all the shared libraries available will be stored in ATK_LIBRARIES.

Known Issues

  • If a plugin uses the same buffers for input and output and the pipeline has two subgraphs, one from left to right and one to left (for instance), then they are processed in order and the second graph would use the result of the first branch. To fix this, add a BufferFilter just after the input filter so that they are all buffered and copied to an intermediate buffer when the first one is used. It adds a copy, so only use this fix when you have this specific configuration for a pipeline.

Additional included dependencies

paypal

Comments
  • CMake: Unable to find Boost header files (Boost 1.58)

    CMake: Unable to find Boost header files (Boost 1.58)

    I have Boost 1.58 installed.

    Tried to add SET(BOOST_ROOT C:/Developer/Libs_cpp/boost_1_58_0/boost) to the CMakeLists.txt. Does not help.

    Does the build not work with newer Boost versions?

    opened by mavavilj 15
  • Linux compilation issues

    Linux compilation issues

    I had to jump through a few hoops to manage to get AudioTK compiled on Arch Linux with GCC 5.3.0. Here's what I did to successfully compile:

    patch -p1 -N -r - -i exp-cstddef.patch
    
    rm -rf build
    mkdir build
    cd build
    cmake -DCMAKE_CXX_FLAGS="-std=c++11" \
          -DENABLE_PYTHON=1 \
          -DCMAKE_INSTALL_PREFIX=/usr \
          -DENABLE_TESTS=0 \
          ..
    make
    

    The exp-cstdef.patch:

    diff --git a/ATK/Utility/exp.cpp b/ATK/Utility/exp.cpp
    index 5447602..9af5802 100644
    --- a/ATK/Utility/exp.cpp
    +++ b/ATK/Utility/exp.cpp
    @@ -4,6 +4,7 @@
    
     #include <ATK/Utility/exp.h>
    
    +#include <cstddef>
     #include <cmath>
    
     namespace ATK
    

    Without this patch I get this error:

    <...>/AudioTK/ATK/Utility/exp.cpp:29:5: error: 'size_t' was not declared in this scope
    

    When enabling tests I get the following error:

    <...>/AudioTK/tests/IO/libsndfile/InSndFileFilter.cpp:9:21: fatal error: ATK/git.h: No such file or directory
    
    opened by SpotlightKid 12
  • Unable to build from git checkout (no CMakeLists.txt in pybind11 directory)

    Unable to build from git checkout (no CMakeLists.txt in pybind11 directory)

    I'm trying to build the latest AudioTK version from a git checkout for the audiotk-git AUR package. I get the following error at the cmake stage:

    -- The C compiler identification is GNU 7.1.1
    -- The CXX compiler identification is GNU 7.1.1
    -- Check for working C compiler: /usr/lib/ccache/bin/cc
    -- Check for working C compiler: /usr/lib/ccache/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/lib/ccache/bin/c++
    -- Check for working CXX compiler: /usr/lib/ccache/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    INFO Build shared libraries: ON
    INFO Build static libraries: OFF
    INFO Build tests: 1
    -- Performing Test COMPILER_SUPPORTS_CXX14
    -- Performing Test COMPILER_SUPPORTS_CXX14 - Success
    -- Performing Test COMPILER_SUPPORTS_PTHREAD
    -- Performing Test COMPILER_SUPPORTS_PTHREAD - Success
    -- Performing Test COMPILER_SUPPORTS_restrict
    -- Performing Test COMPILER_SUPPORTS_restrict - Failed
    -- The compiler /usr/lib/ccache/bin/c++ doesn't support -restrict.
    -- Performing Test COMPILER_SUPPORTS_ftz
    -- Performing Test COMPILER_SUPPORTS_ftz - Failed
    -- The compiler /usr/lib/ccache/bin/c++ doesn't support -ftz.
    -- Performing Test COMPILER_SUPPORTS_ftpz
    -- Performing Test COMPILER_SUPPORTS_ftpz - Failed
    -- The compiler /usr/lib/ccache/bin/c++ doesn't support -fdenormal-fp-math=positive-zero.
    -- Performing Test COMPILER_SUPPORTS_ftree_vectorize
    -- Performing Test COMPILER_SUPPORTS_ftree_vectorize - Success
    -- Performing Test COMPILER_SUPPORTS_AVX
    -- Performing Test COMPILER_SUPPORTS_AVX - Failed
    -- The compiler /usr/lib/ccache/bin/c++ doesn't support -xAVX -axCORE-AVX2.
    -- Performing Test HAS_STD_ALIGN2
    -- Performing Test HAS_STD_ALIGN2 - Success
    -- Found Git: /usr/bin/git  
    -- Found LIBSNDFILE: /usr/include  
    -- Boost version: 1.64.0
    -- Found Eigen: /usr/include/eigen3 (found version "3.3.4") 
    -- Found FFTW: /usr/lib/libfftw3.so  
    -- Boost version: 1.64.0
    -- Found the following Boost libraries:
    --   unit_test_framework
    --   system
    -- Boost version: 1.64.0
    -- Found the following Boost libraries:
    --   unit_test_framework
    --   system
    -- Found PythonInterp: /usr/bin/python (found version "3.6.1") 
    -- Found NumPy: /usr/lib/python3.6/site-packages/numpy/core/include (found version "1.13.0") 
    CMake Error at Python/CMakeLists.txt:4 (add_subdirectory):
      The source directory
    
        /home/chris/src/arch/aur/audiotk-git/src/audiotk/Python/pybind11
    
      does not contain a CMakeLists.txt file.
    
    
    CMake Error at Python/CMakeLists.txt:7 (FIND_PACKAGE):
      By not providing "FindPythonLibsNew.cmake" in CMAKE_MODULE_PATH this
      project has asked CMake to find a package configuration file provided by
      "PythonLibsNew", but CMake did not find one.
    
      Could not find a package configuration file provided by "PythonLibsNew"
      with any of the following names:
    
        PythonLibsNewConfig.cmake
        pythonlibsnew-config.cmake
    
      Add the installation prefix of "PythonLibsNew" to CMAKE_PREFIX_PATH or set
      "PythonLibsNew_DIR" to a directory containing one of the above files.  If
      "PythonLibsNew" provides a separate development package or SDK, be sure it
      has been installed.
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/chris/src/arch/aur/audiotk-git/src/audiotk/build/CMakeFiles/CMakeOutput.log".
    See also "/home/chris/src/arch/aur/audiotk-git/src/audiotk/build/CMakeFiles/CMakeError.log".
    

    Here are the commands I'm using (adapted from the examples found in the .travis.yml file:

    rm -rf build
    mkdir build
    git checkout develop
    git pull
    cd build
    local py_ver=$(python -c 'import sys; print("%s.%s.%s" % sys.version_info[:3])')
    local py_maj_ver=$(python -c 'import sys; print("%s.%s" % sys.version_info[:2])')
    cmake .. \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DDISABLE_EIGEN_WARNINGS=1 \
      -DENABLE_PYTHON=1 \
      -DPYTHON_VERSION=${py_maj_ver} \
      -DPYTHON=python${py_maj_ver} \
      -DPython_ADDITIONAL_VERSIONS=${py_ver} \
      -DENABLE_TESTS=1 \
      -DBUILD_DOC=1 \
      -DENABLE_GPL=1
    

    The Python/pybind11 directory is empty in the git checkout . What am I missing?

    opened by SpotlightKid 11
  • XCode build failed

    XCode build failed

    Hi Matthiew.

    I'm trying to build AudioTK on XCode.

    I installed Boost, libsndfile et fftw via macports and the CMake generation process seem to work more or less, except for FFTW but I tried to run a build and hoped to see work not every module but at least get ATK Core to build.

    My cmake output is :

    _INFO Build shared libraries: ON INFO Build static libraries: OFF INFO Build tests: ON Could NOT find FFTW (missing: FFTW_LIBRARY_FFTW3 FFTW_LIBRARY_FFTW3F FFTW_LIBRARIES FFTW_INCLUDES) Boost version: 1.61.0 Boost version: 1.61.0 Found the following Boost libraries: unit_test_framework system Boost version: 1.61.0 Found the following Boost libraries: unit_test_framework timer system chrono Configuring done CMake Warning (dev): Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake --help-policy CMP0042" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

    MACOSX_RPATH is not specified for the following targets:

    ATKAdaptive ATKCore ATKDelay ATKDistortion ATKDynamic ATKEQ ATKIO ATKMock ATKPreamplifier ATKReverberation ATKSpecial ATKTools ATKUtility

    This warning is for project developers. Use -Wno-dev to suppress it.

    Generating done_

    the build fails in TypedBaseFilter.cpp and there was to issue there : At first in the with RValue constructor template<typename DataType> TypedBaseFilter<DataType>::TypedBaseFilter(TypedBaseFilter&& other) :Parent(static_cast<Parent &&>(std::move(other))),

    There was an error if I was not casting std::move(other) to RValue type.

    I confess I'm not fluent at all with C++11 Feature and I'm lost there.

    I hope you have a OS X and you could try a build on your machine, or maybe you got an idea of what's happenning ?

    I'm on OS X El-Capitain. I use LLVM.

    Thank you

    opened by francoisreme 11
  • Several test failures

    Several test failures

    $ cd build; make test
    Running tests...
    Test project /home/chris/src/AudioTK/build
          Start  1: AudioTKUTILITY
     1/14 Test  #1: AudioTKUTILITY ...................   Passed    0.01 sec
          Start  2: AudioTKCore
     2/14 Test  #2: AudioTKCore ......................   Passed    3.17 sec
          Start  3: AudioTKMock
     3/14 Test  #3: AudioTKMock ......................   Passed    0.18 sec
          Start  4: AudioTKTools
     4/14 Test  #4: AudioTKTools .....................***Failed   31.31 sec
          Start  5: AudioTKIO
     5/14 Test  #5: AudioTKIO ........................***Failed    0.02 sec
          Start  6: AudioTKEQ
     6/14 Test  #6: AudioTKEQ ........................   Passed    1.40 sec
          Start  7: AudioTKDelay
     7/14 Test  #7: AudioTKDelay .....................   Passed    0.39 sec
          Start  8: AudioTKDynamic
     8/14 Test  #8: AudioTKDynamic ...................   Passed    0.76 sec
          Start  9: AudioTKDistortion
     9/14 Test  #9: AudioTKDistortion ................   Passed    0.01 sec
          Start 10: AudioTKSpecial
    10/14 Test #10: AudioTKSpecial ...................   Passed    0.25 sec
          Start 11: AudioTKSpecial
    11/14 Test #11: AudioTKSpecial ...................   Passed   22.55 sec
          Start 12: PyAudioTKCore
    12/14 Test #12: PyAudioTKCore ....................***Failed    0.47 sec
          Start 13: PyAudioATKTools
    13/14 Test #13: PyAudioATKTools ..................***Failed    0.45 sec
          Start 14: PyAudioATKEQ
    14/14 Test #14: PyAudioATKEQ .....................***Failed    0.39 sec
    
    64% tests passed, 5 tests failed out of 14
    
    Total Test time (real) =  61.37 sec
    
    The following tests FAILED:
          4 - AudioTKTools (Failed)
          5 - AudioTKIO (Failed)
         12 - PyAudioTKCore (Failed)
         13 - PyAudioATKTools (Failed)
         14 - PyAudioATKEQ (Failed)
    Errors while running CTest
    Makefile:105: die Regel für Ziel „test“ scheiterte
    make: *** [test] Fehler 8
    

    Attached is a log file with the output from

    $ cd build
    $ /usr/bin/ctest --force-new-ctest-process --output-on-failure -O testlog.txt
    

    ATK compiled on Arch Linux x86_64 with GCC 5.3.0, build type Release.

    testlog.txt

    opened by SpotlightKid 8
  • Undefined symbol when importing ATK.Core Python module

    Undefined symbol when importing ATK.Core Python module

    >>> import ATK.Core
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.5/site-packages/ATK/Core/__init__.py", line 2, in <module>
        from .Core import *
      File "/usr/lib/python3.5/site-packages/ATK/Core/Core.py", line 30, in <module>
        _Core = swig_import_helper()
      File "/usr/lib/python3.5/site-packages/ATK/Core/Core.py", line 26, in swig_import_helper
        _mod = imp.load_module('_Core', fp, pathname, description)
      File "/usr/lib/python3.5/imp.py", line 242, in load_module
        return load_dynamic(name, filename, file)
      File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
        return _load(spec)
    ImportError: /usr/lib/python3.5/site-packages/ATK/Core/_Core.so: undefined symbol: _ZN3ATK16OutPointerFilterIxEC1EPxilb
    

    Note: I moved /usr/lib/site-packages/ATK to /usr/lib/python3.5/site-packages since /usr/lib/site-packages is not a valid Python module directory on non-debian-based systems.

    opened by SpotlightKid 4
  • error MSB3073 when trying to INSTALL (CMake, VS2013).

    error MSB3073 when trying to INSTALL (CMake, VS2013).

    This is a continuation from: https://github.com/mbrucher/AudioTK/issues/2

    Have downloaded latest develop branch. Generated with CMake for VS2013 using settings ENABLE_SHARED_LIBRARIES and ENABLE_TESTS.

    After building (the ALL_BUILD project) I believe I need to build the INSTALL project in VS2013.

    However this produces:

    ------- Rebuild All started: Project: INSTALL, Configuration: Release Win32 ------ --Install configuration: "Release" CMake Error at ATK/cmake_install.cmake:39 (file): file cannot create directory: C:/Program Files (x86)/AudioTK/include/ATK. Maybe need administrative privileges. Call Stack (most recent call first): cmake_install.cmake:32 (include)

    Followed by an error:

    Error 1 error MSB3073: The command "setlocal "C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone :cmErrorLevel exit /b %1 :cmDone if %errorlevel% neq 0 goto :VCEnd :VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 INSTALL

    Running VS2013 with administrative privileges doesn't help.

    opened by mavavilj 4
  • Python chorus examples use non-existent filter class DoubleLowPassCoefficientsIIRFilter

    Python chorus examples use non-existent filter class DoubleLowPassCoefficientsIIRFilter

    The example scripts Examples/delay/chorus.py and Examples/delay/display_chorus.py want to import the DoubleLowPassCoefficientsIIRFilter from the ATK.EQ module. This module doesn't have a class of that name (anymore?).

    I looked a the filter classes in ATK/EQ.py, but I wasn't clear to me what would be a suitable replacement class. I tried DoubleRobertBristowJohnsonLowPassFilter and the scripts seem to work with it, but I'm not sure whether the effect is comparable.

    opened by SpotlightKid 3
  • Enabling BUILD_DOC breaks cmake

    Enabling BUILD_DOC breaks cmake

    Fix:

    diff --git a/CMakeLists.txt b/CMakeLists.txt
    index f273543..c698cdc 100644
    --- a/CMakeLists.txt
    +++ b/CMakeLists.txt
    @@ -334,7 +334,7 @@ endif(ENABLE_PYTHON)
     
     IF (BUILD_DOC)
     
    -  FIND_PACKAGE(Doxygen Required)
    +  FIND_PACKAGE(Doxygen REQUIRED)
     
       SET(DOXYGEN_INPUT Doxyfile)
       SET(DOXYGEN_OUTPUT Doxygen)
    
    bug documentation 
    opened by SpotlightKid 2
  • Can you build w/o Git for Visual Studio 2013?

    Can you build w/o Git for Visual Studio 2013?

    Trying to build for VS 2013 and CMake gives me the following CMake error when configuring:

    Could NOT find Git (missing GIT_EXECUTABLE).

    Is this some sort of online build?

    opened by mavavilj 2
  • ATK/EQ/FourthOrderFilter.cpp is missing?

    ATK/EQ/FourthOrderFilter.cpp is missing?

    I am getting a compile error Cannot open include file: 'ATK/EQ/FourthOrderFilter.cpp': No such file or directory (compiling source file ....\JuceLibraryCode\include_atk_eq.cpp)

    opened by alexdsp 1
  • Python tests do not work without AudioTK Python libraries installed

    Python tests do not work without AudioTK Python libraries installed

    The Python tests do not work without the Python libraries installed, so the test can not be run from the source or build tree without installing first, which is a problem e.g. for distribution packagers.

    The reason is that they import the ATK modules in the form from ATK.Xyz import xyz, but the directory for the ATK python package is only created on installation of the modules. In the build tree there is no ATK directory and hence no ATK package. So even adding the build/Python directory to PYTHONPATH for the tests wouldn't work.

    I don't see a quick solution for this. IMHO either the build process should be altered in such a way that the modules are created in a proper package directory structure under build/Python/ATK or a testing environment should be used, that creates a temporary installation of the Python package (like e.g. tox.)

    Python 
    opened by SpotlightKid 12
Releases(ATK-3.2.0)
All-In-One Digital Audio Workstation and Plugin Suite

How to install Windows Mac OS X Fedora Ubuntu How to Build Debian and Ubuntu Fedora All Other Linux Distros Mac OS X Windows What is MusiKernel? MusiK

j3ffhubb 111 Sep 21, 2021
Expressive Digital Signal Processing (DSP) package for Python

AudioLazy Development Last release PyPI status Real-Time Expressive Digital Signal Processing (DSP) Package for Python! Laziness and object representa

Danilo de Jesus da Silva Bellini 642 Dec 26, 2022
Expressive Digital Signal Processing (DSP) package for Python

AudioLazy Development Last release PyPI status Real-Time Expressive Digital Signal Processing (DSP) Package for Python! Laziness and object representa

Danilo de Jesus da Silva Bellini 573 Feb 8, 2021
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 359 Feb 15, 2021
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
Audio augmentations library for PyTorch for audio in the time-domain

Audio augmentations library for PyTorch for audio in the time-domain, with support for stochastic data augmentations as used often in self-supervised / contrastive learning.

Janne 166 Jan 8, 2023
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

null 4 Dec 21, 2022
Scalable audio processing framework written in Python with a RESTful API

TimeSide : scalable audio processing framework and server written in Python TimeSide is a python framework enabling low and high level audio analysis,

Parisson 340 Jan 4, 2023
Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios.

Summary Pyroomacoustics is a software package aimed at the rapid development and testing of audio array processing algorithms. The content of the pack

Audiovisual Communications Laboratory 1k Jan 9, 2023
Python audio and music signal processing library

madmom Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks. The library is i

Institute of Computational Perception 1k Dec 26, 2022
Accompanying code for our paper "Point Cloud Audio Processing"

Point Cloud Audio Processing Krishna Subramani1, Paris Smaragdis1 1UIUC Paper For the necessary libraries/prerequisites, please use conda/anaconda to

Krishna Subramani 17 Nov 17, 2022
Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)

Meinard Mueller 66 Jan 2, 2023
F.R.I.D.A.Y. ----- Female Replacement Intelligent Digital Assistant Youth

F.R.I.D.A.Y. Female Replacement Intelligent Digital Assistant Youth--Jarvis-- the virtual assistant made by python Overview This is a virtual assistan

JIB - Just Innovative Bro 4 Feb 26, 2022
FPGA based USB 2.0 high speed audio interface featuring multiple optical ADAT inputs and outputs

ADAT USB Audio Interface FPGA based USB 2.0 High Speed audio interface featuring multiple optical ADAT inputs and outputs Status / current limitations

Hans Baier 78 Dec 31, 2022
OpenClubhouse - A third-part web application based on flask to play Clubhouse audio.

OpenClubhouse - A third-part web application based on flask to play Clubhouse audio.

null 1.1k Jan 5, 2023
Terminal-based audio-to-text converter

att Terminal-based audio-to-text converter Project description A terminal-based audio-to-text converter written in python, enabling you to convert .wa

Sven Eschlbeck 4 Dec 15, 2022
A GUI-based audio player with support for a large variety of formats

Miza-Player A GUI-based audio player with support for a large variety of formats, able to play from web-hosted media platforms such as YouTube, includ

Thomas Xin 3 Dec 14, 2022