Python audio and music signal processing library

Overview

madmom

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

The library is internally used by the Department of Computational Perception, Johannes Kepler University, Linz, Austria (http://www.cp.jku.at) and the Austrian Research Institute for Artificial Intelligence (OFAI), Vienna, Austria (http://www.ofai.at).

Possible acronyms are:

  • Madmom Analyzes Digitized Music Of Musicians
  • Mostly Audio / Dominantly Music Oriented Modules

It includes reference implementations for some music information retrieval algorithms, please see the References section.

Documentation

Documentation of the package can be found online http://madmom.readthedocs.org

License

The package has two licenses, one for source code and one for model/data files.

Source code

Unless indicated otherwise, all source code files are published under the BSD license. For details, please see the LICENSE file.

Model and data files

Unless indicated otherwise, all model and data files are distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license.

If you want to include any of these files (or a variation or modification thereof) or technology which utilises them in a commercial product, please contact Gerhard Widmer.

Installation

Please do not try to install from the .zip files provided by GitHub. Rather install it from package (if you just want to use it) or source (if you plan to use it for development) by following the instructions below. Whichever variant you choose, please make sure that all prerequisites are installed.

Prerequisites

To install the madmom package, you must have either Python 2.7 or Python 3.5 or newer and the following packages installed:

In order to test your installation, process live audio input, or have improved FFT performance, additionally install these packages:

If you need support for audio files other than .wav with a sample rate of 44.1kHz and 16 bit depth, you need ffmpeg (avconv on Ubuntu Linux has some decoding bugs, so we advise not to use it!).

Please refer to the requirements.txt file for the minimum required versions and make sure that these modules are up to date, otherwise it can result in unexpected errors or false computations!

Install from package

The instructions given here should be used if you just want to install the package, e.g. to run the bundled programs or use some functionality for your own project. If you intend to change anything within the madmom package, please follow the steps in the next section.

The easiest way to install the package is via pip from the PyPI (Python Package Index):

pip install madmom

This includes the latest code and trained models and will install all dependencies automatically.

You might need higher privileges (use su or sudo) to install the package, model files and scripts globally. Alternatively you can install the package locally (i.e. only for you) by adding the --user argument:

pip install --user madmom

This will also install the executable programs to a common place (e.g. /usr/local/bin), which should be in your $PATH already. If you installed the package locally, the programs will be copied to a folder which might not be included in your $PATH (e.g. ~/Library/Python/2.7/bin on Mac OS X or ~/.local/bin on Ubuntu Linux, pip will tell you). Thus the programs need to be called explicitely or you can add their install path to your $PATH environment variable:

export PATH='path/to/scripts':$PATH

Install from source

If you plan to use the package as a developer, clone the Git repository:

git clone --recursive https://github.com/CPJKU/madmom.git

Since the pre-trained model/data files are not included in this repository but rather added as a Git submodule, you either have to clone the repo recursively. This is equivalent to these steps:

git clone https://github.com/CPJKU/madmom.git
cd madmom
git submodule update --init --remote

Then you can simply install the package in development mode:

python setup.py develop --user

To run the included tests:

python setup.py pytest

Upgrade of existing installations

To upgrade the package, please use the same mechanism (pip vs. source) as you did for installation. If you want to change from package to source, please uninstall the package first.

Upgrade a package

Simply upgrade the package via pip:

pip install --upgrade madmom [--user]

If some of the provided programs or models changed (please refer to the CHANGELOG) you should first uninstall the package and then reinstall:

pip uninstall madmom
pip install madmom [--user]

Upgrade from source

Simply pull the latest sources:

git pull

To update the models contained in the submodule:

git submodule update

If any of the .pyx or .pxd files changed, you have to recompile the modules with Cython:

python setup.py build_ext --inplace

Package structure

The package has a very simple structure, divided into the following folders:

/bin
this folder includes example programs (i.e. executable algorithms)
/docs
package documentation
/madmom
the actual Python package
/madmom/audio
low level features (e.g. audio file handling, STFT)
/madmom/evaluation
evaluation code
/madmom/features
higher level features (e.g. onsets, beats)
/madmom/ml
machine learning stuff (e.g. RNNs, HMMs)
/madmom/models
pre-trained model/data files (see the License section)
/madmom/utils
misc stuff (e.g. MIDI and general file handling)
/tests
tests

Executable programs

The package includes executable programs in the /bin folder. If you installed the package, they were copied to a common place.

All scripts can be run in different modes: in single file mode to process a single audio file and write the output to STDOUT or the given output file:

DBNBeatTracker single [-o OUTFILE] INFILE

If multiple audio files should be processed, the scripts can also be run in batch mode to write the outputs to files with the given suffix:

DBNBeatTracker batch [-o OUTPUT_DIR] [-s OUTPUT_SUFFIX] FILES

If no output directory is given, the program writes the output files to the same location as the audio files.

Some programs can also be run in online mode, i.e. operate on live audio signals. This requires pyaudio to be installed:

DBNBeatTracker online [-o OUTFILE] [INFILE]

The pickle mode can be used to store the used parameters to be able to exactly reproduce experiments.

Please note that the program itself as well as the modes have help messages:

DBNBeatTracker -h

DBNBeatTracker single -h

DBNBeatTracker batch -h

DBNBeatTracker online -h

DBNBeatTracker pickle -h

will give different help messages.

Additional resources

Mailing list

The mailing list should be used to get in touch with the developers and other users.

Wiki

The wiki can be found here: https://github.com/CPJKU/madmom/wiki

FAQ

Frequently asked questions can be found here: https://github.com/CPJKU/madmom/wiki/FAQ

Citation

If you use madmom in your work, please consider citing it:

@inproceedings{madmom,
   Title = {{madmom: a new Python Audio and Music Signal Processing Library}},
   Author = {B{\"o}ck, Sebastian and Korzeniowski, Filip and Schl{\"u}ter, Jan and Krebs, Florian and Widmer, Gerhard},
   Booktitle = {Proceedings of the 24th ACM International Conference on
   Multimedia},
   Month = {10},
   Year = {2016},
   Pages = {1174--1178},
   Address = {Amsterdam, The Netherlands},
   Doi = {10.1145/2964284.2973795}
}

References

[1] Florian Eyben, Sebastian Böck, Björn Schuller and Alex Graves, Universal Onset Detection with bidirectional Long Short-Term Memory Neural Networks, Proceedings of the 11th International Society for Music Information Retrieval Conference (ISMIR), 2010.
[2] Sebastian Böck and Markus Schedl, Enhanced Beat Tracking with Context-Aware Neural Networks, Proceedings of the 14th International Conference on Digital Audio Effects (DAFx), 2011.
[3] Sebastian Böck and Markus Schedl, Polyphonic Piano Note Transcription with Recurrent Neural Networks, Proceedings of the 37th International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2012.
[4] Sebastian Böck, Andreas Arzt, Florian Krebs and Markus Schedl, Online Real-time Onset Detection with Recurrent Neural Networks, Proceedings of the 15th International Conference on Digital Audio Effects (DAFx), 2012.
[5] Sebastian Böck, Florian Krebs and Markus Schedl, Evaluating the Online Capabilities of Onset Detection Methods, Proceedings of the 13th International Society for Music Information Retrieval Conference (ISMIR), 2012.
[6] Sebastian Böck and Gerhard Widmer, Maximum Filter Vibrato Suppression for Onset Detection, Proceedings of the 16th International Conference on Digital Audio Effects (DAFx), 2013.
[7] Sebastian Böck and Gerhard Widmer, Local Group Delay based Vibrato and Tremolo Suppression for Onset Detection, Proceedings of the 13th International Society for Music Information Retrieval Conference (ISMIR), 2013.
[8] Florian Krebs, Sebastian Böck and Gerhard Widmer, Rhythmic Pattern Modelling for Beat and Downbeat Tracking in Musical Audio, Proceedings of the 14th International Society for Music Information Retrieval Conference (ISMIR), 2013.
[9] Sebastian Böck, Jan Schlüter and Gerhard Widmer, Enhanced Peak Picking for Onset Detection with Recurrent Neural Networks, Proceedings of the 6th International Workshop on Machine Learning and Music (MML), 2013.
[10] Sebastian Böck, Florian Krebs and Gerhard Widmer, A Multi-Model Approach to Beat Tracking Considering Heterogeneous Music Styles, Proceedings of the 15th International Society for Music Information Retrieval Conference (ISMIR), 2014.
[11] Filip Korzeniowski, Sebastian Böck and Gerhard Widmer, Probabilistic Extraction of Beat Positions from a Beat Activation Function, Proceedings of the 15th International Society for Music Information Retrieval Conference (ISMIR), 2014.
[12] Sebastian Böck, Florian Krebs and Gerhard Widmer, Accurate Tempo Estimation based on Recurrent Neural Networks and Resonating Comb Filters, Proceedings of the 16th International Society for Music Information Retrieval Conference (ISMIR), 2015.
[13] Florian Krebs, Sebastian Böck and Gerhard Widmer, An Efficient State Space Model for Joint Tempo and Meter Tracking, Proceedings of the 16th International Society for Music Information Retrieval Conference (ISMIR), 2015.
[14] Sebastian Böck, Florian Krebs and Gerhard Widmer, Joint Beat and Downbeat Tracking with Recurrent Neural Networks, Proceedings of the 17th International Society for Music Information Retrieval Conference (ISMIR), 2016.
[15] Filip Korzeniowski and Gerhard Widmer, Feature Learning for Chord Recognition: The Deep Chroma Extractor, Proceedings of the 17th International Society for Music Information Retrieval Conference (ISMIR), 2016.
[16] Florian Krebs, Sebastian Böck, Matthias Dorfer and Gerhard Widmer, Downbeat Tracking Using Beat-Synchronous Features and Recurrent Networks, Proceedings of the 17th International Society for Music Information Retrieval Conference (ISMIR), 2016.
[17] Filip Korzeniowski and Gerhard Widmer, A Fully Convolutional Deep Auditory Model for Musical Chord Recognition, Proceedings of IEEE International Workshop on Machine Learning for Signal Processing (MLSP), 2016.
[18] Filip Korzeniowski and Gerhard Widmer, Genre-Agnostic Key Classification with Convolutional Neural Networks, Proceedings of the 19th International Society for Music Information Retrieval Conference (ISMIR), 2018.
[19] Rainer Kelz, Sebastian Böck and Gerhard Widmer, Deep Polyphonic ADSR Piano Note Transcription, Proceedings of the 44th International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019.

Acknowledgements

Supported by the European Commission through the GiantSteps project (FP7 grant agreement no. 610591) and the Phenicx project (FP7 grant agreement no. 601166) as well as the Austrian Science Fund (FWF) project Z159.

Comments
  • AttributeError: 'Namespace' object has no attribute 'func'.

    AttributeError: 'Namespace' object has no attribute 'func'.

    Expected behaviour

    I want to execute the madmom code like in bin directory which is use argument parser. But, there is problem in my code.

    Actual behaviour

    Please paste what it does instead.

    Here is my code:

    from madmom.processors import (IOProcessor, io_arguments)
    from madmom.features.beats import (RNNBeatProcessor, DBNBeatTrackingProcessor)
    from madmom.io import write_beats
    from argparse import ArgumentParser
    
    if __name__ == '__main__':
        # define parser
        p = argparse.ArgumentParser()
        # add I/O related arguments and define
        # single/batch/pickle processing mode
        madmom.processors.io_arguments(p, output_suffix='beats.txt')
        # parse arguments
        args = p.parse_args()
        # define beat tracking processor
        rnn = madmom.features.beats.RNNBeatProcessor()
        dbn = madmom.features.beats.DBNBeatTrackingProcessor(fps=100)
        out = madmom.io.write_beats
        # wrap as IOProcessor
        processor = madmom.processors.IOProcessor([rnn, dbn], out)
        # call the processor in single/batch/pickle
        # mode defined by ‘args.func‘
        args.func(processor, **vars(args))
    

    But the results:

    File "C:\Users\IRINNISAR\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile exec(compile(f.read(), filename, 'exec'), namespace)

    File "F:/cobayaa/cobaargparse.py", line 102, in args.func(processor, **vars(args))

    AttributeError: 'Namespace' object has no attribute 'func'

    Information about installed software

    Please provide some information about installed software.

    python version 3.7 using spyder in anaconda navigator madmom version 0.16.1 np version 1.15.4 scipy version 1.1.0

    opened by Irinnisar 33
  • Installation fails in Docker with Ubuntu 16.04.5 LTS, Python 3.5.2

    Installation fails in Docker with Ubuntu 16.04.5 LTS, Python 3.5.2

    I'm trying to install on a Docker image based off of the official Tensorflow for Python 3.

    Expected behaviour

    Using this in a Dockerfile:

    FROM tensorflow/tensorflow:latest-py3
    WORKDIR /app
    
    RUN apt-get update && \
        apt-get -y upgrade && \
        apt-get install -y git && \
        git clone --recursive https://github.com/CPJKU/madmom.git && \
        cd madmom && \
        pip install -r requirements.txt && \
        python setup.py develop --user
    

    I expected it to clone the repo, install the required packages, and install from source.

    Actual behaviour

    Installation fails with error Failed building wheel for pyfftw.

    Output from the docker build command:

    Sending build context to Docker daemon  874.5kB
    Step 1/3 : FROM tensorflow/tensorflow:latest-py3
     ---> 39bcb324db83
    Step 2/3 : WORKDIR /app
     ---> Using cache
     ---> 6423d58e2d99
    Step 3/3 : RUN apt-get update &&     apt-get -y upgrade &&     apt-get install -y git &&     git clone --recursive https://github.com/CPJKU/madmom.git &&     cd madmom &&     pip install -r requirements.txt &&     python setup.py develop --user
     ---> Running in 5d99da095215
    Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
    Get:2 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
    Get:4 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [745 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
    Get:7 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
    Get:8 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [506 kB]
    Get:9 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [4027 B]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
    Get:11 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1139 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [906 kB]
    Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.0 kB]
    Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7959 B]
    Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8532 B]
    Fetched 15.5 MB in 8s (1725 kB/s)
    Reading package lists...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    Calculating upgrade...
    The following packages will be upgraded:
      apt dpkg libapt-pkg5.0 libkmod2 libpython3.5 libpython3.5-dev
      libpython3.5-minimal libpython3.5-stdlib libsystemd0 libudev1 linux-libc-dev
      python3.5 python3.5-dev python3.5-minimal systemd systemd-sysv
    16 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 52.3 MB of archives.
    After this operation, 21.5 kB of additional disk space will be used.
    Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.5 [2085 kB]
    Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libapt-pkg5.0 amd64 1.2.29 [707 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt amd64 1.2.29 [1041 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libkmod2 amd64 22-1ubuntu5.1 [39.8 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libsystemd0 amd64 229-4ubuntu21.8 [204 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd amd64 229-4ubuntu21.8 [3775 kB]
    Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd-sysv amd64 229-4ubuntu21.8 [11.6 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-dev amd64 3.5.2-2ubuntu0~16.04.5 [413 kB]
    Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-dev amd64 3.5.2-2ubuntu0~16.04.5 [37.3 MB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5 amd64 3.5.2-2ubuntu0~16.04.5 [1360 kB]
    Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5 amd64 3.5.2-2ubuntu0~16.04.5 [165 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.5 [2134 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-minimal amd64 3.5.2-2ubuntu0~16.04.5 [1598 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.5 [524 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libudev1 amd64 229-4ubuntu21.8 [54.1 kB]
    Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-139.165 [862 kB]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 52.3 MB in 46s (1129 kB/s)
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../dpkg_1.18.4ubuntu1.5_amd64.deb ...
    Unpacking dpkg (1.18.4ubuntu1.5) over (1.18.4ubuntu1.4) ...
    Setting up dpkg (1.18.4ubuntu1.5) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libapt-pkg5.0_1.2.29_amd64.deb ...
    Unpacking libapt-pkg5.0:amd64 (1.2.29) over (1.2.27) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libapt-pkg5.0:amd64 (1.2.29) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../archives/apt_1.2.29_amd64.deb ...
    Unpacking apt (1.2.29) over (1.2.27) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up apt (1.2.29) ...
    Installing new version of config file /etc/apt/apt.conf.d/01autoremove ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libkmod2_22-1ubuntu5.1_amd64.deb ...
    Unpacking libkmod2:amd64 (22-1ubuntu5.1) over (22-1ubuntu5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libkmod2:amd64 (22-1ubuntu5.1) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libsystemd0_229-4ubuntu21.8_amd64.deb ...
    Unpacking libsystemd0:amd64 (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libsystemd0:amd64 (229-4ubuntu21.8) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../systemd_229-4ubuntu21.8_amd64.deb ...
    Unpacking systemd (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Setting up systemd (229-4ubuntu21.8) ...
    Initializing machine ID from random generator.
    addgroup: The group `systemd-journal' already exists as a system group. Exiting.
    Operation failed: No such file or directory
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../systemd-sysv_229-4ubuntu21.8_amd64.deb ...
    Unpacking systemd-sysv (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Setting up systemd-sysv (229-4ubuntu21.8) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../python3.5-dev_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5-dev (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-dev_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../python3.5_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../python3.5-minimal_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5-minimal (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-minimal_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libudev1_229-4ubuntu21.8_amd64.deb ...
    Unpacking libudev1:amd64 (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Processing triggers for mime-support (3.59ubuntu1) ...
    Setting up libudev1:amd64 (229-4ubuntu21.8) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../linux-libc-dev_4.4.0-139.165_amd64.deb ...
    Unpacking linux-libc-dev:amd64 (4.4.0-139.165) over (4.4.0-138.164) ...
    Setting up libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5-minimal (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5-dev (3.5.2-2ubuntu0~16.04.5) ...
    Setting up linux-libc-dev:amd64 (4.4.0-139.165) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following additional packages will be installed:
      git-man less libbsd0 libedit2 liberror-perl libx11-6 libx11-data libxau6
      libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client xauth
    Suggested packages:
      gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email
      git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn ssh-askpass
      libpam-ssh keychain monkeysphere
    The following NEW packages will be installed:
      git git-man less libbsd0 libedit2 liberror-perl libx11-6 libx11-data libxau6
      libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client xauth
    0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
    Need to get 5087 kB of archives.
    After this operation, 33.6 MB of additional disk space will be used.
    Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B]
    Get:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxdmcp6 amd64 1:1.1.2-1.1 [11.0 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxcb1 amd64 1.11.1-1ubuntu1 [40.0 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-data all 2:1.6.3-1ubuntu2.1 [113 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-6 amd64 2:1.6.3-1ubuntu2.1 [570 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB]
    Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 less amd64 481-2.1ubuntu0.2 [110 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial/main amd64 libbsd0 amd64 0.8.2-1 [41.7 kB]
    Get:9 http://archive.ubuntu.com/ubuntu xenial/main amd64 libedit2 amd64 3.1-20150325-1ubuntu2 [76.5 kB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxmuu1 amd64 2:1.1.2-2 [9674 B]
    Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-client amd64 1:7.2p2-4ubuntu2.6 [584 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial/main amd64 xauth amd64 1:1.0.9-1ubuntu2 [22.7 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 git-man all 1:2.7.4-0ubuntu1.5 [736 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 git amd64 1:2.7.4-0ubuntu1.5 [2714 kB]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 5087 kB in 8s (586 kB/s)
    Selecting previously unselected package libxau6:amd64.
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libxau6_1%3a1.0.8-1_amd64.deb ...
    Unpacking libxau6:amd64 (1:1.0.8-1) ...
    Selecting previously unselected package libxdmcp6:amd64.
    Preparing to unpack .../libxdmcp6_1%3a1.1.2-1.1_amd64.deb ...
    Unpacking libxdmcp6:amd64 (1:1.1.2-1.1) ...
    Selecting previously unselected package libxcb1:amd64.
    Preparing to unpack .../libxcb1_1.11.1-1ubuntu1_amd64.deb ...
    Unpacking libxcb1:amd64 (1.11.1-1ubuntu1) ...
    Selecting previously unselected package libx11-data.
    Preparing to unpack .../libx11-data_2%3a1.6.3-1ubuntu2.1_all.deb ...
    Unpacking libx11-data (2:1.6.3-1ubuntu2.1) ...
    Selecting previously unselected package libx11-6:amd64.
    Preparing to unpack .../libx11-6_2%3a1.6.3-1ubuntu2.1_amd64.deb ...
    Unpacking libx11-6:amd64 (2:1.6.3-1ubuntu2.1) ...
    Selecting previously unselected package libxext6:amd64.
    Preparing to unpack .../libxext6_2%3a1.3.3-1_amd64.deb ...
    Unpacking libxext6:amd64 (2:1.3.3-1) ...
    Selecting previously unselected package less.
    Preparing to unpack .../less_481-2.1ubuntu0.2_amd64.deb ...
    Unpacking less (481-2.1ubuntu0.2) ...
    Selecting previously unselected package libbsd0:amd64.
    Preparing to unpack .../libbsd0_0.8.2-1_amd64.deb ...
    Unpacking libbsd0:amd64 (0.8.2-1) ...
    Selecting previously unselected package libedit2:amd64.
    Preparing to unpack .../libedit2_3.1-20150325-1ubuntu2_amd64.deb ...
    Unpacking libedit2:amd64 (3.1-20150325-1ubuntu2) ...
    Selecting previously unselected package libxmuu1:amd64.
    Preparing to unpack .../libxmuu1_2%3a1.1.2-2_amd64.deb ...
    Unpacking libxmuu1:amd64 (2:1.1.2-2) ...
    Selecting previously unselected package openssh-client.
    Preparing to unpack .../openssh-client_1%3a7.2p2-4ubuntu2.6_amd64.deb ...
    Unpacking openssh-client (1:7.2p2-4ubuntu2.6) ...
    Selecting previously unselected package xauth.
    Preparing to unpack .../xauth_1%3a1.0.9-1ubuntu2_amd64.deb ...
    Unpacking xauth (1:1.0.9-1ubuntu2) ...
    Selecting previously unselected package liberror-perl.
    Preparing to unpack .../liberror-perl_0.17-1.2_all.deb ...
    Unpacking liberror-perl (0.17-1.2) ...
    Selecting previously unselected package git-man.
    Preparing to unpack .../git-man_1%3a2.7.4-0ubuntu1.5_all.deb ...
    Unpacking git-man (1:2.7.4-0ubuntu1.5) ...
    Selecting previously unselected package git.
    Preparing to unpack .../git_1%3a2.7.4-0ubuntu1.5_amd64.deb ...
    Unpacking git (1:2.7.4-0ubuntu1.5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Processing triggers for mime-support (3.59ubuntu1) ...
    Setting up libxau6:amd64 (1:1.0.8-1) ...
    Setting up libxdmcp6:amd64 (1:1.1.2-1.1) ...
    Setting up libxcb1:amd64 (1.11.1-1ubuntu1) ...
    Setting up libx11-data (2:1.6.3-1ubuntu2.1) ...
    Setting up libx11-6:amd64 (2:1.6.3-1ubuntu2.1) ...
    Setting up libxext6:amd64 (2:1.3.3-1) ...
    Setting up less (481-2.1ubuntu0.2) ...
    debconf: unable to initialize frontend: Dialog
    debconf: (TERM is not set, so the dialog frontend is not usable.)
    debconf: falling back to frontend: Readline
    Setting up libbsd0:amd64 (0.8.2-1) ...
    Setting up libedit2:amd64 (3.1-20150325-1ubuntu2) ...
    Setting up libxmuu1:amd64 (2:1.1.2-2) ...
    Setting up openssh-client (1:7.2p2-4ubuntu2.6) ...
    Setting up xauth (1:1.0.9-1ubuntu2) ...
    Setting up liberror-perl (0.17-1.2) ...
    Setting up git-man (1:2.7.4-0ubuntu1.5) ...
    Setting up git (1:2.7.4-0ubuntu1.5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Cloning into 'madmom'...
    Submodule 'madmom/models' (https://github.com/CPJKU/madmom_models.git) registered for path 'madmom/models'
    Cloning into 'madmom/models'...
    Submodule path 'madmom/models': checked out '31fe6ce52affb794c2e3511908fbeccfd68f6925'
    Requirement already satisfied: numpy>=1.13.4 in /usr/local/lib/python3.5/dist-packages (from -r requirements.txt (line 1)) (1.15.4)
    Requirement already satisfied: scipy>=0.16 in /usr/local/lib/python3.5/dist-packages (from -r requirements.txt (line 2)) (1.1.0)
    Collecting cython>=0.25 (from -r requirements.txt (line 3))
      Downloading https://files.pythonhosted.org/packages/a3/ab/29206c2fd58d62f76f80cfe74f44d0ea8a2733d467693f6bdb0f4c7413ed/Cython-0.29-cp35-cp35m-manylinux1_x86_64.whl (2.0MB)
    Collecting mido>=1.2.8 (from -r requirements.txt (line 4))
      Downloading https://files.pythonhosted.org/packages/20/0a/81beb587b1ae832ea6a1901dc7c6faa380e8dd154e0a862f0a9f3d2afab9/mido-1.2.9-py2.py3-none-any.whl (52kB)
    Collecting pyfftw>=0.10.4 (from -r requirements.txt (line 5))
      Downloading https://files.pythonhosted.org/packages/c2/2e/b25edc6960fc837e915eb1b38e5f0e3013e32e90aff14a1d0f4556b3d145/pyFFTW-0.10.4.tar.gz (365kB)
    Building wheels for collected packages: pyfftw
      Running setup.py bdist_wheel for pyfftw: started
      Running setup.py bdist_wheel for pyfftw: finished with status 'error'
      Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-2lvg_k0f/pyfftw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-damlco8q --python-tag cp35:
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.5
      creating build/lib.linux-x86_64-3.5/pyfftw
      copying pyfftw/version.py -> build/lib.linux-x86_64-3.5/pyfftw
      copying pyfftw/__init__.py -> build/lib.linux-x86_64-3.5/pyfftw
      creating build/lib.linux-x86_64-3.5/pyfftw/builders
      copying pyfftw/builders/builders.py -> build/lib.linux-x86_64-3.5/pyfftw/builders
      copying pyfftw/builders/__init__.py -> build/lib.linux-x86_64-3.5/pyfftw/builders
      copying pyfftw/builders/_utils.py -> build/lib.linux-x86_64-3.5/pyfftw/builders
      creating build/lib.linux-x86_64-3.5/pyfftw/interfaces
      copying pyfftw/interfaces/numpy_fft.py -> build/lib.linux-x86_64-3.5/pyfftw/interfaces
      copying pyfftw/interfaces/scipy_fftpack.py -> build/lib.linux-x86_64-3.5/pyfftw/interfaces
      copying pyfftw/interfaces/cache.py -> build/lib.linux-x86_64-3.5/pyfftw/interfaces
      copying pyfftw/interfaces/__init__.py -> build/lib.linux-x86_64-3.5/pyfftw/interfaces
      copying pyfftw/interfaces/_utils.py -> build/lib.linux-x86_64-3.5/pyfftw/interfaces
      running build_ext
      building 'pyfftw.pyfftw' extension
      creating build/temp.linux-x86_64-3.5
      creating build/temp.linux-x86_64-3.5/tmp
      creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f
      creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw
      creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw
      x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pip-install-2lvg_k0f/pyfftw/include -I/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c -o build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.o
      In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                       from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                       from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                       from /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c:268:
      /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
       #warning "Using deprecated NumPy API, disable it by " \
        ^
      /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c:272:19: fatal error: fftw3.h: No such file or directory
      compilation terminated.
      error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
      ----------------------------------------
      Failed building wheel for pyfftw
      Running setup.py clean for pyfftw
    Failed to build pyfftw
    Installing collected packages: cython, mido, pyfftw
      Running setup.py install for pyfftw: started
        Running setup.py install for pyfftw: finished with status 'error'
        Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-2lvg_k0f/pyfftw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-t_2iq6k2/install-record.txt --single-version-externally-managed --compile:
        Compiling /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.pyx because it depends on /usr/local/lib/python3.5/dist-packages/Cython/Includes/numpy/__init__.pxd.
        [1/1] Cythonizing /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.pyx
        /usr/local/lib/python3.5/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.pxd
          tree = Parsing.p_module(s, pxd, full_module_name)
        running install
        running build
        running build_py
        running build_ext
        building 'pyfftw.pyfftw' extension
        creating build/temp.linux-x86_64-3.5
        creating build/temp.linux-x86_64-3.5/tmp
        creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f
        creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw
        creating build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw
        x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pip-install-2lvg_k0f/pyfftw/include -I/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c -o build/temp.linux-x86_64-3.5/tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.o
        In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                         from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                         from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                         from /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c:641:
        /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
         #warning "Using deprecated NumPy API, disable it by " \
          ^
        /tmp/pip-install-2lvg_k0f/pyfftw/pyfftw/pyfftw.c:645:19: fatal error: fftw3.h: No such file or directory
        compilation terminated.
        error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
        ----------------------------------------
    Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-2lvg_k0f/pyfftw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-t_2iq6k2/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-2lvg_k0f/pyfftw/
    The command '/bin/sh -c apt-get update &&     apt-get -y upgrade &&     apt-get install -y git &&     git clone --recursive https://github.com/CPJKU/madmom.git &&     cd madmom &&     pip install -r requirements.txt &&     python setup.py develop --user' returned a non-zero code: 1
    

    Other attempt

    Since most of the dependencies are already satisfied in the Tensorflow image, I tried only installing cython before trying to install madmom. Using this Dockerfile:

    FROM tensorflow/tensorflow:latest-py3
    WORKDIR /app
    
    RUN apt-get update && \
        apt-get -y upgrade && \
        apt-get install -y git && \
        git clone --recursive https://github.com/CPJKU/madmom.git && \
        cd madmom && \
        pip install cython && \
        python setup.py develop --user
    

    the installation fails with the error UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1214: ordinal not in range(128). I get the following output:

    Sending build context to Docker daemon  874.5kB
    Step 1/3 : FROM tensorflow/tensorflow:latest-py3
     ---> 39bcb324db83
    Step 2/3 : WORKDIR /app
     ---> Using cache
     ---> 6423d58e2d99
    Step 3/3 : RUN apt-get update &&     apt-get -y upgrade &&     apt-get install -y git &&     git clone --recursive https://github.com/CPJKU/madmom.git &&     cd madmom &&     pip install cython &&     python setup.py develop --user
     ---> Running in 78e0e7423020
    Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
    Get:2 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
    Get:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [745 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
    Get:7 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
    Get:8 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [506 kB]
    Get:9 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
    Get:11 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [4027 B]
    Get:12 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1139 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [906 kB]
    Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.0 kB]
    Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7959 B]
    Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8532 B]
    Fetched 15.5 MB in 11s (1341 kB/s)
    Reading package lists...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    Calculating upgrade...
    The following packages will be upgraded:
      apt dpkg libapt-pkg5.0 libkmod2 libpython3.5 libpython3.5-dev
      libpython3.5-minimal libpython3.5-stdlib libsystemd0 libudev1 linux-libc-dev
      python3.5 python3.5-dev python3.5-minimal systemd systemd-sysv
    16 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 52.3 MB of archives.
    After this operation, 21.5 kB of additional disk space will be used.
    Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.5 [2085 kB]
    Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libapt-pkg5.0 amd64 1.2.29 [707 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt amd64 1.2.29 [1041 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libkmod2 amd64 22-1ubuntu5.1 [39.8 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libsystemd0 amd64 229-4ubuntu21.8 [204 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd amd64 229-4ubuntu21.8 [3775 kB]
    Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd-sysv amd64 229-4ubuntu21.8 [11.6 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-dev amd64 3.5.2-2ubuntu0~16.04.5 [413 kB]
    Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-dev amd64 3.5.2-2ubuntu0~16.04.5 [37.3 MB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5 amd64 3.5.2-2ubuntu0~16.04.5 [1360 kB]
    Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5 amd64 3.5.2-2ubuntu0~16.04.5 [165 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.5 [2134 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-minimal amd64 3.5.2-2ubuntu0~16.04.5 [1598 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.5 [524 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libudev1 amd64 229-4ubuntu21.8 [54.1 kB]
    Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-139.165 [862 kB]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 52.3 MB in 21s (2432 kB/s)
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../dpkg_1.18.4ubuntu1.5_amd64.deb ...
    Unpacking dpkg (1.18.4ubuntu1.5) over (1.18.4ubuntu1.4) ...
    Setting up dpkg (1.18.4ubuntu1.5) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libapt-pkg5.0_1.2.29_amd64.deb ...
    Unpacking libapt-pkg5.0:amd64 (1.2.29) over (1.2.27) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libapt-pkg5.0:amd64 (1.2.29) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../archives/apt_1.2.29_amd64.deb ...
    Unpacking apt (1.2.29) over (1.2.27) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up apt (1.2.29) ...
    Installing new version of config file /etc/apt/apt.conf.d/01autoremove ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libkmod2_22-1ubuntu5.1_amd64.deb ...
    Unpacking libkmod2:amd64 (22-1ubuntu5.1) over (22-1ubuntu5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libkmod2:amd64 (22-1ubuntu5.1) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libsystemd0_229-4ubuntu21.8_amd64.deb ...
    Unpacking libsystemd0:amd64 (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Setting up libsystemd0:amd64 (229-4ubuntu21.8) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../systemd_229-4ubuntu21.8_amd64.deb ...
    Unpacking systemd (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Setting up systemd (229-4ubuntu21.8) ...
    Initializing machine ID from random generator.
    addgroup: The group `systemd-journal' already exists as a system group. Exiting.
    Operation failed: No such file or directory
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../systemd-sysv_229-4ubuntu21.8_amd64.deb ...
    Unpacking systemd-sysv (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Setting up systemd-sysv (229-4ubuntu21.8) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../python3.5-dev_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5-dev (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-dev_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../python3.5_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../python3.5-minimal_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking python3.5-minimal (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libpython3.5-minimal_3.5.2-2ubuntu0~16.04.5_amd64.deb ...
    Unpacking libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.5) over (3.5.2-2ubuntu0~16.04.4) ...
    Preparing to unpack .../libudev1_229-4ubuntu21.8_amd64.deb ...
    Unpacking libudev1:amd64 (229-4ubuntu21.8) over (229-4ubuntu21.4) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Processing triggers for mime-support (3.59ubuntu1) ...
    Setting up libudev1:amd64 (229-4ubuntu21.8) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../linux-libc-dev_4.4.0-139.165_amd64.deb ...
    Unpacking linux-libc-dev:amd64 (4.4.0-139.165) over (4.4.0-138.164) ...
    Setting up libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5-minimal (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.5) ...
    Setting up python3.5-dev (3.5.2-2ubuntu0~16.04.5) ...
    Setting up linux-libc-dev:amd64 (4.4.0-139.165) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following additional packages will be installed:
      git-man less libbsd0 libedit2 liberror-perl libx11-6 libx11-data libxau6
      libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client xauth
    Suggested packages:
      gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email
      git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn ssh-askpass
      libpam-ssh keychain monkeysphere
    The following NEW packages will be installed:
      git git-man less libbsd0 libedit2 liberror-perl libx11-6 libx11-data libxau6
      libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client xauth
    0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
    Need to get 5087 kB of archives.
    After this operation, 33.6 MB of additional disk space will be used.
    Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B]
    Get:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxdmcp6 amd64 1:1.1.2-1.1 [11.0 kB]
    Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxcb1 amd64 1.11.1-1ubuntu1 [40.0 kB]
    Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-data all 2:1.6.3-1ubuntu2.1 [113 kB]
    Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-6 amd64 2:1.6.3-1ubuntu2.1 [570 kB]
    Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB]
    Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 less amd64 481-2.1ubuntu0.2 [110 kB]
    Get:8 http://archive.ubuntu.com/ubuntu xenial/main amd64 libbsd0 amd64 0.8.2-1 [41.7 kB]
    Get:9 http://archive.ubuntu.com/ubuntu xenial/main amd64 libedit2 amd64 3.1-20150325-1ubuntu2 [76.5 kB]
    Get:10 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxmuu1 amd64 2:1.1.2-2 [9674 B]
    Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-client amd64 1:7.2p2-4ubuntu2.6 [584 kB]
    Get:12 http://archive.ubuntu.com/ubuntu xenial/main amd64 xauth amd64 1:1.0.9-1ubuntu2 [22.7 kB]
    Get:13 http://archive.ubuntu.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
    Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 git-man all 1:2.7.4-0ubuntu1.5 [736 kB]
    Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 git amd64 1:2.7.4-0ubuntu1.5 [2714 kB]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 5087 kB in 2s (1994 kB/s)
    Selecting previously unselected package libxau6:amd64.
    (Reading database ... 12733 files and directories currently installed.)
    Preparing to unpack .../libxau6_1%3a1.0.8-1_amd64.deb ...
    Unpacking libxau6:amd64 (1:1.0.8-1) ...
    Selecting previously unselected package libxdmcp6:amd64.
    Preparing to unpack .../libxdmcp6_1%3a1.1.2-1.1_amd64.deb ...
    Unpacking libxdmcp6:amd64 (1:1.1.2-1.1) ...
    Selecting previously unselected package libxcb1:amd64.
    Preparing to unpack .../libxcb1_1.11.1-1ubuntu1_amd64.deb ...
    Unpacking libxcb1:amd64 (1.11.1-1ubuntu1) ...
    Selecting previously unselected package libx11-data.
    Preparing to unpack .../libx11-data_2%3a1.6.3-1ubuntu2.1_all.deb ...
    Unpacking libx11-data (2:1.6.3-1ubuntu2.1) ...
    Selecting previously unselected package libx11-6:amd64.
    Preparing to unpack .../libx11-6_2%3a1.6.3-1ubuntu2.1_amd64.deb ...
    Unpacking libx11-6:amd64 (2:1.6.3-1ubuntu2.1) ...
    Selecting previously unselected package libxext6:amd64.
    Preparing to unpack .../libxext6_2%3a1.3.3-1_amd64.deb ...
    Unpacking libxext6:amd64 (2:1.3.3-1) ...
    Selecting previously unselected package less.
    Preparing to unpack .../less_481-2.1ubuntu0.2_amd64.deb ...
    Unpacking less (481-2.1ubuntu0.2) ...
    Selecting previously unselected package libbsd0:amd64.
    Preparing to unpack .../libbsd0_0.8.2-1_amd64.deb ...
    Unpacking libbsd0:amd64 (0.8.2-1) ...
    Selecting previously unselected package libedit2:amd64.
    Preparing to unpack .../libedit2_3.1-20150325-1ubuntu2_amd64.deb ...
    Unpacking libedit2:amd64 (3.1-20150325-1ubuntu2) ...
    Selecting previously unselected package libxmuu1:amd64.
    Preparing to unpack .../libxmuu1_2%3a1.1.2-2_amd64.deb ...
    Unpacking libxmuu1:amd64 (2:1.1.2-2) ...
    Selecting previously unselected package openssh-client.
    Preparing to unpack .../openssh-client_1%3a7.2p2-4ubuntu2.6_amd64.deb ...
    Unpacking openssh-client (1:7.2p2-4ubuntu2.6) ...
    Selecting previously unselected package xauth.
    Preparing to unpack .../xauth_1%3a1.0.9-1ubuntu2_amd64.deb ...
    Unpacking xauth (1:1.0.9-1ubuntu2) ...
    Selecting previously unselected package liberror-perl.
    Preparing to unpack .../liberror-perl_0.17-1.2_all.deb ...
    Unpacking liberror-perl (0.17-1.2) ...
    Selecting previously unselected package git-man.
    Preparing to unpack .../git-man_1%3a2.7.4-0ubuntu1.5_all.deb ...
    Unpacking git-man (1:2.7.4-0ubuntu1.5) ...
    Selecting previously unselected package git.
    Preparing to unpack .../git_1%3a2.7.4-0ubuntu1.5_amd64.deb ...
    Unpacking git (1:2.7.4-0ubuntu1.5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Processing triggers for mime-support (3.59ubuntu1) ...
    Setting up libxau6:amd64 (1:1.0.8-1) ...
    Setting up libxdmcp6:amd64 (1:1.1.2-1.1) ...
    Setting up libxcb1:amd64 (1.11.1-1ubuntu1) ...
    Setting up libx11-data (2:1.6.3-1ubuntu2.1) ...
    Setting up libx11-6:amd64 (2:1.6.3-1ubuntu2.1) ...
    Setting up libxext6:amd64 (2:1.3.3-1) ...
    Setting up less (481-2.1ubuntu0.2) ...
    debconf: unable to initialize frontend: Dialog
    debconf: (TERM is not set, so the dialog frontend is not usable.)
    debconf: falling back to frontend: Readline
    Setting up libbsd0:amd64 (0.8.2-1) ...
    Setting up libedit2:amd64 (3.1-20150325-1ubuntu2) ...
    Setting up libxmuu1:amd64 (2:1.1.2-2) ...
    Setting up openssh-client (1:7.2p2-4ubuntu2.6) ...
    Setting up xauth (1:1.0.9-1ubuntu2) ...
    Setting up liberror-perl (0.17-1.2) ...
    Setting up git-man (1:2.7.4-0ubuntu1.5) ...
    Setting up git (1:2.7.4-0ubuntu1.5) ...
    Processing triggers for libc-bin (2.23-0ubuntu10) ...
    Cloning into 'madmom'...
    Submodule 'madmom/models' (https://github.com/CPJKU/madmom_models.git) registered for path 'madmom/models'
    Cloning into 'madmom/models'...
    Submodule path 'madmom/models': checked out '31fe6ce52affb794c2e3511908fbeccfd68f6925'
    Collecting cython
      Downloading https://files.pythonhosted.org/packages/a3/ab/29206c2fd58d62f76f80cfe74f44d0ea8a2733d467693f6bdb0f4c7413ed/Cython-0.29-cp35-cp35m-manylinux1_x86_64.whl (2.0MB)
    Installing collected packages: cython
    Successfully installed cython-0.29
    Compiling madmom/audio/comb_filters.pyx because it changed.
    Compiling madmom/features/beats_crf.pyx because it changed.
    Compiling madmom/ml/hmm.pyx because it changed.
    Compiling madmom/ml/nn/layers.py because it changed.
    [1/4] Cythonizing madmom/audio/comb_filters.pyx
    [2/4] Cythonizing madmom/features/beats_crf.pyx
    [3/4] Cythonizing madmom/ml/hmm.pyx
    [4/4] Cythonizing madmom/ml/nn/layers.py
    running develop
    running egg_info
    creating madmom.egg-info
    writing requirements to madmom.egg-info/requires.txt
    writing madmom.egg-info/PKG-INFO
    writing dependency_links to madmom.egg-info/dependency_links.txt
    writing top-level names to madmom.egg-info/top_level.txt
    writing manifest file 'madmom.egg-info/SOURCES.txt'
    reading manifest file 'madmom.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    /usr/local/lib/python3.5/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /app/madmom/madmom/audio/comb_filters.pyx
      tree = Parsing.p_module(s, pxd, full_module_name)
    /usr/local/lib/python3.5/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /app/madmom/madmom/features/beats_crf.pyx
      tree = Parsing.p_module(s, pxd, full_module_name)
    /usr/local/lib/python3.5/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /app/madmom/madmom/ml/hmm.pyx
      tree = Parsing.p_module(s, pxd, full_module_name)
    /usr/local/lib/python3.5/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /app/madmom/madmom/ml/nn/layers.pxd
      tree = Parsing.p_module(s, pxd, full_module_name)
    no previously-included directories found matching 'docs'
    no previously-included directories found matching 'tests'
    writing manifest file 'madmom.egg-info/SOURCES.txt'
    running build_ext
    building 'madmom.audio.comb_filters' extension
    creating build
    creating build/temp.linux-x86_64-3.5
    creating build/temp.linux-x86_64-3.5/madmom
    creating build/temp.linux-x86_64-3.5/madmom/audio
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c madmom/audio/comb_filters.c -o build/temp.linux-x86_64-3.5/madmom/audio/comb_filters.o
    In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from madmom/audio/comb_filters.c:629:
    /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/madmom/audio/comb_filters.o -o /app/madmom/madmom/audio/comb_filters.cpython-35m-x86_64-linux-gnu.so
    building 'madmom.features.beats_crf' extension
    creating build/temp.linux-x86_64-3.5/madmom/features
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c madmom/features/beats_crf.c -o build/temp.linux-x86_64-3.5/madmom/features/beats_crf.o
    In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from madmom/features/beats_crf.c:630:
    /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    madmom/features/beats_crf.c: In function '__pyx_pw_6madmom_8features_9beats_crf_9viterbi':
    madmom/features/beats_crf.c:4603:86: warning: '__pyx_v_next_state' may be used uninitialized in this function [-Wmaybe-uninitialized]
       *((long *) ( /* dim=0 */ ((char *) (((long *) __pyx_v_path.data) + __pyx_t_37)) )) = __pyx_v_next_state;
                                                                                          ^
    madmom/features/beats_crf.c:4107:7: note: '__pyx_v_next_state' was declared here
       int __pyx_v_next_state;
           ^
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/madmom/features/beats_crf.o -o /app/madmom/madmom/features/beats_crf.cpython-35m-x86_64-linux-gnu.so
    building 'madmom.ml.hmm' extension
    creating build/temp.linux-x86_64-3.5/madmom/ml
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c madmom/ml/hmm.c -o build/temp.linux-x86_64-3.5/madmom/ml/hmm.o
    In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from madmom/ml/hmm.c:630:
    /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    madmom/ml/hmm.c: In function '__pyx_gb_6madmom_2ml_3hmm_17HiddenMarkovModel_14generator':
    madmom/ml/hmm.c:8598:33: warning: '__pyx_t_31' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_14 = __pyx_t_31;
                                     ^
    madmom/ml/hmm.c:8597:33: warning: '__pyx_t_30' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_13 = __pyx_t_30;
                                     ^
    madmom/ml/hmm.c:8596:33: warning: '__pyx_t_29' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_12 = __pyx_t_29;
                                     ^
    madmom/ml/hmm.c:8595:33: warning: '__pyx_t_28' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_11 = __pyx_t_28;
                                     ^
    madmom/ml/hmm.c:8594:33: warning: '__pyx_t_27' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_10 = __pyx_t_27;
                                     ^
    madmom/ml/hmm.c:8593:32: warning: '__pyx_t_26' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_9 = __pyx_t_26;
                                    ^
    madmom/ml/hmm.c:8592:32: warning: '__pyx_t_25' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_8 = __pyx_t_25;
                                    ^
    madmom/ml/hmm.c:8591:32: warning: '__pyx_t_24' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_7 = __pyx_t_24;
                                    ^
    madmom/ml/hmm.c:8590:32: warning: '__pyx_t_23' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_6 = __pyx_t_23;
                                    ^
    madmom/ml/hmm.c:8589:32: warning: '__pyx_t_22' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_5 = __pyx_t_22;
                                    ^
    madmom/ml/hmm.c:8588:32: warning: '__pyx_t_19' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_4 = __pyx_t_19;
                                    ^
    madmom/ml/hmm.c:8587:32: warning: '__pyx_t_17' may be used uninitialized in this function [-Wmaybe-uninitialized]
         __pyx_cur_scope->__pyx_t_3 = __pyx_t_17;
                                    ^
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/madmom/ml/hmm.o -o /app/madmom/madmom/ml/hmm.cpython-35m-x86_64-linux-gnu.so
    building 'madmom.ml.nn.layers' extension
    creating build/temp.linux-x86_64-3.5/madmom/ml/nn
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/numpy/core/include -I/usr/include/python3.5m -c madmom/ml/nn/layers.c -o build/temp.linux-x86_64-3.5/madmom/ml/nn/layers.o
    In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1821:0,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                     from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from madmom/ml/nn/layers.c:625:
    /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/madmom/ml/nn/layers.o -o /app/madmom/madmom/ml/nn/layers.cpython-35m-x86_64-linux-gnu.so
    Creating /root/.local/lib/python3.5/site-packages/madmom.egg-link (link to .)
    Adding madmom 0.17.dev0 to easy-install.pth file
    Traceback (most recent call last):
      File "setup.py", line 97, in <module>
        classifiers=classifiers)
      File "/usr/local/lib/python3.5/dist-packages/setuptools/__init__.py", line 140, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.5/dist-packages/setuptools/command/develop.py", line 38, in run
        self.install_for_development()
      File "/usr/local/lib/python3.5/dist-packages/setuptools/command/develop.py", line 154, in install_for_development
        self.process_distribution(None, self.dist, not self.no_deps)
      File "/usr/local/lib/python3.5/dist-packages/setuptools/command/easy_install.py", line 729, in process_distribution
        self.install_egg_scripts(dist)
      File "/usr/local/lib/python3.5/dist-packages/setuptools/command/develop.py", line 189, in install_egg_scripts
        script_text = strm.read()
      File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1214: ordinal not in range(128)
    The command '/bin/sh -c apt-get update &&     apt-get -y upgrade &&     apt-get install -y git &&     git clone --recursive https://github.com/CPJKU/madmom.git &&     cd madmom &&     pip install cython &&     python setup.py develop --user' returned a non-zero code: 1
    

    Steps needed to reproduce the behaviour

    Create a Dockerfile with the above contents, build with docker build ..

    Information about installed software

    The image is running Ubuntu 16.04.5 LTS and Python 3.5.2. The following packages come pre-installed:

    # pip list
    Package             Version
    ------------------- ----------------------
    absl-py             0.6.1
    astor               0.7.1
    backcall            0.1.0
    bleach              3.0.2
    cycler              0.10.0
    Cython              0.29
    decorator           4.3.0
    defusedxml          0.5.0
    entrypoints         0.2.3
    gast                0.2.0
    grpcio              1.16.0
    h5py                2.8.0
    ipykernel           5.1.0
    ipython             7.1.1
    ipython-genutils    0.2.0
    ipywidgets          7.4.2
    jedi                0.13.1
    Jinja2              2.10
    jsonschema          2.6.0
    jupyter             1.0.0
    jupyter-client      5.2.3
    jupyter-console     6.0.0
    jupyter-core        4.4.0
    Keras-Applications  1.0.6
    Keras-Preprocessing 1.0.5
    kiwisolver          1.0.1
    Markdown            3.0.1
    MarkupSafe          1.1.0
    matplotlib          3.0.1
    mistune             0.8.4
    nbconvert           5.4.0
    nbformat            4.4.0
    notebook            5.7.0
    numpy               1.15.4
    pandas              0.23.4
    pandocfilters       1.4.2
    parso               0.3.1
    pexpect             4.6.0
    pickleshare         0.7.5
    Pillow              5.3.0
    pip                 18.1
    prometheus-client   0.4.2
    prompt-toolkit      2.0.7
    protobuf            3.6.1
    ptyprocess          0.6.0
    pycurl              7.43.0
    Pygments            2.2.0
    pygobject           3.20.0
    pyparsing           2.3.0
    python-apt          1.1.0b1+ubuntu0.16.4.2
    python-dateutil     2.7.5
    pytz                2018.7
    pyzmq               17.1.2
    qtconsole           4.4.2
    scikit-learn        0.20.0
    scipy               1.1.0
    Send2Trash          1.5.0
    setuptools          40.5.0
    six                 1.11.0
    sklearn             0.0
    tensorboard         1.12.0
    tensorflow          1.12.0
    termcolor           1.1.0
    terminado           0.8.1
    testpath            0.4.2
    tornado             5.1.1
    traitlets           4.3.2
    wcwidth             0.1.7
    webencodings        0.5.1
    Werkzeug            0.14.1
    wheel               0.32.2
    widgetsnbextension  3.4.2
    
    opened by lnfiniteMonkeys 25
  • pip install madmom fails on Windows

    pip install madmom fails on Windows

    Hi,

    I tried to install madmom as described in the user guide but it fails with a compiler error: C:\Users\michael.stein>pip install madmom madmom/features\beats_crf.c(3832) : error C2065: 'INFINITY' : undeclared identifier madmom/features\beats_crf.c(3967) : error C2065: 'INFINITY' : undeclared identifier

    Full output is pasted below

    Best, Michael

    Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\michael.stein>pip install madmom Collecting madmom Using cached madmom-0.13.2.tar.gz Building wheels for collected packages: madmom Running setup.py bdist_wheel for madmom ... error Complete output from command c:\users\michael.stein\anaconda2\python.exe -u -c "import setuptools, tokenize;file=' c:\users\michae~1.ste\appdata\local\temp\pip-build-dijxcx\madmom\setup.py';exec(compile(getattr(tokenize, 'open' , open)(file).read().replace('\r\n', '\n'), file, 'exec'))" bdist_wheel -d c:\users\michae~1.ste\appdata\local\t emp\tmp8ropqmpip-wheel- --python-tag cp27: running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-2.7 creating build\lib.win-amd64-2.7\madmom copying madmom\processors.py -> build\lib.win-amd64-2.7\madmom copying madmom__init__.py -> build\lib.win-amd64-2.7\madmom creating build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\ffmpeg.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\filters.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\signal.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\spectrogram.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\stft.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio__init__.py -> build\lib.win-amd64-2.7\madmom\audio creating build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\alignment.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\beats.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\notes.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\onsets.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\tempo.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation__init__.py -> build\lib.win-amd64-2.7\madmom\evaluation creating build\lib.win-amd64-2.7\madmom\features copying madmom\features\beats.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\beats_hmm.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\notes.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\onsets.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\tempo.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features__init__.py -> build\lib.win-amd64-2.7\madmom\features creating build\lib.win-amd64-2.7\madmom\ml copying madmom\ml\gmm.py -> build\lib.win-amd64-2.7\madmom\ml copying madmom\ml\rnn.py -> build\lib.win-amd64-2.7\madmom\ml copying madmom\ml__init__.py -> build\lib.win-amd64-2.7\madmom\ml creating build\lib.win-amd64-2.7\madmom\utils copying madmom\utils\midi.py -> build\lib.win-amd64-2.7\madmom\utils copying madmom\utils__init__.py -> build\lib.win-amd64-2.7\madmom\utils creating build\lib.win-amd64-2.7\madmom\models copying madmom\models\LICENSE -> build\lib.win-amd64-2.7\madmom\models copying madmom\models\README.rst -> build\lib.win-amd64-2.7\madmom\models creating build\lib.win-amd64-2.7\madmom\models\beats creating build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_1.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_2.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_3.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_4.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_5.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_6.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_7.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_8.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 creating build\lib.win-amd64-2.7\madmom\models\notes creating build\lib.win-amd64-2.7\madmom\models\notes\2013 copying madmom\models\notes\2013\notes_brnn.npz -> build\lib.win-amd64-2.7\madmom\models\notes\2013 creating build\lib.win-amd64-2.7\madmom\models\onsets creating build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 creating build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 creating build\lib.win-amd64-2.7\madmom\models\patterns creating build\lib.win-amd64-2.7\madmom\models\patterns\2013 copying madmom\models\patterns\2013\ballroom_pattern_3_4.pkl -> build\lib.win-amd64-2.7\madmom\models\patterns\2013 copying madmom\models\patterns\2013\ballroom_pattern_4_4.pkl -> build\lib.win-amd64-2.7\madmom\models\patterns\2013 running build_ext cythoning madmom/ml/rnn.py to madmom/ml\rnn.c building 'madmom.ml.rnn' extension creating build\temp.win-amd64-2.7 creating build\temp.win-amd64-2.7\Release creating build\temp.win-amd64-2.7\Release\madmom creating build\temp.win-amd64-2.7\Release\madmom\ml C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users \michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mich ael.stein\anaconda2\PC /Tcmadmom/ml\rnn.c /Fobuild\temp.win-amd64-2.7\Release\madmom/ml\rnn.obj rnn.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg : Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\user s\michael.stein\anaconda2\libs /LIBPATH:c:\users\michael.stein\anaconda2\PCbuild\amd64 /LIBPATH:c:\users\michael.stein\a naconda2\PC\VS9.0\amd64 /EXPORT:initrnn build\temp.win-amd64-2.7\Release\madmom/ml\rnn.obj /OUT:build\lib.win-amd64-2.7
    madmom\ml\rnn.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\madmom/ml\rnn.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Rele ase\madmom/ml\rnn.pyd.manifest rnn.obj : warning LNK4197: export 'initrnn' specified multiple times; using first specification Creating library build\temp.win-amd64-2.7\Release\madmom/ml\rnn.lib and object build\temp.win-amd64-2.7\Release\mad mom/ml\rnn.exp cythoning madmom/audio/comb_filters.pyx to madmom/audio\comb_filters.c building 'madmom.audio.comb_filters' extension creating build\temp.win-amd64-2.7\Release\madmom\audio C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users \michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mich ael.stein\anaconda2\PC /Tcmadmom/audio\comb_filters.c /Fobuild\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.obj comb_filters.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg : Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\user s\michael.stein\anaconda2\libs /LIBPATH:c:\users\michael.stein\anaconda2\PCbuild\amd64 /LIBPATH:c:\users\michael.stein\a naconda2\PC\VS9.0\amd64 /EXPORT:initcomb_filters build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.obj /OUT:bui ld\lib.win-amd64-2.7\madmom\audio\comb_filters.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.li b /MANIFESTFILE:build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.pyd.manifest comb_filters.obj : warning LNK4197: export 'initcomb_filters' specified multiple times; using first specification Creating library build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.lib and object build\temp.win-amd64-2.7 \Release\madmom/audio\comb_filters.exp cythoning madmom/features/beats_crf.pyx to madmom/features\beats_crf.c building 'madmom.features.beats_crf' extension creating build\temp.win-amd64-2.7\Release\madmom\features C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users \michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mich ael.stein\anaconda2\PC /Tcmadmom/features\beats_crf.c /Fobuild\temp.win-amd64-2.7\Release\madmom/features\beats_crf.obj beats_crf.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg : Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION madmom/features\beats_crf.c(3598) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of data madmom/features\beats_crf.c(3607) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of data madmom/features\beats_crf.c(3832) : error C2065: 'INFINITY' : undeclared identifier madmom/features\beats_crf.c(3832) : warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data madmom/features\beats_crf.c(3903) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data madmom/features\beats_crf.c(3967) : error C2065: 'INFINITY' : undeclared identifier madmom/features\beats_crf.c(19964) : warning C4293: '<<' : shift count negative or too big, undefined behavior error: command 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe' failed with exit status 2


    Failed building wheel for madmom Running setup.py clean for madmom Failed to build madmom Installing collected packages: madmom Running setup.py install for madmom ... error Complete output from command c:\users\michael.stein\anaconda2\python.exe -u -c "import setuptools, tokenize;file ='c:\users\michae~1.ste\appdata\local\temp\pip-build-dijxcx\madmom\setup.py';exec(compile(getattr(tokenize, 'ope n', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record c:\users\michae~1.ste\appdata\loc al\temp\pip-aeif22-record\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-2.7 creating build\lib.win-amd64-2.7\madmom copying madmom\processors.py -> build\lib.win-amd64-2.7\madmom copying madmom__init__.py -> build\lib.win-amd64-2.7\madmom creating build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\ffmpeg.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\filters.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\signal.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\spectrogram.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio\stft.py -> build\lib.win-amd64-2.7\madmom\audio copying madmom\audio__init__.py -> build\lib.win-amd64-2.7\madmom\audio creating build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\alignment.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\beats.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\notes.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\onsets.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation\tempo.py -> build\lib.win-amd64-2.7\madmom\evaluation copying madmom\evaluation__init__.py -> build\lib.win-amd64-2.7\madmom\evaluation creating build\lib.win-amd64-2.7\madmom\features copying madmom\features\beats.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\beats_hmm.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\notes.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\onsets.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features\tempo.py -> build\lib.win-amd64-2.7\madmom\features copying madmom\features__init__.py -> build\lib.win-amd64-2.7\madmom\features creating build\lib.win-amd64-2.7\madmom\ml copying madmom\ml\gmm.py -> build\lib.win-amd64-2.7\madmom\ml copying madmom\ml\rnn.py -> build\lib.win-amd64-2.7\madmom\ml copying madmom\ml__init__.py -> build\lib.win-amd64-2.7\madmom\ml creating build\lib.win-amd64-2.7\madmom\utils copying madmom\utils\midi.py -> build\lib.win-amd64-2.7\madmom\utils copying madmom\utils__init__.py -> build\lib.win-amd64-2.7\madmom\utils creating build\lib.win-amd64-2.7\madmom\models copying madmom\models\LICENSE -> build\lib.win-amd64-2.7\madmom\models copying madmom\models\README.rst -> build\lib.win-amd64-2.7\madmom\models creating build\lib.win-amd64-2.7\madmom\models\beats creating build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_1.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_2.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_3.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_4.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_5.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_6.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_7.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 copying madmom\models\beats\2013\beats_blstm_8.npz -> build\lib.win-amd64-2.7\madmom\models\beats\2013 creating build\lib.win-amd64-2.7\madmom\models\notes creating build\lib.win-amd64-2.7\madmom\models\notes\2013 copying madmom\models\notes\2013\notes_brnn.npz -> build\lib.win-amd64-2.7\madmom\models\notes\2013 creating build\lib.win-amd64-2.7\madmom\models\onsets creating build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_brnn_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 copying madmom\models\onsets\2013\onsets_rnn_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2013 creating build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_1.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_2.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_3.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_4.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_5.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_6.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_7.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 copying madmom\models\onsets\2014\onsets_brnn_pp_8.npz -> build\lib.win-amd64-2.7\madmom\models\onsets\2014 creating build\lib.win-amd64-2.7\madmom\models\patterns creating build\lib.win-amd64-2.7\madmom\models\patterns\2013 copying madmom\models\patterns\2013\ballroom_pattern_3_4.pkl -> build\lib.win-amd64-2.7\madmom\models\patterns\2013 copying madmom\models\patterns\2013\ballroom_pattern_4_4.pkl -> build\lib.win-amd64-2.7\madmom\models\patterns\2013 running build_ext skipping 'madmom/ml\rnn.c' Cython extension (up-to-date) building 'madmom.ml.rnn' extension creating build\temp.win-amd64-2.7 creating build\temp.win-amd64-2.7\Release creating build\temp.win-amd64-2.7\Release\madmom creating build\temp.win-amd64-2.7\Release\madmom\ml C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\use rs\michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mi chael.stein\anaconda2\PC /Tcmadmom/ml\rnn.c /Fobuild\temp.win-amd64-2.7\Release\madmom/ml\rnn.obj rnn.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning M sg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\us ers\michael.stein\anaconda2\libs /LIBPATH:c:\users\michael.stein\anaconda2\PCbuild\amd64 /LIBPATH:c:\users\michael.stein \anaconda2\PC\VS9.0\amd64 /EXPORT:initrnn build\temp.win-amd64-2.7\Release\madmom/ml\rnn.obj /OUT:build\lib.win-amd64-2. 7\madmom\ml\rnn.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\madmom/ml\rnn.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Re lease\madmom/ml\rnn.pyd.manifest rnn.obj : warning LNK4197: export 'initrnn' specified multiple times; using first specification Creating library build\temp.win-amd64-2.7\Release\madmom/ml\rnn.lib and object build\temp.win-amd64-2.7\Release\m admom/ml\rnn.exp skipping 'madmom/audio\comb_filters.c' Cython extension (up-to-date) building 'madmom.audio.comb_filters' extension creating build\temp.win-amd64-2.7\Release\madmom\audio C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\use rs\michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mi chael.stein\anaconda2\PC /Tcmadmom/audio\comb_filters.c /Fobuild\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.ob j comb_filters.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning M sg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\us ers\michael.stein\anaconda2\libs /LIBPATH:c:\users\michael.stein\anaconda2\PCbuild\amd64 /LIBPATH:c:\users\michael.stein \anaconda2\PC\VS9.0\amd64 /EXPORT:initcomb_filters build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.obj /OUT:b uild\lib.win-amd64-2.7\madmom\audio\comb_filters.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters. lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.pyd.manifest comb_filters.obj : warning LNK4197: export 'initcomb_filters' specified multiple times; using first specification Creating library build\temp.win-amd64-2.7\Release\madmom/audio\comb_filters.lib and object build\temp.win-amd64-2 .7\Release\madmom/audio\comb_filters.exp skipping 'madmom/features\beats_crf.c' Cython extension (up-to-date) building 'madmom.features.beats_crf' extension creating build\temp.win-amd64-2.7\Release\madmom\features C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\use rs\michael.stein\anaconda2\lib\site-packages\numpy\core\include -Ic:\users\michael.stein\anaconda2\include -Ic:\users\mi chael.stein\anaconda2\PC /Tcmadmom/features\beats_crf.c /Fobuild\temp.win-amd64-2.7\Release\madmom/features\beats_crf.ob j beats_crf.c c:\users\michael.stein\anaconda2\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning M sg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION madmom/features\beats_crf.c(3598) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of dat a madmom/features\beats_crf.c(3607) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of dat a madmom/features\beats_crf.c(3832) : error C2065: 'INFINITY' : undeclared identifier madmom/features\beats_crf.c(3832) : warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data madmom/features\beats_crf.c(3903) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data madmom/features\beats_crf.c(3967) : error C2065: 'INFINITY' : undeclared identifier madmom/features\beats_crf.c(19964) : warning C4293: '<<' : shift count negative or too big, undefined behavior error: command 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe' failed with exit statu s 2

    ----------------------------------------
    

    Command "c:\users\michael.stein\anaconda2\python.exe -u -c "import setuptools, tokenize;file='c:\users\michae~1.st e\appdata\local\temp\pip-build-dijxcx\madmom\setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read ().replace('\r\n', '\n'), file, 'exec'))" install --record c:\users\michae~1.ste\appdata\local\temp\pip-aeif22-recor d\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\michae~1.ste\ap pdata\local\temp\pip-build-dijxcx\madmom\

    C:\Users\michael.stein>

    opened by steiml 21
  • Passing data or a Processor into RNNDownBeatProcessor instead of a filename

    Passing data or a Processor into RNNDownBeatProcessor instead of a filename

    Hey! I need to trim the audio before passing it into the RNNDownBeatProcessor, but I can't figure out how pass data instead of a filename. Any ideas?

    Thanks

    opened by robclouth 14
  • [Q] RNNBeatTracker filter choice

    [Q] RNNBeatTracker filter choice

    Hello guys. Fantastic work with the project. I am trying to port some parts of the project to tensorflow, and I am currently implementing the RNNBeatTracker RNN based on the paper you have linked. I am wondering if there is any particular reason you choose to filter the spectrogram with a LogarithmicFilterBank instead of MelFilterBank? Also, any reason why the power spectrum in the Spectrogram class is computed simply by taking the absolute value instead of squaring the absolute value of the Short Time Fourier Transform?

    opened by ghost 14
  • Real time beat detection

    Real time beat detection

    When introducing a streaming mode (now called online mode?) in #185, it was considered whether to flush more often when working with streaming data. I'd like to use madmom, specifically DBNBeatTracker, to detect beats and react to them in real time; however, the detected beats are only written to stdout in rather large time intervals.

    Would it be sensible to add an option to the parser such that the flushing interval can be set? If not, how would I go about implementing this myself?

    opened by lukasstevens 13
  • Implemented key recognition

    Implemented key recognition

    Changes proposed in this pull request

    This PR adds key recognition functionality to madmom (features.key.*, and the bin/KeyRecognition program). Additionally, it implements a padding layer and a function layer in the neural network module.

    Comments welcome! I will do the tests once the overall structure of this PR is final.

    Remaining TODOs before this pull request can be merged

    • [x] Write tests for the new layers.
    • [x] Write tests for features.key.
    • [x] Write tests for bin/KeyRecognition.
    • [x] Remove single net option, add issue to handle this on a more general level.
    opened by fdlm 13
  • Level volume when loading ReplayGain-tagged files

    Level volume when loading ReplayGain-tagged files

    Changes proposed in this pull request

    • Use ffmpeg's volume filter, and the RG commands within that to sensibly adjust the SPL of audio being loaded when loading files with io.audio helpers for this.
    • Provide sensible defaults, and document through io.audio chain of helpers.
    • Unit tests (with new RG-tagged FLAC files, other formats should work fine too), proving the track / album selection and pre-amp features are working.

    This pull request fixes #399.

    opened by declension 11
  • How to specify audio device for DBNBeatTracker in online mode

    How to specify audio device for DBNBeatTracker in online mode

    DBNBeatTracker really loves to default to using my microphone.

    I see that the Stream class includes a kwarg to specify the input device, but I see no way in the DBNBeatTracker to do so.

    https://madmom.readthedocs.io/en/latest/modules/audio/signal.html?highlight=Stream#madmom.audio.signal.Stream

    opened by benjamin-kirkbride 10
  • Allow selection of channel when loading / creating audio as mono

    Allow selection of channel when loading / creating audio as mono

    Changes proposed in this pull request

    • Allow remix to choose a channel, and just copy results from that channel if required
    • ffmpeg version - use pan audio filter (see section in manual).
    • Propagate this parameter through all the audio loading layers
    • Add tests around all aspects of this

    This fixes #211.

    opened by declension 9
  • How to organize loading / writing of high-level features?

    How to organize loading / writing of high-level features?

    Currently, loading and writing functions for features such as tempo, beats, notes, etc.. are spread across different files.

    • For beats, we have evaluation.beats.load_beats, and use utils.write_events to write beats.
    • For onsets, it works similarly.
    • For notes, we have features.notes.load_notes (which is not used anywhere as far as I can tell), features.notes.write_notes to write notes, and evaluation.notes.load_notes to load notes.
    • For chords, we have features.chords.load_chords and features.chords.write_chords.

    I find this a bit confusing. Either we create a utils.io package that contains all loading and writing functions, or we specifically say that all loading functions have to be in the respective evaluation package, while writing functions should be in the corresponding features package. I think the former would give us a nicer package structure.

    opened by fdlm 9
  • Cannot Import name 'MutableSequence' from 'collections'

    Cannot Import name 'MutableSequence' from 'collections'

    I'm getting this error when I try to import from madmom:

    Exception has occurred: ImportError
    cannot import name 'MutableSequence' from 'collections' (/Users/machine/miniforge3/envs/22env/lib/python3.10/collections/__init__.py)
        from madmom.audio.spectrogram import FilteredSpectrogramProcessor, LogarithmicSpectrogramProcessor, SpectrogramDifferenceProcessor
    
    

    I'm running in a conda environment with the following versions: python 3.9.7 madmom 0.16.1 numpy 1.21.4

    opened by MR-T77 1
  • Downmixing to mono behaves differently depending on whether FFMPEG is used for audio loading

    Downmixing to mono behaves differently depending on whether FFMPEG is used for audio loading

    Expected behaviour

    When loading a stereo audio file and downmixing it to mono, I expect the resulting amplitudes to not depend on the audio file format, but only on the content.

    Actual behaviour

    Currently, if a wave file has the the same sample type as the one desired when loading, madmom will use scipy to load it; then, to downmix the signal to mono, it will use its own madmom.audio.signal.remix function, which computes the arithmetic mean of the channels.

    If the there is a mismatch in sample types (eg. the file is stored as float32 but loaded as float, or stored as 16-bit integers and loaded as float), madmom will use ffmpeg to load the file, and, in the same step, use ffmpeg to downmix to mono.

    Now, the downmixing logic of ffmpeg apparantly uses a normalizing factor of 2 / sqrt(2) when downmixing. This results in different amplitudes.

    Steps needed to reproduce the behaviour

    import madmom
    import numpy as np
    
    # chirp.wav is stored as stereo 32-bit float
    read_wave = madmom.io.load_audio_file('chirp.wav', num_channels=1, dtype=np.float32)[0]
    read_ffmpeg = madmom.io.load_audio_file('chirp.wav', num_channels=1, dtype=np.float)[0]
    
    print(np.nanmedian(read_wave / read_ffmpeg))  # 0.7071...
    print(np.nanmedian(((2 * read_wave / np.sqrt(2)) / read_ffmpeg))  # 1.0
    

    Information about installed software

    madmom master branch
    ffmpeg version 4.4.2-0ubuntu0.22.04.1
    
    opened by fdlm 0
  • Fixing multiprocessing memory leak in downbeats.py

    Fixing multiprocessing memory leak in downbeats.py

    Moving the multiprocessing pool initialisation to the process area. (using multiprocessing.pool in the init section cause the pool to never release thus creating zombies)

    Changes proposed in this pull request

    Please provide a detailed description of the changes proposed in this pull request. This can either be a textual description or a simple list.

    This pull request fixes #.

    Remaining TODOs before this pull request can be merged

    Please remove this section (inluding the headline above) if there aren't any open TODOs. If there are, please remove this text, fill the items below and add a [WIP] prefix to the pull request's name.

    • [ ] TODO item description
    opened by igalcohenhadria 4
  • TCNTempoDetector fails with `IndexError: list index out of range`

    TCNTempoDetector fails with `IndexError: list index out of range`

    Expected behaviour

    I'm running the TCNTempoDetector from the latest git installed in a virtualenv.

    The error occurs with both mp3 and wav input.

    TempoDetector works as expected.

    Actual behaviour

    $ TCNTempoDetector single song.wav 
    Traceback (most recent call last):
      File "/Users/alastair/code/env/bin/TCNTempoDetector", line 107, in <module>
        main()
      File "/Users/alastair/code/env/bin/TCNTempoDetector", line 103, in main
        args.func(processor, **vars(args))
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 599, in process_single
        _process((processor, infile, outfile, kwargs))
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 283, in _process
        return process_tuple[0](*process_tuple[1:-1], **process_tuple[-1])
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 114, in __call__
        return self.process(*args, **kwargs)
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 573, in process
        data = _process((self.in_processor, data, kwargs))
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 283, in _process
        return process_tuple[0](*process_tuple[1:-1], **process_tuple[-1])
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 114, in __call__
        return self.process(*args, **kwargs)
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 418, in process
        data = _process((processor, data, kwargs))
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 283, in _process
        return process_tuple[0](*process_tuple[1:-1], **process_tuple[-1])
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 114, in __call__
        return self.process(*args, **kwargs)
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 418, in process
        data = _process((processor, data, kwargs))
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/processors.py", line 285, in _process
        return process_tuple[0](*process_tuple[1:-1])
      File "/Users/alastair/code/env/lib/python3.7/site-packages/madmom/ml/nn/__init__.py", line 49, in average_predictions
        if isinstance(predictions[0], tuple):
    IndexError: list index out of range
    

    Information about installed software

    Please provide some information about installed software.

    0.17.dev0
    1.21.5
    1.7.3
    
    opened by alastair 5
  • Installed scripts fail when no processing options is set (AttributeError: 'Namespace' object has no attribute 'func')

    Installed scripts fail when no processing options is set (AttributeError: 'Namespace' object has no attribute 'func')

    Expected behaviour

    I installed madmom in virtualenv from the git repository. I'm using some of the scripts that are included in the bin/ directory.

    Actual behaviour

    Many of these scripts fail when run, for example:

    $ TempoDetector 
    /Users/alastair/code/env/lib/python3.7/site-packages/madmom/features/tempo.py:725: UserWarning: Usage of `method` is deprecated as of version 0.17. Please pass a dedicated `TempoHistogramProcessor` instance as `histogram_processor`.Functionality will be removed in version 0.19.
      'Usage of `method` is deprecated as of version 0.17. '
    Traceback (most recent call last):
      File "/Users/alastair/code/env/bin/TempoDetector", line 162, in <module>
        main()
      File "/Users/alastair/code/env/bin/TempoDetector", line 158, in main
        args.func(processor, **vars(args))
    AttributeError: 'Namespace' object has no attribute 'func'
    

    It looks like the func value is only set if you choose a processing option (pickle/single/batch/online). In fact, after reading the help text for the scripts, I see that I need to choose a processing method:

    $ TempoDetector single
    usage: TempoDetector single [-h] [-o OUTFILE] [-j NUM_THREADS] [--online]
                                infile
    TempoDetector single: error: the following arguments are required: infile
    

    It would be good if the argparser could properly raise an error if the processing method isn't specified, instead of trying to run anyway.

    Steps needed to reproduce the behaviour

    virtualenv -p python3.7 env
    . env/bin/activate
    pip install git+https://github.com/CPJKU/madmom.git
    TempoDetector
    

    Information about installed software

    Please provide some information about installed software.

    0.17.dev0
    1.21.5
    1.7.3
    
    opened by alastair 0
Releases(v0.16.1)
  • v0.16.1(Nov 14, 2018)

  • v0.16(Nov 13, 2018)

    Release Notes

    Version 0.16 (release date: 2017-11-13)

    New features:

    • TempoDetector can operate on live audio signals (#292)
    • Added chord evaluation (#309)
    • Bar tracking functionality (#316)
    • Added quantize_notes function (#327)
    • Added global key evaluation (#336)
    • Added key recognition feature and program (#345, #381)

    Bug fixes:

    • Fix TransitionModel number of states when last state is unreachable (#287)
    • Fix double beat detections in BeatTrackingProcessor (#298)
    • Fix ffmpeg unicode filename handling (#305)
    • Fix STFT zero padding (#319)
    • Fix memory leak when accessing signal frames (#322)
    • Quantization of events does not alter them (#327)

    API relevant changes:

    • BufferProcessor uses data instead of buffer for data storage (#292)
    • DBNBeatTrackingProcessor expects 1D inputs (#299)
    • Moved downbeat and pattern tracking to features.downbeats (#316)
    • Write/load functions moved to io module (#346)
    • Write functions do not return any data (#346)
    • Evaluation classes expect annotations/detections, cannot handle files (#346)
    • New MIDI module (io.midi) replacing (utils.midi) based on mido (#46)

    Other changes:

    • Viterbi decoding of HMM raises a warning if no valid path is found (#279)
    • Add option to include Nyquist frequency in STFT (#280)
    • Use pyfftw to compute FFT (#363)
    • Python 3.7 support (#374)
    • Use pytest instead of nose to run tests (#385)
    • Removed obsolete code (#385)
    Source code(tar.gz)
    Source code(zip)
  • v0.15.1(Jul 7, 2017)

  • v0.15(Apr 25, 2017)

    Release Notes

    Version 0.15 (release date: 2017-04-25)

    New features:

    • Streaming mode allows framewise processing of live audio input (#185)
    • Exponential linear unit (ELU) activation function (#232)
    • DBNBeatTracker can operate on live audio signals (#238)
    • OnsetDetectorLL can operate on live audio signals (#256)

    Bug fixes:

    • Fix downbeat evaluation failure with a single annotation / detection (#216)
    • Fix tempo handling of multi-track MIDI files (#219)
    • Fix error loading unicode filenames (#223)
    • Fix ffmpeg unicode filename handling (#236)
    • Fix smoothing for peak_picking (#247)
    • Fix combining onsets/notes (#255)

    API relevant changes:

    • NeuralNetwork expect 2D inputs; activation can be computed stepwise (#244)
    • Reorder GRUCell parameters, to be consistent with all other layers (#243)
    • Rename GRULayer parameters, to be consistent with all other layers (#243)

    Other changes:

    • SPL and RMS can be computed on Signal and FramedSignal (#208)
    • num_threads is passed to ParallelProcessor in single mode (#217)
    • Use install_requires in setup.py to specify dependencies (#226)
    • Use new Cython build system to build extensions (#227)
    • Allow initialisation of previous/hidden states in RNNs (#243)
    • Forward path of HMM can be computed stepwise (#244)
    Source code(tar.gz)
    Source code(zip)
  • v0.14.1(Aug 1, 2016)

    Release Notes

    Version 0.14.1 (release date: 2016-08-01)

    This is a maintainance release.

    • RNNDownBeatProcessor returns only beat and downbeat activations (#197)
    • Update programs to reflect MIREX 2016 submissions (#198)
    Source code(tar.gz)
    Source code(zip)
  • v0.14(Jul 28, 2016)

    Release Notes

    Version 0.14 (release date: 2016-07-28)

    New features:

    • Downbeat tracking based on Recurrent Neural Network (RNN) and Dynamic Bayesian Network (DBN) (#130)
    • Convolutional Neural Networks (CNN) and CNN onset detection (#133)
    • Linear-Chain Conditional Random Field (CRF) implementation (#144)
    • Deep Neural Network (DNN) based chroma vector extraction (#148)
    • CRF chord recognition using DNN chroma vectors (#148)
    • CNN chord recognition using CRF decoding (#152)
    • Initial Windows support (Python 2.7 only, no pip packages yet) (#157)
    • Gated Recurrent Unit (GRU) network layer (#167)

    Bug fixes:

    • Fix downbeat output bug (#128)
    • MIDI file creation bug (#166)

    API relevant changes:

    • Refactored the ml.rnn to ml.nn and converted the models to pickles (#110)
    • Reordered the dimensions of comb_filters to time, freq, tau (#135)
    • write_notes uses delimiter instead of sep to separate columns (#155)
    • LSTMLayer takes Gates as arguments, all layers are callable (#161)
    • Replaced online parameter of FramedSignalProcessor by origin (#169)

    Other changes:

    • Added classes for onset/note/beat detection with RNNs to features.* (#118)
    • Add examples to docstrings of classes (#119)
    • Converted madmom.modules into a Python package (#125)
    • match_files can handle inexact matches (#137)
    • Updated beat tracking models to MIREX 2015 ones (#146)
    • Tempo and time signature can be set for created MIDI files (#166)
    Source code(tar.gz)
    Source code(zip)
  • v0.13.2(Jun 9, 2016)

  • v0.13.1(Mar 14, 2016)

  • v0.13(Mar 7, 2016)

    Release Notes

    Version 0.13 (release date: 2016-03-07)

    Main features:

    • Python 3 support (3.3+) (#15)
    • Online documentation available at http://madmom.readthedocs.org (#60)

    Bug fixes:

    • Fix nasty unsingend indexing bug (#88)
    • MIDI note timing could get corrupted if note_ticks_to_beats() was called multiple times (#90)

    API relevant changes:

    • Renamed DownBeatTracker and all relevant classes to PatternTracker (#25)
    • Complete refactoring of the features.beats_hmm module (#52)
    • Unified negative index behaviour of FramedSignal (#72)
    • Removed pickling of data classes since it was not tested thoroughly (#81)
    • Reworked stacking of spectrogram differences (#82)
    • Renamed norm_bands argument of MultiBandSpectrogram to norm_filters (#83)

    Other changes:

    • Added alignment evaluation (#12)
    • Added continous integration testing (#16)
    • Added -o option to both single/batch processing mode to not overwrite files accidentially in single mode (#18)
    • Removed block_size parameter from FilteredSpectrogram (#22)
    • Sample rate is always integer (#23)
    • Converted all docstrings to the numpydoc format (#48)
    • Batch processing continues if non-audio files are given (#53)
    • Added code quality checks (#61)
    • Added coverage measuring (#74)
    • Added `--down`` option to evaluate only downbeats (#76)
    • Removed option to normalise the observations (#95)
    • Moved filterbank related argument parser to FilterbankProcessor (#96)
    Source code(tar.gz)
    Source code(zip)
  • v0.12.1(Jan 22, 2016)

Owner
Institute of Computational Perception
Johannes Kepler University
Institute of Computational Perception
Algorithmic Multi-Instrumental MIDI Continuation Implementation

Matchmaker Algorithmic Multi-Instrumental MIDI Continuation Implementation Taming large-scale MIDI datasets with algorithms This is a WIP so please ch

Alex 2 Mar 11, 2022
A python program for visualizing MIDI files, and displaying them in a spiral layout

SpiralMusic_python A python program for visualizing MIDI files, and displaying them in a spiral layout For a hardware version using Teensy & LED displ

Gavin 6 Nov 23, 2022
Mentos Music Bot With Python

Mentos Music Bot For Any Query Join Our Support Group 👥 Special Thanks - @OfficialYukki Hey Welcome To Here 💫 💫 You Can Make Your Own Music Bot Fo

Cyber Toxic 13 Oct 21, 2022
A voice based calculator by using termux api in Android

termux_voice_calculator This is. A voice based calculator by using termux api in Android Instagram account 👉 👈 Requirements and installation Downloa

ʕ´•ᴥ•`ʔ╠ŞĦỮβĦa̷m̷╣ʕ´•ᴥ•`ʔ 2 Apr 29, 2022
Voice to Text using Raspberry Pi

This module will help to convert your voice (speech) into text using Speech Recognition Library. You can control the devices or you can perform the desired tasks by the word recognition

Raspberry_Pi Pakistan 2 Dec 15, 2021
Pyrogram bot to automate streaming music in voice chats

Pyrogram bot to automate streaming music in voice chats Help If you face an error, want to discuss this project or get support for it, join it's group

Roj 124 Oct 21, 2022
digital audio workstation, instrument and effect plugins, wave editor

digital audio workstation, instrument and effect plugins, wave editor

306 Jan 05, 2023
python script for getting mp3 files from yaoutube playlist

mp3-from-youtube-playlist python script for getting mp3 files from youtube playlist. Do your non-tech brown relatives ask you for downloading music fr

Shuhan Mirza 7 Oct 19, 2022
IDing the songs played on the do you radio show

IDing the songs played on the do you radio show

Rasmus Jones 36 Nov 15, 2022
ᴀ ʙᴏᴛ ᴛʜᴀᴛ ᴄᴀɴ ᴘʟᴀʏ ᴍᴜꜱɪᴄ ɪɴ ᴛᴇʟᴇɢʀᴀᴍ ɢʀᴏᴜᴘ ᴏɴ ᴠᴏɪᴄᴇ ᴄᴀʟʟ

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

1 Nov 22, 2021
Library for Python 3 to communicate with the Google Chromecast.

pychromecast Library for Python 3.6+ to communicate with the Google Chromecast. It currently supports: Auto discovering connected Chromecasts on the n

Home Assistant Libraries 2.4k Jan 02, 2023
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
GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

Bytedance Inc. 1.3k Jan 04, 2023
PianoPlayer - Automatic fingering generator for piano scores

PianoPlayer - Automatic fingering generator for piano scores

Marco Musy 571 Jan 02, 2023
This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz

VcPlayer This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz Telegram Voice-Chat Bot [PyTGCalls] ⇝ Requirements ⇜

1 Dec 20, 2021
Spotipy - Player de música simples em Python

Spotipy Player de música simples em Python, utilizando a biblioteca Pysimplegui para a interface gráfica. Este tocador é bastante simples em si, mas p

Adelino Almeida 4 Feb 28, 2022
Klangbecken: The RaBe Endless Music Player

Klangbecken Klangbecken is the minimalistic endless music player for Radio Bern RaBe based on liquidsoap. It supports configurable and editable playli

Radio Bern RaBe 8 Oct 09, 2021
🎵 Python sound notifications made easy

chime Python sound notifications made easy. Table of contents Table of contents Motivation Installation Basic usage Theming IPython/Jupyter magic Exce

Max Halford 231 Jan 09, 2023
Musillow is a music recommender app that finds songs similar to your favourites.

MUSILLOW The music recommender app Check it out now!!! View Demo · Report Bug · Request Feature About The App Musillow is a music recommender app that

3 Feb 03, 2022
Python library for handling audio datasets.

AUDIOMATE Audiomate is a library for easy access to audio datasets. It provides the datastructures for accessing/loading different datasets in a gener

Matthias 121 Nov 27, 2022