Visual Rhythm and Beat




  • Paper topic: Images
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 4
  • Software language: Python
  • License: Stanford
  • Build mechanism: Not applicable (python, Matlab..)
  • Dependencies: numpy/scipy/moviepy/librosa/bs4/librosa/imageio/requests/moviepy/termcolor/youtube-dl/matplotlib
  • Documentation score {0,1,2}: 1
  • Reviewer: David Coeurjolly <>
  • Time spent for the test (build->first run, timeout at 100min): 100min

Source code information


Very easy to setup and play with on MacOS thanks to the "pip install visbeat" and the examples.

-- Aternative build on windows --

While the paper is accompanied by a very nice website to explore all results, and effort has been made to make code execution easy, I still did not manage to run the code. The docker file was not working. This is due to matplotlib and imageio-ffmpeg not supporting anymore Python 2.7 (Python 2.7 is being discontinued as of January 2020 anyway) and I am not familiar with docker to fix it. Going back to manual installation of the libraries, it turns out that only imageio version 2.4.1 is able to execute the required command (and pip install imageio-ffmpeg does not work on Python 2.7). It also turns out that installing matplotlib for Python 2.7 is also difficult (ended up upgrading my pip and setuptools "python -m pip install -U pip setuptools" before the pip install matplotlib, despite Python 2.7 being a fresh install -- I otherwise had "Command python egg_info failed with error code 1"). I also had to add "sys.path.insert(0, "../visbeat/")" in the example file for python to search in the correct folder. Ultimately, running the TLDR example results in the error "AssertionError: Wrong number of files for ./VisBeatAssets/VideoSources\fDWFVI8PQOI\Versions\\Original\maxheight_240\\Snap! - Rhythm is a Dancer-fDWFVI8PQOI.mp4 Found: []". Thinking this could be due to mixes of slashes and backslashes I fixed that in the code to no avail. I realized this file actually did not exist : instead, there was a file called "Snap! - Rhythm is a Dancer-fDWFVI8PQOI.f133.mp4" which did not have audio, and a "Snap! - Rhythm is a Dancer-fDWFVI8PQOI.f140.m4a" which was the audio file. I merged both in Premiere to create the desired "Snap! - Rhythm is a Dancer-fDWFVI8PQOI.f133.mp4" file, ran the code again. This time, this resulted in "Issue loading audio for ./VisBeatAssets/VideoSources/fDWFVI8PQOI/Versions/Original/maxheight_240/Snap! - Rhythm is a Dancer-fDWFVI8PQOI.mp4". I tried again with MPEG audio instead of AAC. This didn't work either. I gave up after a day.

If you want to contribute with another review, please follow these instructions.

Please consider to cut/paste/edit the raw JSON data attached to this paper.