musicmouse/espmusicmouse/host_driver/C5S3_ChordRec_HMM.ipynb

663 lines
216 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div>\n",
"<a href=\"http://www.music-processing.de/\"><img style=\"float:left;\" src=\"../data/FMP_Teaser_Cover.png\" width=40% alt=\"FMP\"></a>\n",
"<a href=\"https://www.audiolabs-erlangen.de\"><img src=\"../data/Logo_AudioLabs_Long.png\" width=59% style=\"float: right;\" alt=\"AudioLabs\"></a>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div>\n",
"<a href=\"../C5/C5.html\"><img src=\"../data/C5_nav.png\" width=\"100\" style=\"float:right;\" alt=\"C5\"></a>\n",
"<h1>HMM-Based Chord Recognition</h1> \n",
"</div>\n",
"\n",
"<br/>\n",
"\n",
"<p>\n",
"Following Section 5.3.4 of <a href=\"http://www.music-processing.de/\">[Müller, FMP, Springer 2015]</a>, we discuss in this notebook an HMM-based approach for chord recognition. The idea of using HMMs for chord recognition was originally introduced by Sheh and Ellis. \n",
"<ul>\n",
"\n",
"<li><span style=\"color:black\">\n",
"Alexander Sheh, Daniel P. W. Ellis: <strong>Chord segmentation and recognition using EM-trained hidden Markov models.</strong> Proceedings of the International Conference on Music Information Retrieval (ISMIR), Baltimore, 2003. \n",
"<br> \n",
"<a type=\"button\" class=\"btn btn-default btn-xs\" target=\"_blank\" href=\"../data/bibtex/FMP_bibtex_ShehE03_Chord_ISMIR.txt\"> Bibtex </a>\n",
"</span></li>\n",
" \n",
"<li><span style=\"color:black\">\n",
"Taemin Cho, Juan Pablo Bello: <strong>On the Relative Importance of Individual Components of Chord Recognition Systems.</strong> IEEE/ACM Transactions on Audio, Speech, and Language Processing, 22 (2014), pp. 466&ndash;492. \n",
"<br> \n",
"<a type=\"button\" class=\"btn btn-default btn-xs\" target=\"_blank\" href=\"../data/bibtex/FMP_bibtex_ChoB14_Chord_IEEE-TASLP.txt\"> Bibtex </a>\n",
"</span></li>\n",
" \n",
"<li><span style=\"color:black\">\n",
"Nanzhu Jiang, Peter Grosche, Verena Konz, Meinard Müller: <strong>Analyzing Chroma Feature Types for Automated Chord Recognition.</strong> Proceedings of the AES Conference on Semantic Audio, Ilmenau, Germany, 2011. \n",
"<br> \n",
"<a type=\"button\" class=\"btn btn-default btn-xs\" target=\"_blank\" href=\"../data/bibtex/FMP_bibtex_JiangGKM11_Chord_AES.txt\"> Bibtex </a>\n",
"</span></li>\n",
"\n",
"\n",
" \n",
"</ul> \n",
" \n",
" \n",
"</p> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"We now show how the concept of [HMMs](../C5/C5S3_HiddenMarkovModel.html) can be applied to improve [automated chord recognition](../C5/C5S2_ChordRec_Templates.html). First of all, we need to create an HMM that suitably models our chord recognition problem. Generally, as introduced in the [FMP noteboook on HMMs](../C5/C5S3_HiddenMarkovModel.html), an HMM is specified by the parameters $\\Theta:=(\\mathcal{A},A,C,\\mathcal{B},B)$. In the chord recognition context, the set \n",
"\n",
"$$\n",
"\\mathcal{A}:=\\{\\alpha_{1},\\alpha_{2},\\ldots,\\alpha_{I}\\}.\n",
"$$\n",
"\n",
"of states is used to model the various chord types that are allowed in the recognition problem. As in the [FMP notebook on template-based chord recognition](../C5/C5S2_ChordRec_Templates.html), we consider in this notebook only the twelve major and twelve minor triads, thus setting\n",
"\n",
"\\begin{equation}\n",
"\\label{eq:ChordReco:HMM:App:Spec:SetStates}\n",
" \\mathcal{A} = \\{\\mathbf{C},\\mathbf{C}^\\sharp,\\ldots,\\mathbf{B},\\mathbf{Cm},\\mathbf{Cm^\\sharp},\\ldots,\\mathbf{Bm}\\} \n",
"\\end{equation}\n",
"\n",
"In this case, the HMM consists of $I=24$ states, which we enumerate as indicated above. For example, $\\alpha_{1}$ corresponds to $\\mathbf{C}$ and $\\alpha_{13}$ to $\\mathbf{Cm}$. In the remainder of this notebook, we do the following: \n",
"\n",
"* First, we explain how to explicitly create an HMM by specifying the other HMM parameters in a musically informed fashion. Even though these parameters may be learned automatically from training data using the [Baum&ndash;Welch Algorithm](../C5/C5S3_HiddenMarkovModel.html), the manual specification of HMM parameters is instructive and leads to an HMM with an explicit musical meaning. \n",
"\n",
"* Second, we apply this HMM for chord recognition. The input (i.e., observation sequence) of the HMM is a [**chromagram representation**](../C3/C3S1_SpecLogFreq-Chromagram.html) of the music recording. Applying the [**Viterbi Algorithm**](../C5/C5S3_Viterbi.html), we then derive an optimal state sequence (consisting of chord labels) that best explains the chroma sequence. The sequence of chord labels yields our frame-wise chord recognition result.\n",
"\n",
"We will compare the HMM-based chord recognition results with the results obtained from the [template-based approach](../C5/C5S2_ChordRec_Templates.html). In particular we will see that the HMM transition model introduces a kind of **context-aware postfiltering**. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Specification of Emission Likelihoods\n",
"\n",
"In our chord recognition scenario, the observations are chroma vectors that have previously been extracted from the given audio recording. In other words, the observations are $12$-dimensional real-valued vectors which are elements of the continuous feature space $\\mathcal{F}=\\mathbb{R}^{12}$. So far, we have only considered the case of **discrete HMMs**, where the observations are discrete symbols coming from a finite output space $\\mathcal{B}$. To make discrete HMMs applicable to our scenario, one possible procedure is to introduce a finite set of prototype vectors, a so-called **codebook**. Such a codebook can be regarded as a discretization of the continuous feature space $\\mathcal{F}=\\mathbb{R}^{12}$, where each codebook vector represents an entire range of feature vectors. Emission probabilities can then be determined on the basis of this finite set of codebook vectors.\n",
"\n",
"As an alternative, we use in the following an HMM variant, where we replace the discrete output space $\\mathcal{B}$ by the continuous feature space $\\mathcal{F}=\\mathbb{R}^{12}$ and the emission probability matrix $B$ by **likelihood functions**. In particular, the emission probability of a given state is replaced by a normalized similarity value defined as inner product of a state-dependent normalized template and a normalized observation (chroma) vector. To compute the state-dependent likelihood functions, we proceed as described in the [FMP notebook on template-based chord recognition](../C5/C5S2_ChordRec_Templates.html). Let $s:\\mathcal{F} \\times \\mathcal{F} \\to [0,1]$ be the **similarity measure** defined by the [inner product of normalized chroma vectors](../C5/C5S2_ChordRec_Templates.html) (where one should use a [thresholded normalization](../C3/C3S1_FeatureNormalization.html) to avoid division by zero):\n",
"\n",
"$$\n",
"s(x, y) = \\frac{\\langle x,y\\rangle}{\\|x\\|_2\\cdot\\|y\\|_2}\n",
"$$ \n",
"\n",
"for $x,y\\in\\mathcal{F}$. Based on $I=24$ major and minor triads (encoded by the states $\\mathcal{A}$ and indexed by the set $[1:I]$), we consider the [**binary chord templates**](../C5/C5S2_ChordRec_Templates.html) $\\mathbf{t}_i\\in \\mathcal{F}$ for $i\\in [1:I]$. Then, we define the state-dependent likelihood function $b_i:\\mathcal{F}\\to [0,1]$ by\n",
"\n",
"$$\n",
"b_i(x) := \\frac{s(x, \\mathbf{t}_i)}{\\sum_{j\\in[1:I]}s(x, \\mathbf{t}_j)}\n",
"$$\n",
"\n",
"for $x\\in\\mathcal{F}$ and $i\\in [1:I]$. In our scenario, the [observation sequence](../C5/C5S3_HiddenMarkovModel.html) $O=(o_{1},o_{2},\\ldots,o_{N})$ is a sequence of chroma vectors $o_n\\in\\mathcal{F}$. We define the observation-dependent $(I\\times N)$-matrix $B[O]$ by \n",
"\n",
"$$\n",
"B[O](i,n) = b_i(o_n)\n",
"$$\n",
"\n",
"for $i\\in[1:I]$ and $n\\in[1:N]$. Note that his matrix is exactly the [**chord similarity matrix**](../C5/C5S2_ChordRec_Templates.html) with a column-wise [$\\ell^1$-normalization](../C3/C3S1_FeatureNormalization.html), as introduced in the [FMP notebook on template-based chord recognition](../C5/C5S2_ChordRec_Templates.html) and visualized in form of a **time&ndash;chord representation**. In context of the the [Viterbi algorithm](../C5/C5S3_Viterbi.html), the likelihood $B[O](i,n)$ is used to replace the probability value $b_{ik_n}$. \n",
"\n",
"As our running example throughout the remainder of this notebook, we continue our Bach example introduced in the [FMP notebook on chord recognition evaluation](../C5/C5S2_ChordRec_Eval.html). In this example, we consider a piano recording of the first four measures of Johann Sebastian Bach's $\\mathrm{C}$-major prelude. Furthermore, in the next code cell, we show the observation sequence $O$ (chromagram representation) as well as the likelihood matrix $B[O]$ (time&ndash;chord representation).\n",
"\n",
"<img src=\"../data/C5/FMP_C5_F20a.png\" width=\"500px\" align=\"left\" alt=\"FMP_C5_20a\">\n",
"\n",
"<br clear=\"all\" />\n",
"\n",
"<audio style=\"width: 500px;\" src=\"../data/C5/FMP_C5_F20_Bach_BWV846-mm1-4_Fischer.wav\" type=\"audio/mpeg\" controls=\"controls\"></audio>"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/martin/code/musicmouse/espmusicmouse/venv/lib/python3.8/site-packages/librosa/core/audio.py:165: UserWarning: PySoundFile failed. Trying audioread instead.\n",
" warnings.warn(\"PySoundFile failed. Trying audioread instead.\")\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x504 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import os\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import pandas as pd\n",
"from scipy.linalg import circulant\n",
"from numba import jit\n",
"\n",
"import sys\n",
"sys.path.append('..')\n",
"import libfmp.b\n",
"from libfmp.c5 import get_chord_labels\n",
"%matplotlib inline\n",
"\n",
"test_file = \"/home/martin/Music/deemix Music/Simone Sommerland - Ki-Ka-Kinderturnen.mp3\"\n",
"\n",
"\n",
"# Specify \n",
"fn_wav = test_file #os.path.join('..', 'data', 'C5', 'FMP_C5_F20_Bach_BWV846-mm1-4_Fischer.wav')\n",
"#fn_ann = os.path.join('..', 'data', 'C5', 'FMP_C5_F20_Bach_BWV846-mm1-4_Fischer_ChordAnnotations.csv')\n",
"color_ann = {'C': [1, 0.5, 0, 1], 'G': [0, 1, 0, 1], 'Dm': [1, 0, 0, 1], 'N': [1, 1, 1, 1]}\n",
"\n",
"N = 4096\n",
"H = 1024\n",
"X, Fs_X, x, Fs, x_dur = \\\n",
" libfmp.c5.compute_chromagram_from_filename(fn_wav, N=N, H=H, gamma=0.1, version='STFT')\n",
"N_X = X.shape[1]\n",
"\n",
"# Chord recogntion\n",
"chord_sim, chord_max = libfmp.c5.chord_recognition_template(X, norm_sim='1')\n",
"chord_labels = libfmp.c5.get_chord_labels(nonchord=False)\n",
"\n",
"# Annotations\n",
"chord_labels = libfmp.c5.get_chord_labels(ext_minor='m', nonchord=False)\n",
"#ann_matrix, ann_frame, ann_seg_frame, ann_seg_ind, ann_seg_sec = \\\n",
"# libfmp.c5.convert_chord_ann_matrix(fn_ann, chord_labels, Fs=Fs_X, N=N_X, last=True)\n",
"#P, R, F, TP, FP, FN = libfmp.c5.compute_eval_measures(ann_matrix, chord_max)\n",
"\n",
"# Plot\n",
"cmap = libfmp.b.compressed_gray_cmap(alpha=1, reverse=False)\n",
"fig, ax = plt.subplots(3, 2, gridspec_kw={'width_ratios': [1, 0.03], \n",
" 'height_ratios': [1.5, 3, 0.2]}, figsize=(9, 7))\n",
"\n",
"libfmp.b.plot_chromagram(X, ax=[ax[0, 0], ax[0, 1]], Fs=Fs_X, clim=[0, 1], xlabel='',\n",
" title='Observation sequence (chromagram with feature rate = %0.1f Hz)' % (Fs_X))\n",
"#libfmp.b.plot_segments_overlay(ann_seg_sec, ax=ax[0, 0], time_max=x_dur,\n",
"# print_labels=False, colors=color_ann, alpha=0.1)\n",
"\n",
"libfmp.b.plot_matrix(chord_sim, ax=[ax[1, 0], ax[1, 1]], Fs=Fs_X, clim=[0, np.max(chord_sim)],\n",
" title='Likelihood matrix (timechord representation)',\n",
" ylabel='Chord', xlabel='')\n",
"ax[1, 0].set_yticks(np.arange(len(chord_labels)))\n",
"ax[1, 0].set_yticklabels(chord_labels)\n",
"#libfmp.b.plot_segments_overlay(ann_seg_sec, ax=ax[1, 0], time_max=x_dur,\n",
"# print_labels=False, colors=color_ann, alpha=0.1)\n",
"\n",
"#libfmp.b.plot_segments(ann_seg_sec, ax=ax[2, 0], time_max=x_dur, time_label='Time (seconds)',\n",
"# colors=color_ann, alpha=0.3)\n",
"ax[2,1].axis('off')\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Specification of Transition Probabilities\n",
"\n",
"In music, certain chord transitions are more likely than others. This observation is our main motivation to employ [HMMs](../C5/C5S3_HiddenMarkovModel.html), where the first-order temporal relationships between the various chords can be captured by the **transition probability matrix** $A$. In the following, we use the notation $\\alpha_{i}\\rightarrow\\alpha_{j}$ to refer to the transition from state $\\alpha_{i}$ to state $\\alpha_{j}$ for $i,j\\in[1:I]$. For example, the coefficient $a_{1,2}$ expresses the probability for the transition $\\alpha_{1}\\rightarrow\\alpha_{2}$ (corresponding to $\\mathbf{C}\\rightarrow\\mathbf{C}^\\sharp$), whereas $a_{1,8}$ expresses the probability for $\\alpha_{1}\\rightarrow\\alpha_{8}$ (corresponding to $\\mathbf{C}\\rightarrow\\mathbf{G}$). In real music, the change from a tonic to the dominant is much more likely than changing by one semitone, so that the probability $a_{1,8}$ should be much larger than $a_{1,2}$. The coefficients $a_{i,i}$ express the probability of staying in state $\\alpha_{i}$ (i.e., $\\alpha_{i}\\rightarrow\\alpha_{i}$) for $i\\in[1:I]$. These coefficients are also referred to as **self-transition** probabilities.\n",
"\n",
"A transition probability matrix can be specified in many ways. For example, the matrix may be defined manually by a music expert based on rules from harmony theory. The most common approach is to generate such a matrix automatically \n",
"by estimating the transition probabilities from labeled data. In the following figure, we show three different transition matrices (using a log probability scale for visualization purposes). \n",
"\n",
"* The first one was learned from labeled training data based on the [Beatles collection](../C5/C5S3_ChordRec_Beatles.html) using bigrams (pairs of adjacent elements) in the labeled frame sequences. As an example, the coefficient $a_{1,8}$ (corresponding to the transition $\\mathbf{C}\\rightarrow\\mathbf{G}$) has been highlighted. \n",
"* The second matrix is a **transposition-invariant** transition probability matrix obtained from the previous matrix. To achieve transposition invariance, the labeled training dataset is augmented by considering all twelve possible [cyclic chroma shifts](../C3/C3S1_TranspositionTuning.html) to the considered bigrams. \n",
"* The third matrix is a **uniform** transition probability matrix with a large value on the main diagonal (self-transitions) and a much smaller value at all remaining positions. \n",
"\n",
"<img src=\"../data/C5/FMP_C5_F29-30-32.png\" width=\"900px\" align=\"left\" alt=\"FMP_C5_F29-30-32\">\n",
"\n",
"<br clear=\"all\" />\n",
"\n",
"For more details on the construction of these transition matrices, we refer to Section 5.3.4.2 of <a href=\"http://www.music-processing.de/\">[Müller, FMP, Springer 2015]</a>. In the following code cell, we read a `CSV`-file that contains the precomputed transition matrix estimated on the basis of the [Beatles collection](../C5/C5S3_ChordRec_Beatles.html). In the visualization, we show both the probability values as well as the log-probability values. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'fn_csv' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m/tmp/ipykernel_23374/3864277426.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;31m# Load transition matrix estimated on the basis of the Beatles collection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;31m#fn_csv = os.path.join('..', 'data', 'C5', 'FMP_C5_transitionMatrix_Beatles.csv')\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m \u001b[0mA_est_df\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn_csv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdelimiter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m';'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 65\u001b[0m \u001b[0mA_est\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mA_est_df\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_numpy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'float64'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'fn_csv' is not defined"
]
}
],
"source": [
"def plot_transition_matrix(A, log=True, ax=None, figsize=(6, 5), title='',\n",
" xlabel='State (chord label)', ylabel='State (chord label)',\n",
" cmap='gray_r', quadrant=False):\n",
" \"\"\"Plot a transition matrix for 24 chord models (12 major and 12 minor triads)\n",
"\n",
" Notebook: C5/C5S3_ChordRec_HMM.ipynb\n",
"\n",
" Args:\n",
" A: Transition matrix\n",
" log: Show log probabilities (Default value = True)\n",
" ax: Axis (Default value = None)\n",
" figsize: Width, height in inches (only used when ax=None) (Default value = (6, 5))\n",
" title: Title for plot (Default value = '')\n",
" xlabel: Label for x-axis (Default value = 'State (chord label)')\n",
" ylabel: Label for y-axis (Default value = 'State (chord label)')\n",
" cmap: Color map (Default value = 'gray_r')\n",
" quadrant: Plots additional lines for C-major and C-minor quadrants (Default value = False)\n",
"\n",
" Returns:\n",
" fig: The created matplotlib figure or None if ax was given.\n",
" ax: The used axes.\n",
" im: The image plot\n",
" \"\"\"\n",
" fig = None\n",
" if ax is None:\n",
" fig, ax = plt.subplots(1, 1, figsize=figsize)\n",
" ax = [ax]\n",
"\n",
" if log is True:\n",
" A_plot = np.log(A)\n",
" cbar_label = 'Log probability'\n",
" clim = [-6, 0]\n",
" else:\n",
" A_plot = A\n",
" cbar_label = 'Probability'\n",
" clim = [0, 1]\n",
" im = ax[0].imshow(A_plot, origin='lower', aspect='equal', cmap=cmap, interpolation='nearest')\n",
" im.set_clim(clim)\n",
" plt.sca(ax[0])\n",
" cbar = plt.colorbar(im)\n",
" ax[0].set_xlabel(xlabel)\n",
" ax[0].set_ylabel(ylabel)\n",
" ax[0].set_title(title)\n",
" cbar.ax.set_ylabel(cbar_label)\n",
"\n",
" chord_labels = get_chord_labels()\n",
" chord_labels_squeezed = chord_labels.copy()\n",
" for k in [1, 3, 6, 8, 10, 11, 13, 15, 17, 18, 20, 22]:\n",
" chord_labels_squeezed[k] = ''\n",
"\n",
" ax[0].set_xticks(np.arange(24))\n",
" ax[0].set_yticks(np.arange(24))\n",
" ax[0].set_xticklabels(chord_labels_squeezed)\n",
" ax[0].set_yticklabels(chord_labels)\n",
"\n",
" if quadrant is True:\n",
" ax[0].axvline(x=11.5, ymin=0, ymax=24, linewidth=2, color='r')\n",
" ax[0].axhline(y=11.5, xmin=0, xmax=24, linewidth=2, color='r')\n",
"\n",
" return fig, ax, im\n",
"\n",
"# Load transition matrix estimated on the basis of the Beatles collection\n",
"#fn_csv = os.path.join('..', 'data', 'C5', 'FMP_C5_transitionMatrix_Beatles.csv')\n",
"A_est_df = pd.read_csv(fn_csv, delimiter=';')\n",
"A_est = A_est_df.to_numpy('float64')\n",
"\n",
"fig, ax = plt.subplots(1, 2, gridspec_kw={'width_ratios': [1, 1], \n",
" 'height_ratios': [1]}, \n",
" figsize=(10, 3.8))\n",
"\n",
"plot_transition_matrix(A_est, log=False, ax=[ax[0]], title='Transition matrix')\n",
"plot_transition_matrix(A_est, ax=[ax[1]], title='Transition matrix with log probabilities')\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To obtain the **transposition-invariant transition matrix**, we simulate the [cyclic chroma shifts](../C3/C3S1_TranspositionTuning.html) on the matrix-level by cyclically shifting and averaging the four quadrants (defined by the major-chord and minor-chord regions) of the original matrix. In the visualization, we show the original transition matrix as well as the resulting transposition-invariant transition matrix. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x273.6 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def matrix_circular_mean(A):\n",
" \"\"\"Computes circulant matrix with mean diagonal sums\n",
"\n",
" Notebook: C5/C5S3_ChordRec_HMM.ipynb\n",
"\n",
" Args:\n",
" A (np.ndarray): Square matrix\n",
"\n",
" Returns:\n",
" A_mean (np.ndarray): Circulant output matrix\n",
" \"\"\"\n",
" N = A.shape[0]\n",
" A_shear = np.zeros((N, N))\n",
" for n in range(N):\n",
" A_shear[:, n] = np.roll(A[:, n], -n)\n",
" circ_sum = np.sum(A_shear, axis=1)\n",
" A_mean = circulant(circ_sum) / N\n",
" return A_mean\n",
" \n",
"def matrix_chord24_trans_inv(A):\n",
" \"\"\"Computes transposition-invariant matrix for transition matrix\n",
" based 12 major chords and 12 minor chords\n",
"\n",
" Notebook: C5/C5S3_ChordRec_HMM.ipynb\n",
"\n",
" Args:\n",
" A (np.ndarray): Input transition matrix\n",
"\n",
" Returns:\n",
" A_ti (np.ndarray): Output transition matrix\n",
" \"\"\"\n",
" A_ti = np.zeros(A.shape)\n",
" A_ti[0:12, 0:12] = matrix_circular_mean(A[0:12, 0:12])\n",
" A_ti[0:12, 12:24] = matrix_circular_mean(A[0:12, 12:24])\n",
" A_ti[12:24, 0:12] = matrix_circular_mean(A[12:24, 0:12])\n",
" A_ti[12:24, 12:24] = matrix_circular_mean(A[12:24, 12:24])\n",
" return A_ti\n",
"\n",
"\n",
"A_ti = matrix_chord24_trans_inv(A_est)\n",
"\n",
"fig, ax = plt.subplots(1, 2, gridspec_kw={'width_ratios': [1, 1], \n",
" 'height_ratios': [1]}, \n",
" figsize=(10, 3.8))\n",
"\n",
"plot_transition_matrix(A_est, ax=[ax[0]], quadrant=True, \n",
" title='Transition matrix')\n",
"plot_transition_matrix(A_ti, ax=[ax[1]], quadrant=True, \n",
" title='Transposition-invariant transition matrix')\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we provide a function for generating a uniform transition probability matrix. This function has a parameter $p\\in[0,1]$ that determines the probability for self transitions (the value on the main diagonal). The probabilities on the remaining positions are set such that the resulting matrix is a probability matrix (i.e., all rows and columns sum to one)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x273.6 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def uniform_transition_matrix(p=0.01, N=24):\n",
" \"\"\"Computes uniform transition matrix\n",
"\n",
" Notebook: C5/C5S3_ChordRec_HMM.ipynb\n",
"\n",
" Args:\n",
" p (float): Self transition probability (Default value = 0.01)\n",
" N (int): Column and row dimension (Default value = 24)\n",
"\n",
" Returns:\n",
" A (np.ndarray): Output transition matrix\n",
" \"\"\"\n",
" off_diag_entries = (1-p) / (N-1) # rows should sum up to 1\n",
" A = off_diag_entries * np.ones([N, N])\n",
" np.fill_diagonal(A, p)\n",
" return A\n",
"\n",
"fig, ax = plt.subplots(1, 2, gridspec_kw={'width_ratios': [1, 1], \n",
" 'height_ratios': [1]}, \n",
" figsize=(10, 3.8))\n",
"\n",
"p = 0.5\n",
"A_uni = uniform_transition_matrix(p)\n",
"plot_transition_matrix(A_uni, ax=[ax[0]], title='Uniform transition matrix (p=%0.2f)' % p)\n",
"p = 0.9\n",
"A_uni = uniform_transition_matrix(p)\n",
"plot_transition_matrix(A_uni, ax=[ax[1]], title='Uniform transition matrix (p=%0.2f)' % p)\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## HMM-Based Chord Recognition\n",
"\n",
"As discussed before, the free parameters of the HMM-based model can either be learned automatically from the training set or set manually using musical knowledge. Continuing with our Bach example, we now present an experiment that demonstrates the effect of applying HMMs to our chord recognition scenario. We use the following setting:\n",
"\n",
"* As observation sequence $O$, we use a sequence of chroma vectors.\n",
"* As for the transition probability matrix $A$, we simply use a uniform transition matrix. \n",
"* As for the initial state probability vector $C$, we use a uniform distribution.\n",
"* As for the emission probability matrix $B$, we replace them by the likelihood matrix $B[O]$, which is a normalized version of the chord similarity matrix also used for the [template-based chord recognition](../C5/C5S2_ChordRec_Templates.html).\n",
"* The frame-wise chord recognition results is given by the state sequence computed by the [Viterbi algorithm](../C5/C5S3_Viterbi.html). \n",
"\n",
"Using the likelihood matrix $B[O]$ instead of emission probabilities requires a small modification of the original algorithm. In the following code cell, we provide the implementation of this modification using a numerically stable log version. We then compare the HMM-based results with the [template-based approach](../C5/C5S2_ChordRec_Templates.html) showing the [evaluation results in the form of time&ndash;chord visualizations](../C5/C5S2_ChordRec_Eval.html), respectively."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x252 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAD0CAYAAABw6ZdUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deZhcZZnH/e9PdgibgqASDBAUkC0kODoouwiRIIwbiA4uqMwrg+jEHQXndYmaCOMy8GJ0QAdFAVEQBxUhCipCB4MBQeywKMoa1sawJff7x/MUOalUVVd1d3XVOf37XFdfXXXOqXPuu04tTz3bUURgZmZmVnXP6nUAZmZmZuPBhR4zMzObEFzoMTMzswnBhR4zMzObEFzoMTMzswnBhR4zMzObECZEoUfS1ZLeMk7HOk7SZeNxrBYxHCxpsJcxdJOkdSWFpK06eMzukn7TzbjMzGwlSetL+pOkTXsdS03XCj2Shgp/KyQtK9w/ulvHHS1Jd0t6Ra/jsDH3GeALtTv5PP9N0rqFZcdLurSTnUp6vqTvS7pL0sOSfiVpet02x0j6S37tny9p47r1h0haJOmxvN1r2zjuWYX305OSnircv1DSDrlgWFt2q6T/6CS3fJzPS7pB0nJJH2mwfktJ38u5Pyjpm4V1X5a0RNKjkv4o6agOjjunLqchSSfkdVdLejwvu0/SeZKe22lueV/r5hgb/kiQdFB+Hk/qYJ/F+Gp/0wqF9QFJKmw/V9IZI4k/P/49eb9vKSz7V0m35PNyj6RvSNqgzf0dnD+zh/K5u2kkPxol7Zlf1/+QdI2knVtsu6Tu+Xpa0nmF9a/Lr6EhSVdKelEHcdydYxjK79P5ktYbQT7PknRqfp3fL+nTLbZ9Z10+/8jn6CV5/bMlnZNfv/dI+lgHcRyXn5/i/uf1Yy4R8Q/gHGB2J/F1U9cKPRExqfYH/AWYVVh2TreOa/1D0pq9jgFA0guBfwIuqVu1LvD/jHL3GwJXAbsDzwbOAy6RtE4+9jTgy8CbgOcBAv6rENvuwP+QPhQ2AqYDfxjuoBHxtsL760vA2YX31xF5s+WFbd4GfFbSvh3m9yfgP4Cf16/IX9wXAbcCk4EtgK8UNnkEOATYGHg3cIbqCoTDKOY0KSK+XFh3bM5rR2BLCgXaDn0c+FujFfkczgOuHcF+j62L/feFddsARzR7YCckbQ68n3Sein4JvDwiNgamkl5bJ3ew61vz81t73FmStusgrvWAHwFnApuS3hcXNvtMiIjtCq/VjYB78mPIX67fBN4ObAJcDvxQUiffXwflfc8A/pmRfQn/O/AqYCdgD+BNkt7WJJ9v1H0HfgC4KSJuzJt8DQhga2Av4D2d/CgAFtS9vjr9QTOeuZwDvLNfvg961rwlaQ1Jn1D6BXp/LiluktftkEuy71T6Nb5U0jskvVzpV+dDkr5U2Ndxki6X9P9JeiT/Iti7yXF3kLRA0gO5ZHq2pA3zuvOA5wI/06q/LF8p6Xf5uNdJ2muY9J7VLBalX2U3K/2CGpT0jsK6LSVdmo+zVNLlhXWTJf0oP1e3SjqusG6D/Pw9JGkxMG2Y5/50SXfm+K6R9LLCujmSvivpghzjtbUSfV5/t6QP5RwekHRm4Qv+4JzTJyTdA5yel79X6ZfcUkk/kLRFm7GsKenknO8jOZYtC6kckvf7oKRTW6T8auDqiHiqbvkXgI9ImtTq+WolIv4UEV+OiHsiYjnwVdIH89S8yVuBCyLitxHxKPBJ0gdMrYbpk8BXIuKyiFgeEfdFxG0jjadFnL8CbgGa/tpu8rhvRsRPgaEGq2eRCjQfi4hHIuLJ4pd7RJwUEbdExIqIuAr4HfCyBvsZsYi4H/ghHeYFoFRbcASpYNPIR4ELSYW6sfQF4D87/NJu5ot5fw8VF0bEHRGxNN8VsIKVr8m2RfJ9YBmpgNmuVwGPR8R/R8QTpOd4Q6CdWvRXAeuTCtSQCs6XRcTvIuJpUq3ti4CXdxAPABHxN+Ay0o+UTh0DfCEi7oqIvwCnkX5MtPvYswv3DwU+HxHLImIwr3tHw0d2x7jlEhFLgKdIP+h6rpd9ej4IHER6E2xFelKKX1xrALsC25JK+F8hlc73ycvfLumfCtvvDVwPPAeYQ/olsFGTY/8n6dfhLsCLSb/2iIg3APeSfxVExJclTSF9qH6c9Ev+pLzvVm2UrWK5i/Qm3gg4DvhaoVDxYdIvts1ItQKnQCogAj8BfgM8HzgY+JikffLjPpPzmQIcxvAv3t/m3J9D+jV2nqS1CutfR3rhPjuv/0GOoeYoYH/SczeNdC5rpgBrkX75nyBpJvAJ0pfLC4D7gf9tM5aPAoeTXiebkGoLHi889pB8/D1Ir4d9m+S7C6v/Egb4NTAAnNjoQUpt0Q81+ftSo8eQapSWA7WCy0tIrwUA8q+jNYDar+aXAWtKulGp6v1s1TV/jZaSfUlfFItGkVu9l5EKUufmAu3Vkv65SQyTSOfpxkbrR0qpWesI4Pf5/skt8rq77uH/TXrtPtFgv1NJtXOfG8t4s+/m/29ucNx1WsT/kKQTC9u+knRO/6fRQSQdIOlh4GFgJqnGsSNKzSBHAusAN3QQX/3rfgVwQ14+nGOA70VE7b2u/FdvJAXdrUmfJ4OFZe2+ZnaikFO+PWw+uXC9J6t+7sGqOYkR5NPgWP2ay03Abm0n0k0R0fU/4HbgwLpltwF7Fe5vA/yD9ITtQKoue05h/WPAawv3LwGOy7ePA26r2/8fgDfk21cDb2kS25HAbwv37wZeUbh/MvD1usf8EnhTk/21jKXB9pcC78m3v0Cq0t22bpt9gD/XLfsUcHq+/Xdg38K6E4DBNs+N8vP+4nx/DqnqtLZ+TWApsGfh+XlbYf2/ADfm2wfn87RWYf05wH8W7m9C+tW5ZRux3AG8usF26+bXx4zCsouAE5vk+G3glLpld5MK3HsAD5Kq4I8HLh3F63xT4Gbg/YVlvy4+X3nZUlKBYY38XPyZVLjfCLgY+EaHx50DzK9bVnsPPZTz+2Pt/TLC3M4HPlK37Fv5GG8hFXSPIRVqN2lwXs8FfthhTk/k+Gt/z87rrs6vs4eAO8kF9A7zOQq4sPC6Haxbfyn58ybHflIH+y7G9xDwm7rX7Vb5fTOY319zgTM6jH8t0hfVHoVjNvuMm0z6vNi2zX0fTCq4PwQ8AFwHvK7D+D4DnFW37IL611CDx21E+gx4WWHZrqSaxr2AtYFP5/fN+9uM5W7g0fwX+dxuOILnO4AphWW7kGqz2nkuLq1bdj6p8LsB6cfjX4CH24zlOFIlQfG9sXs/55LP/Yc6ec679deTmh5JIr0Rf1IrhZJ+qT2L9IsfUn+EpYWHLSO18xbvF5sl7qw7zB2kWpH6Yz9fqePj3yQ9Aswn1aw080LgLcUSM6ld+PmSDtTKzl0L24lF0mG5GeeBvK/9C8f/DKkAc4VSM9EHCjFMqYvhA8CW+bncAvhr3fGakvTR/Ev/YdIX4rp1z8Ez+4pUnfx3Vn0u649VXHd3rNqM9PxiPBHxEKmvxwtaxZLzegGwpEUqxV8u/2DV10PRg6Sq9dVExHWkPgKj6miXazJ+Avw8Ioo1lkOkD/KiDYFHIzWHPUkqsNwaEY+QvuxnjiaWguURsUlEbBoRO0XEiDvLNrEMuDki/jcinoqIs0nP9T/Vbfdl8vuow/1/O8df+3ugsO49edlWEXFM3bqWcq3rp0l9YRqtfwOpZedHHcZb9J5C3KvVfkXED0hfVm8f4f5PBH6dX78tRcRfgStY/dd5K7fl2J8dEXtExAUdxtfodb8RqeDRyhuBv0bE1bUFEfEH4F3A10mfReuQPhfqP2dbOSQiNiTV8uxMqsVuW/5Me4JVcxo2n/w59hZWbQ4C+DfS992tpB+659BZPr+se28saveBPcplQ+qaYHulJ4WeSEW/vwH71524dSO10Y9E/fDlrUlvkHpfJP0K2zkiNgKOZdWqufrLzv+V9KVUjHODiDg1Uj+MWgevYntlw1iURk+cB/y/wHMjotYpTwAR8XBEvC8iXkhqYjpJqf/QX0lfLsUYNoyII/JzeS+pEFk8XkOSXkXqxHYEqdbl2aQvr+JzMLmw/RqkgsvfG61n9ee5/vn7O+kLr7a/jUlvsL+1iqXwGmm782QLfyA1AzTzSVItzyojgLT6iJLi32mF7dYj1dDcTKplK7qRQrWupJ1Iv6JrhbnFrP6cdV27uQ3jDwwTu6Q5pBq1QyKiUb+gMSXpUy3yqn227ER6DV+dq/y/Q/pRcbek5wEHAP+c798NvBb4sKTvj3G4J5GaftcpxL9Oi/iHCj+EDgCOLMS4B/BVNR/FsyZj8F7qIL761/2zSIWN4Zo36/uLABAR380F982Az5N+EC2s3244EfFz4Ht5H7XY2nnNQKotLTbR7NZGPvuT+r39sC6O+yLiTRGxRUTsSnoNXNNpPvX6OJcdWbU5rXfGozqJxs1bHyWNCJmc7z+XNMILUtX803Xb38+qVZ7nA7NjZXXf0/n/mqTS6IPAxnn9M1W/pGaQr5KaFrYmnZzBwn4XAf9auL8tqUbhgPyY9fLt1ZpnhouFVJuygvRL+Fmk/jePk6vO8/1tSAWQKcB9pGaQtUhfjieSakLWJFX51qq2/ys/lxuTChg30aR5i1StfgewOenF+WnSl/Ar8vo5pNqHQ/NxP0rqt7FGXn83qbr7eTmf3wGfzOsaNRMcSurHtHOO/QxSp8R2YvkE6YNt2/ycTCMVjp5pJigcp2kTBOkL7l5WbXarb8b8NqnZqaPmrRz3T0kfpGs0WL8H6RfOy0g1UedRqPYnjR67hfRa3ID0gfL1ujiPHCaGZs1bT3eSS5N9r5Wf7x+QvqTXBZ6V121BqrU7kvTeODq/ZjfJ6z+VX4ubN9l309wa5VRY17Qpp4Octiz8HUVqbt+S9L7cqG79D3M8mxae26D5Z0DD+Jq8bq/Mr7tOm7c2rYtxIfBeYKO8/l9rxyF9pvwG+E7d+6XhMWnwPh7Bc7we6QfPcfk98h/k5rwWj9mW9Nk5ucG6GfncbJHPxzfr4m3aNMPq7/Xnkztmd5jTiaSC/pakz5RbqGu6bvCYbwFnNlg+NZ/DNUmf+0uB7eteQw2bAvNzetkoz8945rItqZWm6bkfz79edmT+AqkX/eWSHiW9KfcYxf5+RfpSfIDU6fiIiHi4wXafJP3yfJg0MqO+2vYzwGdyM9LxEXErqdblU6SC1x3A+2hdS9Ywlki1WLNJtQJLSZ10f1J43I7AAlI146+AuRFRG3U0kzTU8g7SF8vprGzOOSnH9hdSX6dvtYjt4rzvJaTqyPvz/oouIPW+fzDn/rpITTE155Kqy/9MKow1HS4cET8mdQa9iPQhuCVpRFM7sczJ+VxO+nI9g8Kv4nZFqt7/Ha2bjU5h9er4duxLqjKfBTxc+FW1Zz72daQPmPNJb/xnkV4/NaeTnu/fk754HyR9QSBpfVK18Kh/AY7Ct0lfEEeQaiiXkZogiIh7SK/hT5DeTyeQfrg8pDSi75OkD7zb6msCeplbpKa4u2t/pOd8eb6/ItJItOL6x4GhiHgw72Iy6bVf/74ZidoAiU5zeLAuxqdI/SgeyZvsClwj6TFSwep6Vp2eYTKpv1lXRMQyUg3ZcaRC/5HA4ZGay2tzv9TX1BwDXJHfr/VOJ30G3EiqAX5vYV1HuUTE38k/ktp9TPZl4Bekgvwi4LyIOKu2Mteevq5wfxLph91qNVekkWc3kXI6mdTn88+F9VuRvhO7ZTxzOZrUT/HpsU5iJJRLYqWmNHz79RFxYK9jKbvcHLFZRBzbZP3dpOf6qvGNbHSU5sP5WkQMN91A35B0IHB0RIy030ffKnNuShO5/TlSH6bSyQXOa4Fd637MlJKk/yXVjv6y17GMBaWRg1+PiP16Hcto5dfa70lzRrXd766bXOixVVS10GNmZjYhrr1lZmZmVomaHjMzM7PhuKbHzMzMJoS+uABYN2y22Wax+eabs8EGbV1YuHQee+wx51ZSVc5vxLkNNrzIeTJ1avNtautGcqwOHzuq81Z/zHbyHc1xOtxv09xG+Fz1E7/fVrr99tu5//77G13So2sktdOc9NOIOLjrwdDjQo+k5aQhzyLNz3J8RIzJML0pU6Ywd+5c9t1337HYXd9ZsGCBcyupKuc34txmzWq+7uKLm29TWzeSY3X42FGdt/pjtpPvaI7T4X6b5jbC56qf+P220owZM7oXzOi0uirCmOp1Tc+yiNgdQNKrSfO57NPbkMzMzKyK+qlPz0akScKQtK+kX0r6vqRbJM2RdLTSNasWSxqLSxOYmZnZBNLT0VuF5q11SZc12D8iFkralzTV+I6kWY1vJU1Jf7Kk9wHbRMSJDfb3buDdAFtsscX0+fPnM2lSs2tQltvQ0JBzK6kq5zfi3ErQp2dU563P+/Q0za0CfXr8fltp9uzZDAwM9GOfnoURMS5tb/3UvPVy4FuSds7rro2Iu/K6JcDP8vLFQMOZKiPiTOBMgBkzZsSkSZPclltCVc4Nqp3fiHOb1+w6mazsT9Jom5H0NantZzz79NQfs518R3OcDvfbNLcRPlf9xO83K+qb5q2I+C2pM9PmedEThdUrCvdX0PvCmpmZmZVM3xR6JO1AulLz0l7HYmZmZtXT6xqT9SQtyrcFHBMRy6VxbXI0s15rp/lkrJpYetFUU3/MbsUw1vstcbOWWSNdL/RIOgL4AbBjRNxct/r7wEeBw4G7I+ISgIhYACyobRQR+xZur7LOzMzMrB3j0bx1FHAVcGSDddtExO2kuXmuHIdYzMzMbILqaqFH0iRgL+CdFAo9ks6R9Efgxbl56yDgEknH5vW3S/qspN9KGpC0h6SfSloi6bhuxmxmZmbV1NV5eiS9BdgvIt4p6Teky0xcl9e9EZgMXAB8MSLeUHjc7cDnI+J0SacCB5AKT+sCN0bEc5scz/P0VECVc4Nq5+fcysm5lZPn6elct/v0HAWclm+fm+9fl+9PAy4DdgEWrf5QLsr/FwOTIuJR4FFJj0vaJCIeqn+A5+mphirnBtXOz7mVk3Mrpyrn1i1dK/RIeg6wP7BzLumtAYSkBcBngG2AQ0nz8jwm6cCIKE46WJyXp37Onl6POjMzM7OS6Wbh4fXAtyLiPbUFkn4JPAJMB34VEXtJ+gVwREQ80sVYzJobq6t397sKXDHbzGw0utmR+SjgwrplFwBvJjVtXS9pbWAt4ABJkScoNDMzMxtzXavpKc6tU1j25cLdgfx/b0nfZ+Ww9lMiYkrhMWcBZxXuP7POzMzMrF09vwxFo2HtkvaV9EtJ35d0i6Q5ko6WdI2kxZK262nQZmZmVjo9L/SQZmO+NCJuAR6QtEdevhvwPtLorrcCL4qIlwLzgX/vSaRmZmZWWl2dp6etAKRLgNMi4ueSTiDN3XMJ8PGIeFXe5lfARyPi15L2B06IiMMb7Mvz9FTAuOc2OLj6sqlTu3a4np27Wp5VzG0cOLdycm4rlXGenjwS/Bf57pbAcuC+fH834HpSV52bSNfv/EerA/V06HezYe3AT1h9mHpxCHvDuD1PTzWMe27z5q2+rIsjnHp27mp5VjG3ceDcysm5lVtELAV2B5B0CjAUEXPz/aGIqK07BzgO+FKr/fW6eas2rP2FETElIiYDtwGv6HFcZmZmVh5XAsNWY/d6kr+jgDl1yy4A/g1YMv7h2IQ0UeatmSh5mlnZbCZpoHD/zNxy0xZJawKHAJcOt21XCz2StgBOBV4GPAg8CXwhIi6ENKxd0oI8S/Mc4Nw8rL04tH2V4e8RsQBY0M24zczMbNzcP8Jrb62XL1oOqabnG8M9oJuXoRDwQ+DsiHhzXvZC4LDCNusByyPicUl7Ah/sVjxmZmZWKctqfXra1c0+PfsDT0bEGbUFEXFHRHwFQNIVpIuJ7ixpMWlo+rWSZub1Q5I+L2mhpMskvTTXCt0q6bAGxzMzMzNrqmtD1vPw820i4v0ttvkQqe/OUuA1EfHBwroAZkbE/0m6ENgAeA2wE6n2aLXSnYesV0OVc4Nq5+fcysm5ldNEGLJet69TWH30Vkcnd9w6Mkv6GmlU1pMRsWdePI3UcXkmsKjuIU+yslPSYuCJiHgq1wpNaXQMD1mvhirnBtXOz7mVk3Mrpyrn1khEnFJ3v+PSbDcLPTcCr6vdiYj3StoMGJB0LHA8aXjZjsDWwD2SZkbE0fkhT8XKaqhn5umJiBW5p7aZmZlZ27rZp+dyYF1J/1ZYtj5ARMwHDgIuz81UgxGxY6HAY2ZmZjamulboybU0hwP7SLpN0jXA2cCH8yZ7A1dJmgzc0a04zEZl1qz0Z2ZmpdfVZqKIuIt85fQG684vzOMzXdJCCvP4FNvqxqIdz8zMzCa2nl2GojCPz68iYtuImE4qIG3Vq5jMzMysunrZIbjhPD7AVyS9jdQ0tgawMzAPWBt4K6lD88yIeGDcIzYzM7PS6to8PcMeuMU8PrnQcxJpSPu6wCDw4Yg4Q9KpwB0RcVqDx3mengroq9wGB9P/qcNex65tfZXfGHNu5eTcymmizdMzFvpm6HdxHh/ga8AVEfEo8Kikh4Ha1RIXA7s22ofn6amGvspt3rz0fwwv1tlX+Y0x51ZOzq2cqpxbt/SsTw9pHp89anci4r3AAcDmedEThW1XFO6voI8Ka2ZmZlYOvSz0NJ3Hx6xvXHzxmNbymJlZ73S9xkTSclKTVM3hEXF7RISkw4HrJX2Y1Hfnb6R5fNbrdlxmZmY2sYxHM1GrS78/BCyOiAMk/RrYNyKeyuvOqm0UEVMKt88qrjMzMzNrRy/n6bmCVAO0c76I6C7AtZJm5vVDkj4vaaGkyyS9VNICSbdKOqxXcZuZmVk5dX3Iel3z1m0RcURh3YeAJcBS4DUR8cHCuiDNx/N/ki4ENgBeA+wEnN2o9shD1quhyrlBtfNzbuXk3MrJQ9Y71+vmrWnABcBMYFHduieBS/PtxcATEfFUrhWa0mhnHrJeDVXODaqdn3MrJ+dWTlXOrVt6MvRb0rHA8cBUYEdga+AeSTMLV1p/KlZWQz0zZD0iVkjykHUzMzPrSE/69ETEfOAg4PJcCzQYETsWCjxmZmZmY6qX8/TsDVwlaTJwRw/jMOtvs2alP7N+4tellVDXm4kiomEvq4g4v3Zb0r9IKvbpObz4uIg4pZ19mpmZWf+YPnUqA6ee2nIbjWPhuV/6xrTq7GxmZmY2av1S6FlNvtL64cAawM7APGBt4K2kTs0zI+KBngVoZmZmpdL1eXraCqLBXD650HMSaVj7usAg8OGIOEPSqcAdEXFa3X48T08FVDk3GEF+g4Pp/9Sp3QloDFX53Dm3OiV5Xfq8rdSLeXpmbL99tNG8Val5etrRrHnrioh4FHhU0sNA7cqPi4Fd6zf2PD3VUOXcYAT5zZuX/pfgwqdVPnfOrU5JXpc+b1bUy9Fb7XiicHtF4f4K+qfAZmZmZiXQ74UeMzMzszHh2hKzftfnzQc2Qfl1aSXU80JPrRNzYZ6ecyNiTkScBZxV2y4iphRur7LOzMzMbDg9L/TgOXrMzMxsHPRtnx5Jt0v6rKTfShqQtIekn0paIum4XsdnZmZm5dIPNT3r1V2C4nMR8b18+68R8fI8L89ZwF6kOXtuBM6o31HdPD0MDQ2xYMGCbsbeM86tvKqcn3MrJ+dWTlXOrVv6odDTqnnrovx/MTCpMGfP45I2iYiHiht7np5qqHJuUO38nFs5ObdyqnJu3dK3zVtZcV6e+jl7+qHAZmZmZiXR74UeMzMzszHRtUKPpOWSFkm6UdL1kj4gqdHxNsjr75N0i6Q53YrJzMzMJq5uNhE901dH0nOB7wAbAyfXNpC0HnB5RBwg6dfAvhHxFLSel6e4zszMzKwd49K8FRH3kkZVHS9JAJKuIHVQ3lnSYmAX4FpJM/P6IUmfl7RQ0mWSXippgaRbJR02HnGbmZlZdSgiurNjaSgiJtUtexDYISLuyfc/BCwBlgKviYgPFrYNYGZE/J+kC4ENgNcAOwFnNxrxVTdkffr8+fOZNGlS/WaVMDQ05NxKqsr5Obdycm7l1Glus2fPZmBgQF0MaTUztt8+Bk49teU2mjVrYUTMGI94xnsEVP2TPQ24AJgJLKpb9yRwab69GHgiIp7KtUJTGu3cQ9arocq5QbXzc27l5NzKqcq5FdUuV1VYdDipHHAFcFhEXJy3+zEwNyIWNNvXuBV6JG0LLAfulXQscDwwFdgR2Bq4R9LMiDg6P+SpWFkN9cyQ9YhYIcnD1c3MzCaG1ebzkzQFuBP4OND21W/HpU+PpM1JMyh/NZL5wEGkTsy7A4MRsWOhwGNmZmbWyvXAw5Je1e4DulljUru8xFrA08C3gS8V1u8NXCVpMnBHF+Owqrq47cJ9Qzos9YePiy4aZsuV23aitt/6x86dO5f99tuv4/20Up9Lo3hbrRsrneZW062+hS3NmrXq/ZG+nur3M9r9mU08m0kaKNw/M3dXqSleruq2iDiisO7T+e/n7Ryoa4WeiFhjmPXn53a6NwNrSboeOBs4LSJWFDtBR8QpdY+tZq80MzOzief+YToyN71cVURcKQlJr2znQL3uGzPsXD5mZmZmLXyG1Lfn6eE27JvLUNTP5SPpbZJ+KOliSbdJOj7P6vx7SVdLenavYzYzM7PeioifAZsCuw23bdfm6WlHq7l8gEOAk0jD2tcFBoEPR8QZkk4F7oiI0+oe63l6KqDt3B5+eFTHWTg4CMD0qVPb3rYTtf3WP3arrbbizjvv7Hg/rdTn0ijeVuvGSqe51UyfPr0L0Qyj/nkY5nlu+rps9ny2cd76hT9PymmizNPTpKywLzA7Ig7N9w8DfgTs1xdD1jtQPCFXRMSjwKOSHmblsLTFwK71D/Q8PdXQdm6j7Ci63+zZQHsdhWvbdqK23/rHzp07l9kd7K+T+Jodc7h1Y6XT3Gp68uNr3rxV7w/zemr6uqzfT5v76yf+PCmnKudW1Kgfby7YLCjcv4jV5wJcTd80b8Gqc/nkRU8UVq8o3F9BfxbYzMzMrE/1TaGnfi6fXsdjZmZm1dL12hJJWwKnAXuSampuB06MiFtIY+8fBO4jXVvrCuBT3a9ZI/8AABmPSURBVI7JKqLZ/Cht6qRsPZpyeP1jFyxYMObNOfX7a7X/bv6m6EZuXTNWzU8lasYym+i6WtOTr6h+IbAgIraLiJ2AjwFbwDNz+fwpIl4EXEPqqLwirzsrIo6v7SsipkTE/Y3WmZmZmQ2n281b+5GuoXVGbUFELMqTCZ0j6Y/Ai/NMiwcBl+TrciHpdkmflfRbSQOS9pD0U0lLJB3X5bjNzMysYrrdvLUzsLDRiog4WtIbgcmkK61/MSLeULfZXyPi5XmI+lnAXqTh6zeS+v+YmZmZtaVloUfSYqBpA31ErDZsvEPTgMuAXYBFDdbXxuouBiYVhq8/LmmTiHioLt7iPD0MDQ2xYMGCUYbYn5xbeVU5P+dWTs6tnKqcW7cMV9NzaP7/3vz/2/n/0cA/2tj/jcDr6xdKmgl8FtgmH2Nz4DFJB0ZE8WqFxSHq9cPXV4vd8/RUQ5Vzg2rn59zKybmVU5Vz65aWfXoi4o6IuAPYKyI+FBGL899HgFe3sf/LgXUkvau2QNKewGPAdOCGiNiFVDiaVlfgMTMzMxsz7fbp2UDSKyLiKgBJ/0waYt5SRISkI4DTJH0EeJw8ZJ3UtHW9pLWBtSLikZEkYNZSq2HtVRhqXMuvlkv9fTMze0a7hZ53AP8jaWNSH5+H87JhRcTfgTc2WT2Q5/H5u6QlrDqPz5TCPs4idWSu3Z+CmZmZWQeGLfRIehYwNSJ2k7QR6SKlo7vS48p91+bxOTsijszLdifN43PLWBzDzMzMDNqYpydPFnh8vv3IWBV4sobz+ABrSPqlpO9LukXSHElHS7pG0mJJ241hDGZmZjYBqJ0p4yV9AlgGfI/UCRmAiHhgVAeXTgC2iYj31y3fF/ghsCPwAHArMD8iTpb0vvyYExvsrzhkffr8+fOZNGm1i7NWwtDQkHNrx+Bg83VTp47NMTrUlfxqudTfH2d+XZaTcyunTnObPXs2AwMDw16JfCzN2H77GDj11JbbaNashRExYzzi6aRPD6wcug6pb8+2YxvOKq6NiLsAcn+fn+Xli0k1RKvxkPVqGNPc5s1rvq5HnX27kl8tl/r748yvy3JybuVU5dy6pa1CT0Rs06XjN5zHJ6ufl6c4Z0/XL5RqZmZm1dLWtbckrSXpBEnn57/jJa01BsdvNo/PPmOwbzMzM7NntFtjcjqwFvDf+f5b87JjR3PwFvP4/HA0+zV7RtXnq6nPr+r5lp3nUTLrqXYLPXtGxG6F+5dLun4sAmgxj8/XC7dfCczPQ9yXk0eTmZmZWR+77z4488xeR/GMtpq3gOXFYeKStiUVPsbLsojYPRe8Pgp8bhyPbWZmZhXQbk3PB4ErJN0KCHgh8PauRdXaRsCDPTq2mZmZlVRb8/QASFoHeDGp0HNzRDwxzEPGjKTlpKHq6wLPA/aPiIUNtvM8PRVQ5dyg2vk5t2H0eB6lZnzeyqkU8/RsskkM7L13y2108cV9N08PpKuiT8mP2U0SEfGtrkS1umURsTuApJcD35K0c9SV2DxPTzVUOTeodn7ObRg9nkepGZ+3cqpybt3SVqFH0reB7YBFrOzLE8B4FXqeERG/lbQZsDlw73gf38zMzMqp3ZqeGcBO9TUrvSBpB2ANYGmvYzEzM7PyaLfQcwOwJXBXtwLJ8/X8ANgxIm6uW72+pD8CGwNPA8dExHiOHjMz60xtTh5Y2ZzVZ81abSvmUlPWXGxCa1nokXQxqRlrQ+CPkq6hcHmIiDhsDGM5CrgKOBI4pW7dNRHxMkkXAsdHxN/G8LhmZmY2AQxX03MRsAVwZd3yfYAxK3hImgTsRbqQ6EXkQo+kc4BpwPMkLQK2By6R9NWImD9WxzczM7PqG67Q81rgYxHxh+JCSY8BJwPfGKM4DgcujYhbJD0gaY+IuC4ijpb0RmAycAHwxYh4wxgd08zMzCaQlvP0SLohInZusm5xROwyJkFIlwCnRcTPJZ0ATI6ID+Z1nwMuA9YHdo2Iz7TYj+fpqYAq5wbVzs+5FdTm5IG+m5en3rC5FXOp6fOcavyaXMnz9Axf07Nui3XrjUUAkp4D7A/sLClII7NC0gLgM8A2wKGkIeqPSTowIvZrtC/P01MNVc4Nqp2fcyuozckDfd/pd9jcirnU9HlONX5NWtFw1966VtK76hdKeiew2ozII/R64FsR8cKImBIRk4HbgEdIEyLekGuUbgSmNSvwmJmZmbUyXE3PicCFko5mZSFnBrA2cMQYxXAUMKdu2QXAm4FlwPWS1gbWiohHxuiYZmbdVZKakLZUKReb0FoWeiLiHuCfJe0H1Pr2XBIRl49VABGxb4NlXy7cHQCQdGpu/mo0j4+ZmZlZS21NThgRVwBXdDmW4bSax8fMzMyspeH69PSFwjw+7yQVeszMzMw60slV1nup4Tw+9RvVDVlnaGiIBQsWjHOo48O5lVeV83Nu5eTcyqnKuXVLWQo9RwGn5dvn5vurFXo8ZL0aqpwbVDs/51ZOzq2cqpxbkaTlwOLCosOBKcCPgFtJ0+ucGxGfGm5ffV/oaTGPz4f64arvZmZm1lXLImL34gJJU4ArI+JQSRsAiyT9OCJaTqdThj49zebxeUWP4zIzM7Mei4jHSNPqbDfctmUo9BwFXFi3rDaPj5mZmZXbZpIGCn/vrlu/nqRF+a++PFBrEXoZaRLjlnrevCVpC+BUUsAPAk8CX4iICyHN4yNpQb4sxRxSu92Xm+3PzMzMSuX+Ya69tVrzVvZKSb8HVgBzIqK/Cz2SBPwQODsi3pyXvRA4rLDNesDyiHhc0p7AB3sSrJmZmfWTKyPi0E4e0Ovmrf2BJyPijNqCiLgjIr4CIOkKUo/tnSUtBnYhXQ9sZk+iNTMzs9LqdfPWS2gw9LwmIvaT9CFgCbAUeE1ENK3p8Tw91VDl3KDa+Tm3cnJu5VTl3Lql14WeVUj6GmlU1pMRsWdePI3UcXkmsKjV4z1PTzVUOTeodn7OrZycWzlVObeiiJjUYNkCYEGn++p1oedG4HW1OxHxXkmbAQOSjgWOB6YCOwJbA/dImhkRR/ckWjMzMyutXvfpuRxYV9K/FZatDxAR84GDgMtzr+3BiNjRBR4zMzMbiZ7W9ERESDocODX33bkPeAz4cN5kb+AqSdOALSXdSoNh7WZWchdfPKKH6bDDht+oTlx00Yj2NXfuXPbbb7+29zdSI8mpplUsrfY7qtxmzWorNrN+0OvmLSLiLppcOT0izs/D2n8DfLY2yqt+WLuZmZnZcHpe6GlDw2HtwFd6F5KZmZmVjfr9mp2STgC2iYj3t7Ftccj69Pnz5zNp0mqdvithaGjIuZVUlfMbcW4PPzyi4y0cHOz4MdOnTh3RvrbaaivuvPPOtvc3UiPJqaZVLK32O6rcNt64rdh6xe+3lWbPns3AwIC6GNJqZmyySQzsvXfLbXTxxQuHmZF5zJShpmcVTYa1Ax6yXhVVzg2qnd+Icxthn579Zs/u+DHN+qkMt6+5c+cyu8E2Y92nZyQ51bSKpdV+R5Vbn7+W/X6zol6P3mrHjcAetTsR8V7gAGDznkVkZmZmpVOGQk/TYe1mZmZm7er75q02hrWbWdmNcNjzWPZJHG5fCxYsGNPjjTSObux3vHIz67W+KfRIWk66uGjN4RFxO6Rh7ZK2JM3MPAc4NyKuHv8ozczMrKz6ptADLMszL69G0nrA8oh4XNKeQNOLjpqZmZk10vd9eiRdQaoB2lnSYmAX4FpJM3sbmZmZmZVJ38zTU9e8dVtEHFFY9yFgCbAUeE1ENKzp8Tw91VDl3KDa+Tm3cnJu5eR5ejpXiuYtYBpwATATWNRsB56npxqqnBtUOz/nVk7OrZyqnFu39FOhZzWSjgWOB6aSOjFvDdwjaaavtm5mZmad6Os+PRExHzgIuDzXAg1GxI4u8JiZmVmn+rqmJ9sbuErSZOCOXgdj1rba3DMjvMSCmVnpTZ0Kw13OROPXzahvCj0R0bA3VkScDys7Okuq9el5Zh4fMzMzs+H0TaGnDa06OpuZmZm11Nd9eszMzMzGSt/M0zOcVvP4FLbxPD0VUJncBgfT/6lTV1lcmfwacG7l5NzKqRTz9MyYEQMDAy23kTQh5+kZzrDNW56npxoqk9u8eel/XUfmyuTXgHMrJ+dWTlXOrVvcvGVmZmYTggs9ZmZmNiGUqXlrg8JwdYBzI2JOz6IxG47n5zEz6ytlKvQ85iHrZmZmNlJu3jIzM7MJoaxD1gE+FxHfq9vGQ9YroMq5QbXzc27l5NzKyUPWO1em5i0PWS+o8lDFKucG1c7PuZWTcyunKufWLW7eMjMzswnBhR4zMzObEMrUvLVe3ZD1SyPiIz2LxszMzEql54WeQgfltYCngbOB0yJiRd2mVwIHA3NIc/RcPa6BmpmZWan1Q/PWsojYPSJeArwKmAmcXNxA0nrA8oh4HNgTWDj+YZqZmVmZ9UOh5xkRcS9pyPnxkgQg6QpSTdDOkhYDuwDXSprZu0jNzMysbHo+T4+koYiYVLfsQWCHiLgn3/8QsARYCrwmIj7YZF+ep6cCqpwbVDs/51ZOzq2cPE9P53rep6eJ+pMyDbiA1PS1aPXNE8/TUw1Vzg2qnZ9zKyfnVk5Vzq1G0nOAX+S7WwLLgfvy/d2AL0XEf+RtZwOTIuKUZvvru0KPpG1JSd0r6VjgeGAqsCOwNXCPpJkRcXQPwzQzM7Mui4ilwO4Akk4BhiJibr7/OPAvkj4XEfe3s7++6tMjaXPgDOCrkcwHDgIuz7MxD0bEji7wmJmZTXhPk1p33t/uA/qh0LOepEWSbgQuA34GfKqw/i5ghqQ/AS+S9AFJ/RC3VdmsWenPes/nwqzqNpM0UPh7dweP/RpwtKSN29m4581bEbHGMJssi4jnA0h6LvAdYGPqhrWbmZlZKd0/0o7MEfGIpG8BJwDLhtu+VDUmjYa0m5mZ2YR2GvBOYIPhNixVoQcgIm4lxf3cXsdiZmZmvRURDwDfJxV8Wup589YINazlqZunh6GhIRYsWDCecY0b59Zlr31t+t+FOPoivy7pSm5dPBed8HkrJ+c2YcwjjfZuqXSFnuKQ9vp1nqenGvoit3nz0v+LLx7zXfdFfl3Sldy6eC464fNWTs6tOurn3ylObJwnM15/uH2Uqnmrfkh7r+MxMzOz8ihDTc96khax8irs3wa+1NuQzMzMrGz6otAjaUtS7+s9gSeA24ETI+KWiFhD0neBjwKHA3dHxIqeBWsTQ4+bUqzA58LMxkjPm7fy0PMLgQURsV1E7AR8DNiisNk2EXE7sA9w5fhHaWZmZmXX80IPsB/wVEScUVsQEYsi4kpJ50j6I/Di3MR1EHBJviaXmZmZWdvU6/7Akk4g1eQ0vHaGpDcCk0lXWf9iRLyhxb6KQ9anz58/n0mTJjXbvNSGhoacW0lVOT/nVk7OrZw6zW327NkMDAyM68S+M2bMiIGBgZbbSFo40hmZO9UXfXqGMY10Ta5dgEWtNvSQ9Wqocm5Q7fycWzk5t3Kqcm7d0g+FnhuB19cvlDQT+CywDXAosDnwmKQDI2K/8Q3RzMzMyq4f+vRcDqwj6V21BZL2BB4DpgM3RMQupMLRNBd4zMzMbCR6XtMTESHpCOA0SR8BHicPWSc1bV0vaW1grYh4pO0dDw7C4CDar5plpLlz57LfBM8tDj10+J1VabjzrFmrL6tSflZK/X7tZ39WWlHPCz0AEfF34I1NVg9A6tAs6VwazOUzLkGamZlZqfVD89aw2pzLx8zMzKypvqjpaUPDuXx6GI+ZmZmVTM/n6WnHcHP5FLZbOU/PpptOn3/mmfzpjjvGI8Rxt9VWW3HnnXf2OoyuaDe36RtvPPzOpk4dg4jG1ojnDRkcXH1Zn+XnOVHKaTS5LVy4cIyjGVv+rFxp9uzZRITn6amKVebp2WSTmPTQQ8yePbvHUXXH3LlzJ3xuZe3IPOK5NebNW31Zn+VX5XlDnFtj/d6R1p+VVlSKPj2k4erTex2EmZmZlVdZCj0N5/KRtE8PYzIzM7MSKUWfHgBJzwdOI9X4PDOXT0T8ucn295EmOLx/vGIcZ5vh3Mqqyvk5t3JybuXUaW4vjIjNuxVMI5IuJcXZyv0RcfC4xFOWQs9ISBoYr85R4825lVeV83Nu5eTcyqnKuXVLWZq3zMzMzEbFhR4zMzObEKpe6Dmz1wF0kXMrryrn59zKybmVU5Vz64pK9+kxMzMzq6l6TY+ZmZkZ4EKPmZmZTRCVLPRIOljSnyQNSvpIr+MZLUmTJV0h6SZJN0p6X15+iqS/SVqU/2b2OtaRkHS7pMU5h4G87NmSfi7pz/n/pr2Os1OSXlw4N4skPSLpxLKeN0nflHSvpBsKy5qeJ0kfze/BP0l6dW+ibk+T3L4o6WZJf5B0oaRN8vIpkpYVzt8ZzffcH5rk1/R1WIFz971CXrdLWpSXl+bctfjcr8R7rmciolJ/wBrAEmBbYG3gemCnXsc1ypyeB+yRb28I3ALsBJwCzO51fGOQ3+3AZnXLvgB8JN/+CPD5Xsc5yhzXAO4GXljW8wbsDewB3DDcecqvz+uBdYBt8ntyjV7n0GFuBwFr5tufL+Q2pbhdGf6a5NfwdViFc1e3fh7wybKduxaf+5V4z/Xqr4o1PS8FBiPi1oh4EjgXeG2PYxqViLgrIq7Ltx8FbgJe0Nuouu61wNn59tnA4T2MZSwcACyJiDt6HchIRcSvgAfqFjc7T68Fzo2IJyLiNmCQ9N7sS41yi4ifRcTT+e7VwFbjHtgYaXLumin9uauRJOCNwHfHNagx0OJzvxLvuV6pYqHnBcBfC/fvpEIFBElTgGnA7/Ki43P1+zfL2ASUBfAzSQslvTsv2yIi7oL05gee27PoxsaRrPrBW4XzBs3PU9Xeh+8A/q9wfxtJv5f0S0mv7FVQY6DR67BK5+6VwD2x6uWKSnfu6j73J8p7riuqWOhRg2WVGJcvaRJwAemaY48ApwPbAbsDd5Gqcctor4jYAzgEeK+kvXsd0FiStDZwGHBeXlSV89ZKZd6Hkj4OPA2ckxfdBWwdEdOADwDfkbRRr+IbhWavw8qcO+AoVv2xUbpz1+Bzv+mmDZaV9bx1TRULPXcCkwv3twL+3qNYxoyktUgv/HMi4gcAEXFPRCyPiBXA1ylpVWZE/D3/vxe4kJTHPZKeB5D/39u7CEftEOC6iLgHqnPesmbnqRLvQ0nHAIcCR0fuOJGbD5bm2wtJfSde1LsoR6bF67Aq525N4F+A79WWle3cNfrcp+LvuW6rYqHnWmB7SdvkX9hHAhf1OKZRye3S3wBuiogvFZY/r7DZEcAN9Y/td5I2kLRh7Tap8+gNpHN2TN7sGOBHvYlwTKzya7MK562g2Xm6CDhS0jqStgG2B67pQXwjJulg4MPAYRHxj8LyzSWtkW9vS8rt1t5EOXItXoelP3fZgcDNEXFnbUGZzl2zz30q/J4bF73uSd2NP2Amqaf7EuDjvY5nDPJ5Bama8g/Aovw3E/g2sDgvvwh4Xq9jHUFu25JGHFwP3Fg7X8BzgF8Af87/n93rWEeY3/rAUmDjwrJSnjdSwe0u4CnSr8p3tjpPwMfze/BPwCG9jn8EuQ2S+kjU3nNn5G1fl1+r1wPXAbN6Hf8I82v6Oiz7ucvLzwKOq9u2NOeuxed+Jd5zvfrzZSjMzMxsQqhi85aZmZnZalzoMTMzswnBhR4zMzObEFzoMTMzswnBhR4zMzObEFzoMasgSc8pXEn67rqraf+mS8ecJml+vr2OpMvy8d7UjeN1ENfxkt7eyxjMrD94yLpZxUk6BRiKiLldPs55wKcj4npJLyNd/XmfBtutERHLuxlL3fHWB34d6dIDZjaBuabHbIKRNJT/75svuvh9SbdImiPpaEnXSFosabu83eaSLpB0bf7bq8E+NwR2zQWe5wL/C+yea3q2k3S7pE9Kugp4g6R35X1dn/e9ft7PWZJOl3SFpFsl7ZMvhnmTpLMKxztI0m8lXSfpvHx9InIOf8wX0ZwLEGk25dsllflyH2Y2BlzoMZvYdgPeB+wCvBV4UUS8FJgP/Hve5r+AUyNiT9KMtvMb7GcG+TIGka6hdixwZUTsHhFL8jaPR8QrIuJc4AcRsWdE7AbcRJohuGZTYH/g/cDFwKnAS4BdJO0uaTPgJODASBeqHQA+IOnZpMspvCQidgU+XdjnAOmK22Y2ga3Z6wDMrKeujYi7ACQtAX6Wly8G9su3DwR2SpcCAmAjSRtGxKOF/TwPuG+YY32vcHtnSZ8GNgEmAT8trLs4IkLSYuCeiFic47sRmEK6kOJOwK9zTGsDvwUeAR4H5ku6BPhxYZ/3AjsME5+ZVZwLPWYT2xOF2ysK91ew8vPhWcDLI2JZi/0sA9Yd5liPFW6fBRyem8PeBuzbIKZiPMWYlgM/j4ij6g+Qm7AOIF1o+HhSjRE5tlbxm9kE4OYtMxvOz0gFCAAk7d5gm5uAqR3sc0PgLklrAUd3GM/VwF6SpuZ41pf0otyvZ+OI+AlwIlCM80WU+2r2ZjYGXOgxs+GcAMzInYP/CBxXv0FE3AxsnDs0t+MTwO+AnwM3dxJMRNwHvA34rqQ/kApBO5AKUj/Oy35J6hNUsxdwWSfHMbPq8ZB1MxsTkt4PPBoRjTo694ykacAHIuKtvY7FzHrLNT1mNlZOZ9U+OP1iM1LNkplNcK7pMTMzswnBNT1mZmY2IbjQY2ZmZhOCCz1mZmY2IbjQY2ZmZhOCCz1mZmY2Ifz/f9qCy9k/gmcAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 648x252 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"@jit(nopython=True)\n",
"def viterbi_log_likelihood(A, C, B_O):\n",
" \"\"\"Viterbi algorithm (log variant) for solving the uncovering problem\n",
"\n",
" Notebook: C5/C5S3_Viterbi.ipynb\n",
"\n",
" Args:\n",
" A (np.ndarray): State transition probability matrix of dimension I x I\n",
" C (np.ndarray): Initial state distribution of dimension I\n",
" B_O (np.ndarray): Likelihood matrix of dimension I x N\n",
"\n",
" Returns:\n",
" S_opt (np.ndarray): Optimal state sequence of length N\n",
" S_mat (np.ndarray): Binary matrix representation of optimal state sequence\n",
" D_log (np.ndarray): Accumulated log probability matrix\n",
" E (np.ndarray): Backtracking matrix\n",
" \"\"\"\n",
" I = A.shape[0] # Number of states\n",
" N = B_O.shape[1] # Length of observation sequence\n",
" tiny = np.finfo(0.).tiny\n",
" A_log = np.log(A + tiny)\n",
" C_log = np.log(C + tiny)\n",
" B_O_log = np.log(B_O + tiny)\n",
"\n",
" # Initialize D and E matrices\n",
" D_log = np.zeros((I, N))\n",
" E = np.zeros((I, N-1)).astype(np.int32)\n",
" D_log[:, 0] = C_log + B_O_log[:, 0]\n",
"\n",
" # Compute D and E in a nested loop\n",
" for n in range(1, N):\n",
" for i in range(I):\n",
" temp_sum = A_log[:, i] + D_log[:, n-1]\n",
" D_log[i, n] = np.max(temp_sum) + B_O_log[i, n]\n",
" E[i, n-1] = np.argmax(temp_sum)\n",
"\n",
" # Backtracking\n",
" S_opt = np.zeros(N).astype(np.int32)\n",
" S_opt[-1] = np.argmax(D_log[:, -1])\n",
" for n in range(N-2, -1, -1):\n",
" S_opt[n] = E[int(S_opt[n+1]), n]\n",
"\n",
" # Matrix representation of result\n",
" S_mat = np.zeros((I, N)).astype(np.int32)\n",
" for n in range(N):\n",
" S_mat[S_opt[n], n] = 1\n",
"\n",
" return S_mat, S_opt, D_log, E\n",
"\n",
"A = uniform_transition_matrix(p=0.5)\n",
"C = 1 / 24 * np.ones((1, 24))\n",
"B_O = chord_sim\n",
"chord_HMM, _, _, _ = viterbi_log_likelihood(A, C, B_O)\n",
"\n",
"P, R, F, TP, FP, FN = libfmp.c5.compute_eval_measures(ann_matrix, chord_HMM)\n",
"title = 'HMM-Based approach (N=%d, TP=%d, FP=%d, FN=%d, P=%.2f, R=%.2f, F=%.2f)' % (N_X, TP, FP, FN, P, R, F)\n",
"fig, ax, im = libfmp.c5.plot_matrix_chord_eval(ann_matrix, chord_HMM, Fs=1, \n",
" title=title, ylabel='Chord', xlabel='Time (frames)', chord_labels=chord_labels)\n",
"plt.tight_layout()\n",
"plt.show()\n",
"\n",
"P, R, F, TP, FP, FN = libfmp.c5.compute_eval_measures(ann_matrix, chord_max)\n",
"title = 'Template-based approach (N=%d, TP=%d, FP=%d, FN=%d, P=%.2f, R=%.2f, F=%.2f)' %\\\n",
" (N_X, TP, FP, FN, P, R, F)\n",
"fig, ax, im = libfmp.c5.plot_matrix_chord_eval(ann_matrix, chord_max, Fs=1, \n",
" title=title, ylabel='Chord', xlabel='Time (frames)', chord_labels=chord_labels)\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this example, the HMM-based chord recognizer clearly outperforms the template-based approach. The improvements in HMM-based approach come specifically from the **transition model** that introduces context-sensitive smoothing. In the case of **high self-transition probabilities**, a chord recognizer tends to stay in the current chord rather than change to another one, which can be regarded as a kind of smoothing. This effect is also demonstrated in our Bach example, where the broken chords cause many [chord ambiguities](../C5/C5S2_ChordRec_Eval.html) of short duration. This leads to many random-like chord changes when using a simple template-based chord recognizer. Using an HMM-based approach, chord changes are only performed when the relatively low transition probabilities are compensated by a substantial increase of emission probabilities. Consequently, only the dominant chord changes remain."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prefiltering vs. Postfiltering\n",
"\n",
"In the [FMP notebook on chord recognition evaluation](../C5/C5S2_ChordRec_Eval.html), we showed for the Bach example that one may achieve similar improvements by applying a longer window size when computing the input chromagram. Applying longer window sizes more or less amounts to temporal smoothing of the observation sequence. Since this smoothing is performed **prior** to the pattern matching step, we also call this strategy **prefiltering**. Note that such a prefiltering step not only smoothes out noise-like frames, but also washes out characteristic chroma information and blurs transitions. As opposed to prefiltering, the HMM-based approach leaves the feature representation untouched. Furthermore, the smoothing is performed in combination with the pattern matching step. For this reason, we also call this approach **postfiltering**. As a result, the original chroma information is preserved and transitions in the feature representation are kept sharp. \n",
"\n",
"<img src=\"../data/C5/FMP_C5_F13.png\" width=\"500px\" align=\"middle\" alt=\"FMP_C5_F13\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Further Notes\n",
"\n",
"In this notebook, we introduced a basic HMM-based approach for chord recognition. In our simplistic model, we used $24$ states that correspond to the $12$ major and $12$ minor triads and fixed the HMM parameters explicitly using musical knowledge. \n",
"\n",
"* In the application to chord labeling, the HMM was then used to uncover the most likely chord labeling sequence that generates a given sequence of chroma features&mdash;an idea originally introduced by [Sheh and Ellis](https://www.ee.columbia.edu/~dpwe/pubs/ismir03-chords.pdf). \n",
"\n",
"* In general, there is a delicate interplay of the various feature extraction, filtering, and pattern matching components composing a chord recognition system. In this context, we refer to the excellent overview paper [On the Relative Importance of Individual Components of Chord Recognition Systems](https://ieeexplore.ieee.org/document/6691936) by Cho and Bello. \n",
"\n",
"* In the article [Analyzing Chroma Feature Types for Automated Chord Recognition](https://secure.aes.org/forum/pubs/conferences/?elib=15943) by Jiang et al., the importance of the input representation is investigated.\n",
"\n",
"In this book, we have only considered a basic HMM variant. There are many more variants and extensions of HMMs including continuous HMMs and HMMs with specific state transition topologies. Rather than fixing the model parameters manually, the power of general HMMs is to automatically learn the free parameters based on training examples (e.g., using the [Baum-Welch Algorithm](../C5/C5S3_HiddenMarkovModel.html)). The estimation of the model parameters can become very intricate, leading to challenging and deep mathematical problems. For an excellent textbook on the classical theory of HMMs, including the discrete as well as the continuous case, we refer to the excellent book on [Hidden Markov Models for Speech Recognition](https://dl.acm.org/doi/book/10.5555/575447) by Huang et al. (1990). We close this notebook with an overview of a typical HMM-based chord recognition approach consisting of a training and an evaluation stage.\n",
"\n",
"<img src=\"../data/C5/FMP_C5_F33.png\" width=\"600px\" align=\"center\" alt=\"FMP_C5_F33.png\">\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert\" style=\"background-color:#F5F5F5; border-color:#C8C8C8\">\n",
"<strong>Acknowledgment:</strong> This notebook was created by <a href=\"https://www.audiolabs-erlangen.de/fau/professor/mueller\">Meinard Müller</a> and <a href=\"https://www.audiolabs-erlangen.de/fau/assistant/weiss\">Christof Weiß</a>.\n",
"</div> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<table style=\"border:none\">\n",
"<tr style=\"border:none\">\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C0/C0.html\"><img src=\"../data/C0_nav.png\" style=\"height:50px\" alt=\"C0\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C1/C1.html\"><img src=\"../data/C1_nav.png\" style=\"height:50px\" alt=\"C1\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C2/C2.html\"><img src=\"../data/C2_nav.png\" style=\"height:50px\" alt=\"C2\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C3/C3.html\"><img src=\"../data/C3_nav.png\" style=\"height:50px\" alt=\"C3\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C4/C4.html\"><img src=\"../data/C4_nav.png\" style=\"height:50px\" alt=\"C4\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C5/C5.html\"><img src=\"../data/C5_nav.png\" style=\"height:50px\" alt=\"C5\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C6/C6.html\"><img src=\"../data/C6_nav.png\" style=\"height:50px\" alt=\"C6\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C7/C7.html\"><img src=\"../data/C7_nav.png\" style=\"height:50px\" alt=\"C7\"></a></td>\n",
" <td style=\"min-width:50px; border:none\" bgcolor=\"white\"><a href=\"../C8/C8.html\"><img src=\"../data/C8_nav.png\" style=\"height:50px\" alt=\"C8\"></a></td>\n",
"</tr>\n",
"</table>"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}