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

Related tags

AudioAudioTK
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)
Datamoshing with FFmpeg

ffmosher Datamoshing with FFmpeg Drag and drop video onto mosh.bat to create a datamoshed video. To datamosh an image, please ensure the file is in a

18 Sep 11, 2022
Anaphones are like anagrams, but for sounds.

Anaphones Anaphones are like anagrams but for sounds (phonemes). Examples include: salami-awesomely, atari-tiara, and beefy-phoebe. Anaphones can be a

James Murphy 18 Nov 02, 2022
ᴀ ʙᴏᴛ ᴛʜᴀᴛ ᴄᴀɴ ᴘʟᴀʏ ᴍᴜꜱɪᴄ ɪɴ ᴛᴇʟᴇɢʀᴀᴍ ɢʀᴏᴜᴘ ᴏɴ ᴠᴏɪᴄᴇ ᴄᴀʟʟ

GJ516 LOVER'S ııllıllı ♥️ ➤⃝Gᴊ516_ᴍᴜꜱɪᴄ_ʙᴏᴛ ♥️ ıllıllı ᴀ ʙᴏᴛ ᴛʜᴀᴛ ᴄᴀɴ ᴘʟᴀʏ ᴍᴜꜱɪᴄ ɪɴ ᴛᴇʟᴇɢʀᴀᴍ ɢʀᴏᴜᴘ ᴏɴ ᴠᴏɪᴄᴇ ᴄᴀʟʟ Requirements 📝 FFmpeg NodeJS nodesou

1 Nov 22, 2021
controls volume using hand gestures

controls volume using hand gestures

1 Oct 11, 2021
MelGAN test on audio decoding

Official repository for the paper MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis The original work URL: https://github.com

Jurio 1 Apr 29, 2022
MusicBrainz Picard

MusicBrainz Picard MusicBrainz Picard is a cross-platform (Linux/Mac OS X/Windows) application written in Python and is the official MusicBrainz tagge

MetaBrainz Foundation 3k Dec 31, 2022
Code for "Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose"

Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose We provide PyTorch implementations for our arxiv paper "Audio-dr

Ran Yi 497 Jan 09, 2023
Full LAKH MIDI dataset converted to MuseNet MIDI output format (9 instruments + drums)

LAKH MuseNet MIDI Dataset Full LAKH MIDI dataset converted to MuseNet MIDI output format (9 instruments + drums) Bonus: Choir on Channel 10 Please CC

Alex 6 Nov 20, 2022
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 09, 2023
Welcome to Nexus. Your personal virtual assistant

AI Voice Assistant Welcome to Nexus voice assistant Description Have you ever heard of voice assistants like Cortana, Siri, Google assistant, and Alex

Mustafah Zacs 1 Jan 10, 2022
Audio fingerprinting and recognition in Python

dejavu Audio fingerprinting and recognition algorithm implemented in Python, see the explanation here: How it works Dejavu can memorize audio by liste

Will Drevo 6k Jan 06, 2023
SomaFM Plugin for Kodi

SomaFM XBMC Plugin This description is a bit outdated. You can simply install this addon by browsing the official repositories from within Kodi. Insta

7 Jan 21, 2022
Just-Music - Spotify API Driven Music Web app, that allows to listen and control and share songs

Just Music... Just Music Is A Web APP That Allows Users To Play Song Using Spoti

Ayush Mishra 3 May 01, 2022
A fast MDCT implementation using SciPy and FFTs

MDCT A fast MDCT implementation using SciPy and FFTs Installation As usual pip install mdct Dependencies NumPy SciPy STFT Usage import mdct spectrum

Nils Werner 43 Sep 02, 2022
Deep learning transformer model that generates unique music sequences.

music-ai Deep learning transformer model that generates unique music sequences. Abstract In 2017, a new state-of-the-art was published for natural lan

xacer 6 Nov 19, 2022
Port Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. / 筆墨クミDeepvocal中文音源

Hitsuboku Kumi (筆墨クミ) is a UTAU virtual singer developed by Cubialpha. This project ports Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. This is the first open-source deepvocal voicebank on Gith

8 Apr 26, 2022
Oliva music bot help to play vc music

OLIVA V2 🎵 Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.7+ PyTgCalls Commands 🛠 For all in group /play - reply to youtube url or song file

SOUL々H҉A҉C҉K҉E҉R҉ 2 Oct 22, 2021
TONet: Tone-Octave Network for Singing Melody Extraction from Polyphonic Music

TONet Introduction The official implementation of "TONet: Tone-Octave Network for Singing Melody Extraction from Polyphonic Music", in ICASSP 2022 We

Knut(Ke) Chen 29 Dec 01, 2022
Scrap electronic music charts into CSV files

musiccharts A small python script to scrap (electronic) music charts into directories with csv files. Installation Download MusicCharts.exe Run MusicC

Dustin Scharf 1 May 11, 2022
Learn chords with your MIDI keyboard !

miditeach miditeach is a music learning tool that can be used to practice your chords skills with a midi keyboard 🎹 ! Features Midi keyboard input se

Alexis LOUIS 3 Oct 20, 2021