Git Product home page Git Product logo

automix's Introduction

Automix

Automatic DJ-mixing of tracks

Install

Clone or download the repository, then run from within the folder:

pip install .

Or to keep the project editable, use:

pip install . --editable

Dependencies

Installing the project with pip should download all the dependencies except Richard Vogl's drums transcription: This project is a fork of Madmom, and has to be installed it in a different environment to keep both libraries accessible.

cd vendors
# python3 -m venv madmomDrumsEnv doesn't work for the installation. for now keeping python2
virtualenv madmomDrumsEnv 

#install the dependencies. 
madmomDrumsEnv/bin/pip install numpy
madmomDrumsEnv/bin/pip install scipy
madmomDrumsEnv/bin/pip install cython
madmomDrumsEnv/bin/pip install nose
#might fail ?
sudo apt-get install python-dev
madmomDrumsEnv/bin/pip install pyaudio

#install from the source `http://www.ifs.tuwien.ac.at/~vogl/models/mirex-17.zip`
wget http://www.ifs.tuwien.ac.at/~vogl/models/mirex-18.tar.gz
tar -xvzf mirex-18.tar.gz
cd madmom-0.16.dev0/
# --user seems not available anymore
../madmomDrumsEnv/bin/python setup.py develop 
#check if it's working
cd ..
madmomDrumsEnv/bin/python madmom-0.16.dev0/bin/DrumTranscriptor
#clean everything
rm mirex-18.tar.gz

Usage

from automix.model.classes.track import Track
track = Track(path="path to audio file")
cues = track.getCueIns()
times = cues.times
confidences = cues.values

automix's People

Contributors

mzehren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

automix's Issues

Automixing with different tracks

Hello,
can the scripts be used to automix a playlist or a directory full of tracks?
If yes can you please point out the scripts that shall be used?
Thank you

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

  File "<stdin>", line 1, in <module>
  File "/home/user/Automix/automix/model/classes/track.py", line 281, in __init__
    self.features = featuresGetter(path)  # features dictionnary from the MIR estimators
  File "/home/user/Automix/automix/model/classes/track.py", line 35, in __init__
    self._estimators = self.getExecutionGraph()
  File "/home/user/Automix/automix/model/classes/track.py", line 52, in getExecutionGraph
    from automix.featureExtraction.beats.madmomBeatDetection import MadmomBeatDetection
  File "/home/user/Automix/automix/featureExtraction/beats/__init__.py", line 4, in <module>
    from .madmomBeatDetection import MadmomBeatDetection
  File "/home/user/Automix/automix/featureExtraction/beats/madmomBeatDetection.py", line 5, in <module>
    import madmom
  File "/home/user/.local/lib/python3.8/site-packages/madmom/__init__.py", line 24, in <module>
    from . import audio, evaluation, features, io, ml, models, processors, utils
  File "/home/user/.local/lib/python3.8/site-packages/madmom/audio/__init__.py", line 27, in <module>
    from . import comb_filters, filters, signal, spectrogram, stft
  File "madmom/audio/comb_filters.pyx", line 1, in init madmom.audio.comb_filters

please help! Spent too much time trying to make this work. I have all the dependencies installed. and this is working for me: madmomDrumsEnv/bin/python madmom-0.16.dev0/bin/DrumTranscriptor
not sure what is still missing. numpy version outside of madmomDrumsEnv is 1.20.3 and in madmomDrumsEnv is 1.16.6.
I appreciate any tip to solve this. My environment is python3.8.10

How can we create mix?

Hello here

  1. You can install two madmom version, just download and rename one of them, install separate like python setup.py install and use like:
    import madmom
    import madmom_old

  2. How we can make some mix,(cue is working we know) ?
    I check what code is partial ready(many TODO, empty function), can you put little manual step by step :

what im found:

trackBuilder.py(fully commented)
in ruleDriven.py i found generateMix, generateFX ... and other

but i cant find some roadmap or some plan( step by step what need TODO or some myMain.py how create mix)

Error with track.getCueIns()

I have tried to run the program on a Colab notebook.
When I try to run the usage example provided on GitHub, I get an error with the track.getCueIns() function.

track = Track(path='/content/drive/MyDrive/MIR/Coyu - Unexpected Souvenir.mp3')
cues = track.getCueIns()
times = cues.times
confidences = cues.values
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-17-7e525f671fd0> in <module>()
----> 6 cues = track.getCueIns()
      7 times = cues.times
      8 confidences = cues.values

---------------------- 24 frames -------------------------------------

/usr/local/lib/python3.7/dist-packages/automix/model/inputOutput/serializer/featureSerializer.py in serialize(path, features)
     27         Features has to be/contain a dict, list, primitive, or object implementing jsonEncode(void):any
     28         """
---> 29         with open(path, 'w') as featuresFile:
     30             featuresFile.write(json.dumps(features, cls=MyJSONEncoder))
     31 

FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.7/dist-packages/automix/../annotations/Coyu - Unexpected Souvenir.beats.json'

What may I be doing wrong? The ... .beats.json is automatically generated, isn't it?

FileNotFoundError: [Errno 2] No such file or directory

I get the following error when trying to run your example for determining cue points,

FileNotFoundError: [Errno 2] No such file or directory: 'cuemix/Automix-master/automix/featureExtraction/automaticDrumsTranscription/../../../vendors/madmomDrumsEnv/bin/python'

I tried to install it locally while keeping it editable with pip install -e; however, the problem still occurs. I tried to create some folders matching the criteria but can't even see the full path or understand what's wrong. What should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.