Skip to content

Commit e1f2349

Browse files
committed
Merge branch 'latex-deliverables'
2 parents 1b09c4b + c63a41f commit e1f2349

File tree

4 files changed

+98
-37
lines changed

4 files changed

+98
-37
lines changed

README.md

+8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ See more at https://sevagh.github.io/headbang.py
66

77
## headbang
88

9+
### Algorithm
10+
11+
![headbang_block_diagram](./docs/hbt_block_diagram.png)
12+
913
### Installation
1014

1115
headbang has been written and verified with Python 3.8 on AMD64 machines running Fedora 32 Linux. However, there shouldn't be any problems running it on different machines if the requirements can be successfully installed.
@@ -146,6 +150,10 @@ Headbang is:
146150

147151
headbang-hud is a combined MIR beat tracking (using the `headbang` beat tracking code) and 2D pose estimation project for tracking headbanging motion.
148152

153+
### Architecture
154+
155+
![hud_code_arch](./docs/hud_code_arch.png)
156+
149157
### Installation
150158

151159
After installing BTrack for headbang, you also need to build and install [openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) from source. I followed the instructions for building and installing the Python module successfully on Python 3.7, Fedora 32, amd64 with no issues.

misc/latex-deliverables/citations.bib

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
@website{mirex06,
2+
title={2006:Audio Beat Tracking},
3+
url={https://www.music-ir.org/mirex/wiki/2006:Audio_Beat_Tracking},
4+
journal={MIREX Wiki}}
5+
6+
@inproceedings{bock1,
7+
author = {Böck, Sebastian and Schedl, Markus},
8+
year = {2011},
9+
month = {09},
10+
pages = {},
11+
title = {Enhanced Beat Tracking with Context-Aware Neural Networks},
12+
booktitle = {Proceedings of the 14th International Conference on Digital Audio Effects, DAFx 2011}
13+
}
14+
15+
@inproceedings{bock2,
16+
title={An Efficient State-Space Model for Joint Tempo and Meter Tracking},
17+
author={F. Krebs and S. B{\"o}ck and G. Widmer},
18+
booktitle={ISMIR},
19+
year={2015}
20+
}
21+
22+
@inproceedings{madmom,
23+
Title = {{madmom: a new Python Audio and Music Signal Processing Library}},
24+
Author = {B{\"o}ck, Sebastian and Korzeniowski, Filip and Schl{\"u}ter, Jan and Krebs, Florian and Widmer, Gerhard},
25+
Booktitle = {Proceedings of the 24th ACM International Conference on
26+
Multimedia},
27+
Month = {10},
28+
Year = {2016},
29+
Pages = {1174--1178},
30+
Address = {Amsterdam, The Netherlands},
31+
Doi = {10.1145/2964284.2973795}
32+
}
33+
34+
@misc{beatmeta,
35+
title={MIREX 2012 AUDIO BEAT TRACKING EVALUATION : NEUROBEAT},
36+
author={E. Krebs and S. B{\"o}ck},
37+
year={2012}
38+
}
39+
40+
@phdthesis{periphery,
41+
author = {Whithead, James},
42+
year = {2019},
43+
month = {07},
44+
pages = {},
45+
title = {Exploring the defining characteristics of the contemporary metal `djent' scape as represented by the band Periphery.}
46+
}
47+
48+
@article{meshuggah,
49+
author = {Capuzzo, Guy},
50+
title = "{Rhythmic Deviance in the Music of Meshuggah}",
51+
journal = {Music Theory Spectrum},
52+
volume = {40},
53+
number = {1},
54+
pages = {121-137},
55+
year = {2018},
56+
month = {04},
57+
issn = {0195-6167},
58+
doi = {10.1093/mts/mty005},
59+
url = {https://doi.org/10.1093/mts/mty005},
60+
eprint = {https://academic.oup.com/mts/article-pdf/40/1/121/24968672/mty005.pdf},
61+
}
62+
63+
@misc{pose1,
64+
author = {Potempski, Filip and Sabo, Andrea and Patterson, Kara},
65+
year = {2020},
66+
month = {10},
67+
pages = {},
68+
title = {Technical Note: Quantifying music-dance synchrony with the application of a deep learning-based 2D pose estimator},
69+
doi = {10.1101/2020.10.09.333617}
70+
}
71+
72+
@inproceedings{pose2,
73+
author = {Pedersoli, Fabrizio and Goto, Masataka},
74+
year = {2020},
75+
title = {Dance Beat Tracking from Visual Information Alone},
76+
url = {https://program.ismir2020.net/poster_3-10.html},
77+
booktitle = {ISMIR 2020}
78+
}
79+
80+
@misc{clicks,
81+
title = {Fundamentals of Music Processing -- Sonification},
82+
author = {M{\"u}ller, Meinard and Zunner, Tim},
83+
url = {https://www.audiolabs-erlangen.de/resources/MIR/FMP/B/B_Sonification.html}}

misc/latex-deliverables/citations_proposal.bib

-32
This file was deleted.

misc/latex-deliverables/proposal.tex

+7-5
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
style=numeric,
3131
sorting=none
3232
]{biblatex}
33-
\addbibresource{citations_proposal.bib}
33+
\addbibresource{citations.bib}
3434
\usepackage{titlesec}
3535

3636
\titleformat{\chapter}[display]
@@ -42,30 +42,32 @@
4242
\large{Final Project Proposal. MUMT 621, April 06, 2021}\\
4343
\large{Sevag Hanssian, 260398537}
4444

45+
\hrulefill
46+
4547
\vspace{2em}
4648

4749
Beat tracking is a rich field of music information retrieval (MIR). The audio beat tracking task has been a part of MIREX since 2006 \cite{mirex06}, and receives submissions every year. Most recently, state of the art results have been achieved by \cite{bock1} and \cite{bock2}, who have also released their algorithms in the madmom Python library \cite{madmom}.
4850

4951
\vspace{1em}
5052

51-
\qquad The beat tracking algorithms in MIREX are evaluated against diverse and challenging beat tracking datasets (CITE THESE). However, in my personal experiments on my preferred genres of music (mostly rhythmically-complex progressive metal CITE THESE), I noticed that in several cases the beat locations output by the best algorithms were not correct.
53+
\qquad The beat tracking algorithms in MIREX are evaluated against diverse and challenging beat tracking datasets (\cite{beatmeta}). However, in my personal experiments on my preferred genres of music (mostly rhythmically-complex progressive metal, e.g., \cite{meshuggah}, \cite{periphery}), I noticed that in several cases the beat locations output by the best algorithms were not correct.
5254

5355
\vspace{1em}
5456

5557
\qquad For the first goal of my final project, I propose to explore various beat tracking algorithms and pre-processing techniques to demonstrate improved beat results in progressive metal songs. The name of the project is ``headbang.py''; the ``.py'' suffix is because it will be a code project written in Python, and ``headbang'' refers to the act of headbanging, where metal musicians or fans violently move their head up and down to the beat of a metal song.
5658

5759
\vspace{1em}
5860

59-
\qquad There are recent papers which combine MIR tasks with 2D pose estimation to associate human motion with musical properties. For the second goal of headbang.py, I propose to analyze headbanging motion in metal videos with the OpenPose 2D human pose estimation library. The results of the headbanging motion analysis can be compared with the results of beat tracking to reveal some information about what drives the urge to headbang.
61+
\qquad There are recent papers which combine MIR tasks with 2D pose estimation to associate human dance motion with musical beats (\cite{pose1}, \cite{pose2}). For the second goal of headbang.py, I propose to analyze headbanging motion in metal videos with the OpenPose 2D human pose estimation library. The results of the headbanging motion analysis can be displayed alongside the results of beat tracking, to potentially reveal some information about what drives the urge to headbang.
6062

6163
\vspace{1em}
6264

63-
\qquad One method for evaluating beat tracking results is overlaying clicks (CITE ME) on the original track, and verifying that the clicks line up with your own perception of beat locations in listening tests. For an optional third goal of headbang.py (if time permits), I want to create a digital animation of a humanoid figure (2D or 3D) which headbangs on beat locations, as an alternative method of visualizing the outputs of beat trackers.
65+
\qquad One method for evaluating beat tracking results is overlaying clicks, or ``sonification'' of the beat annotations (\cite{clicks}), on the original track. This helps a person to verify that the clicks line up with their own perception of beat locations in listening tests. For an optional third goal of headbang.py (if time permits), I want to create a digital animation of a humanoid figure (2D or 3D) which headbangs on beat locations, as an alternative method of visualizing the outputs of beat trackers.
6466

6567
\vfill
6668
\clearpage
6769

68-
\nocite{*}
70+
%\nocite{*}
6971
\printbibheading[title={\vspace{-3.5em}References},heading=bibnumbered]
7072
\vspace{-1.5em}
7173
\printbibliography[heading=none]

0 commit comments

Comments
 (0)