{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
midi_note
0C-1
1C#-1
2D-1
3D#-1
4E-1
......
123D#9
124E9
125F9
126F#9
127G9
\n", "

128 rows × 1 columns

\n", "
" ], "text/plain": [ " midi_note\n", "0 C-1\n", "1 C#-1\n", "2 D-1\n", "3 D#-1\n", "4 E-1\n", ".. ...\n", "123 D#9\n", "124 E9\n", "125 F9\n", "126 F#9\n", "127 G9\n", "\n", "[128 rows x 1 columns]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import operator\n", "import pathlib\n", "import re\n", "\n", "import pandas as pd\n", "\n", "FORMAT = {'na_values': '', 'keep_default_na': False}\n", "\n", "CH = {'country_code': 'CH',\n", " 'url': 'https://de.wikipedia.org/wiki/Liste_der_gr%C3%B6ssten_Glocken_der_Schweiz',\n", " 'format': {'index_col': 'Name', **FORMAT},\n", " 'note_col': 'Schlagton (HT-1/16)'}\n", "\n", "DE = {'country_code': 'DE',\n", " 'url': 'https://de.wikipedia.org/wiki/Liste_von_Glocken_in_Deutschland',\n", " 'format': {'index_col': 'Name', **FORMAT},\n", " 'note_col': 'Ton:'}\n", "\n", "FR = {'country_code': 'FR',\n", " 'url': 'https://fr.wikipedia.org/wiki/Liste_des_bourdons_de_France',\n", " 'format': {'index_col': 'Nom', **FORMAT},\n", " 'note_col': 'Note (éventuelle justesse en 16e de ton)'}\n", "\n", "NOTES = [note\n", " for c_note in 'CDEFGAB'\n", " for sign in ('', '#')\n", " for note in [f'{c_note}{sign}']\n", " if note not in ('E#', 'B#')]\n", "\n", "assert len(NOTES) == 12\n", "\n", "MIDI_NOTES = [midi_note\n", " for octave in range(-1, 10)\n", " for note in NOTES\n", " for midi_note in [f'{note}{octave:d}']\n", " if midi_note not in ('G#9', 'A9', 'A#9', 'B9')]\n", "\n", "assert len(MIDI_NOTES) == 128\n", "assert MIDI_NOTES[60] == 'C4'\n", "assert MIDI_NOTES[69] == 'A4'\n", "\n", "\n", "pd.Series(MIDI_NOTES, dtype='string').to_frame('midi_note')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
note
aA
bB
cC
dD
eE
fF
gG
hB
a_sharpA#
b_sharpC
c_sharpC#
d_sharpD#
e_sharpF
f_sharpF#
g_sharpG#
a_flatG#
b_flatA#
c_flatB
d_flatC#
e_flatD#
f_flatE
g_flatF#
\n", "
" ], "text/plain": [ " note\n", "a A\n", "b B\n", "c C\n", "d D\n", "e E\n", "f F\n", "g G\n", "h B\n", "a_sharp A#\n", "b_sharp C\n", "c_sharp C#\n", "d_sharp D#\n", "e_sharp F\n", "f_sharp F#\n", "g_sharp G#\n", "a_flat G#\n", "b_flat A#\n", "c_flat B\n", "d_flat C#\n", "e_flat D#\n", "f_flat E\n", "g_flat F#" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def iterenharmonic(raw_c_notes='abcdefg'):\n", " \"\"\"Yield pairs of raw note name and corresponding canonical representation.\"\"\"\n", " for raw_note in raw_c_notes:\n", " yield raw_note, raw_note.upper()\n", "\n", " yield 'h', 'B'\n", "\n", " for raw_note in raw_c_notes:\n", " sharp = 'C' if raw_note == 'b' else 'F' if raw_note == 'e' else f'{raw_note[0].upper()}#'\n", " yield f'{raw_note}_sharp', sharp\n", "\n", " for raw_note, enh_note in zip(raw_c_notes, raw_c_notes[-1:] + raw_c_notes[:-1]):\n", " flat = 'B' if raw_note == 'c' else 'E' if raw_note == 'f' else f'{enh_note.upper()}#'\n", " yield f'{raw_note}_flat', flat\n", "\n", "\n", "CANONICAL = dict(iterenharmonic())\n", "\n", "assert set(CANONICAL.values()) == set(NOTES)\n", "\n", "pd.Series(CANONICAL, dtype='string').to_frame('note')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 78 entries, Grosse Glocke / Susanne to nan\n", "Data columns (total 6 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Ort, Kirche 78 non-null string\n", " 1 Schlagton (HT-1/16) 78 non-null string\n", " 2 Masse (kg, ca.) 78 non-null string\n", " 3 Giesser, Gussort 78 non-null string\n", " 4 Gussjahr 78 non-null string\n", " 5 Disposition des Gesamtgeläuts 78 non-null string\n", "dtypes: string(6)\n", "memory usage: 4.3+ KB\n", "\n", "Index: 469 entries, Petersglocke (im Volksmund Decke Pitter, Dicker Pitter) to Katharinaglocke\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Nr. 469 non-null Int64 \n", " 1 Bild 0 non-null Int64 \n", " 2 Gebäude 469 non-null string\n", " 3 Standort 469 non-null string\n", " 4 Bundesland 469 non-null string\n", " 5 Ton: 469 non-null string\n", " 6 Masse (kg) 469 non-null string\n", " 7 Ø (mm) 455 non-null string\n", " 8 Jahr 469 non-null string\n", " 9 Gießer, Gussort 469 non-null string\n", " 10 Werkstoff 469 non-null string\n", " 11 Konf. 453 non-null string\n", " 12 Bemerkungen 55 non-null string\n", "dtypes: Int64(2), string(11)\n", "memory usage: 52.2+ KB\n", "\n", "Index: 208 entries, La Savoyarde (Françoise Marguerite du Sacré Coeur de Jésus)  Classé MH to Christ-Roi\n", "Data columns (total 10 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Édifice 183 non-null string\n", " 1 Lieu 208 non-null string\n", " 2 Poids en kg 172 non-null string\n", " 3 Note (éventuelle justesse en 16e de ton) 180 non-null string\n", " 4 Date 177 non-null string\n", " 5 Fondeur 174 non-null string\n", " 6 Masse (en kg) 25 non-null string\n", " 7 Note (diapason de l'époque) 25 non-null string\n", " 8 Année 25 non-null string\n", " 9 Disparue 25 non-null string\n", "dtypes: string(10)\n", "memory usage: 17.9+ KB\n" ] } ], "source": [ "def read_bells_html(country_code, url, format, *, note_col, encoding='utf-8'):\n", " del note_col\n", " path = pathlib.Path(f'bells_{country_code.lower()}.csv')\n", " if not path.exists():\n", " df = pd.concat(pd.read_html(url, **format))\n", " df.convert_dtypes().to_csv(path, encoding=encoding)\n", " return pd.read_csv(path, encoding=encoding, **format).convert_dtypes()\n", "\n", "\n", "ch = read_bells_html(**CH)\n", "de = read_bells_html(**DE)\n", "fr = read_bells_html(**FR)\n", "\n", "ch.info()\n", "de.info()\n", "fr.info()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 208 entries, La Savoyarde (Françoise Marguerite du Sacré Coeur de Jésus)  Classé MH to Christ-Roi\n", "Data columns (total 7 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Édifice 183 non-null string\n", " 1 Lieu 208 non-null string\n", " 2 Poids en kg 197 non-null string\n", " 3 Note (éventuelle justesse en 16e de ton) 205 non-null string\n", " 4 Date 202 non-null string\n", " 5 Fondeur 174 non-null string\n", " 6 Disparue 25 non-null string\n", "dtypes: string(7)\n", "memory usage: 13.0+ KB\n" ] } ], "source": [ "fr['Poids en kg'] = fr['Poids en kg'].fillna(fr['Masse (en kg)'])\n", "fr[FR['note_col']] = fr[FR['note_col']].fillna(fr[\"Note (diapason de l'époque)\"])\n", "fr['Date'] = fr['Date'].fillna(fr['Année'])\n", "fr.drop(['Masse (en kg)', \"Note (diapason de l'époque)\", 'Année'], axis='columns', inplace=True)\n", "\n", "fr.info()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basesharpflatprimesposnegdelta
Name
Petersglocke (im Volksmund Decke Pitter, Dicker Pitter)c0
Glocke für die Weltausstellungd0
Kaiserglocke[3]es0
Christus-Friedens-Glocke[4][5]e03
Gloriosa[6]e0
Kreuzglocke[7]e0+6
Gloriosa[8]e0
Christus- und Friedensglockee0
Freiheitsglockee0
Christus-Salvator-Glocke[9]e0+4
\n", "
" ], "text/plain": [ " base sharp flat primes pos \\\n", "Name \n", "Petersglocke (im Volksmund Decke Pitter, Dicker... c 0 \n", "Glocke für die Weltausstellung d 0 \n", "Kaiserglocke[3] e s 0 \n", "Christus-Friedens-Glocke[4][5] e 0 \n", "Gloriosa[6] e 0 \n", "Kreuzglocke[7] e 0 + \n", "Gloriosa[8] e 0 \n", "Christus- und Friedensglocke e 0 \n", "Freiheitsglocke e 0 \n", "Christus-Salvator-Glocke[9] e 0 + \n", "\n", " neg delta \n", "Name \n", "Petersglocke (im Volksmund Decke Pitter, Dicker... \n", "Glocke für die Weltausstellung \n", "Kaiserglocke[3] \n", "Christus-Friedens-Glocke[4][5] − 3 \n", "Gloriosa[6] \n", "Kreuzglocke[7] 6 \n", "Gloriosa[8] \n", "Christus- und Friedensglocke \n", "Freiheitsglocke \n", "Christus-Salvator-Glocke[9] 4 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BELL_NOTE = re.compile(r'''\n", "(?P[a-h]) # a0 = A3\n", "(?:\n", " (?Pis)\n", " |\n", " (?Pe?s)\n", ")?\n", "[ \\N{NO-BREAK SPACE}]?\n", "(?P[0-7]|['′]{,7}|º)\n", "(?:\n", " (?:\n", " [ \\N{NO-BREAK SPACE}]?\n", " (?:\n", " (?P[+])\n", " |\n", " (?P[-\\u2013\\u2212])\n", " )\n", " (?P1[0-6]|[1-9])\n", " (?:/16)?\n", " )?\n", ")?\n", "(?:\n", " (?:\\[\\d\\]) # footnote\n", " |\n", " (?:,.*)\n", ")?\n", "''', flags=re.VERBOSE)\n", "\n", "\n", "de[DE['note_col']].str.extract(BELL_NOTE).fillna('').head(10)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basesharpflatoctave_frposnegdelta
Nom
La Savoyarde (Françoise Marguerite du Sacré Coeur de Jésus)  Classé MHDo#2
Emmanuel  Classé MHFa#2
Charlotte Classé MHFa2
Savinienne Classé MHRe2
Jeanne d'arcFa2
Totenglocke  Classé MHSol#2
Thérèse Protectrice des PeuplesFa2
La Mutte  Classé MHFa#2
Ferdinand André IIFa#2
Marie JoséphineMi2
\n", "
" ], "text/plain": [ " base sharp flat octave_fr \\\n", "Nom \n", "La Savoyarde (Françoise Marguerite du Sacré Coe... Do # 2 \n", "Emmanuel  Classé MH Fa # 2 \n", "Charlotte Classé MH Fa 2 \n", "Savinienne Classé MH Re 2 \n", "Jeanne d'arc Fa 2 \n", "Totenglocke  Classé MH Sol # 2 \n", "Thérèse Protectrice des Peuples Fa 2 \n", "La Mutte  Classé MH Fa # 2 \n", "Ferdinand André II Fa # 2 \n", "Marie Joséphine Mi ♭ 2 \n", "\n", " pos neg delta \n", "Nom \n", "La Savoyarde (Françoise Marguerite du Sacré Coe... \n", "Emmanuel  Classé MH \n", "Charlotte Classé MH \n", "Savinienne Classé MH \n", "Jeanne d'arc \n", "Totenglocke  Classé MH \n", "Thérèse Protectrice des Peuples \n", "La Mutte  Classé MH \n", "Ferdinand André II \n", "Marie Joséphine " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BELL_NOTE_FR = re.compile(r'''\n", "(?PDo|R(?:e|é)|Mi|Fa|Sol|La|Si) # La2 = A3\n", "[ ]?\n", "(?:\n", " (?P[#])\n", " |\n", " (?P♭|b)\n", ")?\n", "[ ]?\n", "(?P[1-4]|²)\n", "(?:\n", " [ ]\n", " \\(?\n", " (?:\n", " (?P[+])\n", " |\n", " (?P[-])\n", " )\n", " (?P1[0-6]|[1-9])\n", " (?:,\\d+)? # ignore\n", " /16\n", " °?\n", " \\)?\n", ")?\n", "(?:\n", " [ ]\n", " \\(?\n", " (?:haut|bas)\n", " \\)?\n", ")?\n", "''', flags=re.VERBOSE)\n", "\n", "BASE_FR = {'Do': 'c',\n", " 'Re': 'd', 'Ré': 'd',\n", " 'Mi': 'e',\n", " 'Fa': 'f',\n", " 'Sol': 'g',\n", " 'La': 'a',\n", " 'Si': 'b'}\n", "\n", "\n", "fr[FR['note_col']].str.extract(BELL_NOTE_FR).fillna('').head(10)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "MIDI_NOTE_OPTIONAL_DELTA = re.compile(r'''\n", "(?P\n", " [A-G]\n", " [#]?\n", " (?:-1|[0-9])?\n", ")\n", "(?:\n", " (?P\n", " [+-]\n", " (?:1[0-6]|[1-9])\n", " )\n", " /16\n", ")?\n", "''', flags=re.VERBOSE)\n", "\n", "\n", "def get_note(match: pd.Series, *, french: bool, as_midi: bool, include_delta: bool) -> str:\n", " base = match.base\n", " if not base:\n", " return None\n", "\n", " if french:\n", " base = BASE_FR[base]\n", "\n", " if match.sharp:\n", " base += '_sharp'\n", " elif match.flat:\n", " base += '_flat'\n", "\n", " note = CANONICAL[base]\n", "\n", " if french:\n", " octave_fr = (2 if match.octave_fr == '²'\n", " else int(match.octave_fr) if match.octave_fr\n", " else 0)\n", " octave = 1 + octave_fr\n", " else:\n", " primes = (int(match.primes) if match.primes.isdigit()\n", " else len(match.primes) if match.primes.startswith((\"'\", '′'))\n", " else 0 if match.primes == 'º'\n", " else 0)\n", " octave = 3 + primes\n", "\n", " if match.delta:\n", " sign = '+' if match.pos or not match.neg else '-'\n", " delta = int(sign + match.delta)\n", " else:\n", " delta = 0\n", "\n", " if delta < -7:\n", " index = NOTES.index(note) - 1\n", " if index < 0:\n", " octave -= 1\n", " note = NOTES[index % len(NOTES)]\n", " delta += 16\n", " elif delta > 8:\n", " index = NOTES.index(note) + 1\n", " if index >= len(NOTES):\n", " octave += 1\n", " note = NOTES[index % len(NOTES)]\n", " delta -= 16\n", "\n", " if as_midi:\n", " note += str(octave)\n", " if include_delta and delta:\n", " note += f'{delta:+d}/16'\n", "\n", " assert MIDI_NOTE_OPTIONAL_DELTA.fullmatch(note)\n", " return note\n", "\n", "\n", "def to_notes(series, *, french=False, as_midi=False, include_delta=False, verbose=False):\n", " if verbose:\n", " print(*sorted(series), sep='|')\n", "\n", " pattern = BELL_NOTE_FR if french else BELL_NOTE\n", "\n", " missed = series[~series.str.fullmatch(pattern)]\n", " if not missed.empty:\n", " print(f'missed: {missed.tolist()}')\n", "\n", " matches = series.str.extract(pattern).fillna('')\n", " return matches.apply(get_note, axis='columns', french=french, as_midi=as_midi, include_delta=include_delta)\n", "\n", "\n", "assert pd.Series(['gis0+2', 'a0+1/16']).pipe(to_notes).equals(pd.Series(['G#', 'A']))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "FIGSIZE = (6 * 72 / 100, 4 * 72 / 100)\n", "\n", "\n", "def note_stats(bell_notes, *, french: bool = False):\n", " (bell_notes.value_counts().to_frame('n_bells')\n", " .assign(note=lambda x: x.index.to_series().pipe(to_notes, french=french))\n", " .groupby('note')['n_bells'].sum().to_frame('n_bells')\n", " .plot.bar(figsize=FIGSIZE))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['aa+3', 'h0/c1', 'a’0', 'dis’-2', 'cis’+2', 'es’+5', 'd’-1']\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "note_stats(de[DE['note_col']])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAElCAYAAADjk4nIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAbdklEQVR4nO3de3CU1f3H8c8ukIQku7kJCUgCoSL3SEEuAUsRgohawxAVZxhFRmvVAEI6YjNVbjoDg1bUclFbBS8ELI5gsQrSIAmWWwgQvNBUNMhayAbFJNyyxGR/fzDszxAq2c0mm815v2aeGZ/Lnud7CH44OfvsWYvb7XYLAGAMa6ALAAA0L4IfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGKZtoAu4VG1trY4dOyabzSaLxRLocgAgKLjdbp06dUqdO3eW1frzY/oWF/zHjh1TYmJioMsAgKDkcDjUpUuXn72mxQW/zWaTdKF4u90e4GoAIDhUVlYqMTHRk6E/p8UF/8XpHbvdTvADgJcaMkXOm7sAYBiCHwAMQ/ADgGFa3Bx/Q9XU1Ki6ujrQZRgpJCTkio+LAWi5gi743W63SktLVV5eHuhSjGW1WpWcnKyQkJBAlwLAB0EX/BdDv2PHjgoPD+dDXs3s4gfsjh8/rqSkJP78gSAUVMFfU1PjCf24uLhAl2OsDh066NixY/rxxx/Vrl27QJcDwEtBNVF7cU4/PDw8wJWY7eIUT01NTYArAeCLoBrxX8T0QmDx5w/TdPvDP5r1fkcW3dqk7QfViB8A0HgEPwAYJiinei6ntf0q9lMWi0Xr16/XhAkTfG7jvvvuU3l5uTZs2CBJGjVqlAYMGKDnn3/eLzUCCB6M+AHAMAQ/ABiG4G8mo0aN0owZMzR79mzFxsYqISFB8+bNa/Drjx8/rvHjx6t9+/bq3r273nnnnTrnHQ6H7rrrLkVHRys2Nlbp6ek6cuRIg9tfvny5evToobCwMMXHx+uOO+5o8GsBBBeCvxm9/vrrioiI0O7du7V48WItWLBAW7ZsadBrn3zySWVkZKioqEiTJ0/W3XffrUOHDkm68PmGcePGyWazafv27frXv/6lyMhI3XzzzTp//vwV2967d69mzJihBQsWqLi4WJs2bdLIkSMb1VcALVereXM3GKSkpGju3LmSpB49emjp0qXKzc3V2LFjr/jaO++8Uw888IAk6amnntKWLVv05z//WcuXL9fbb7+t2tpa/fWvf/U8Y79y5UpFR0dr27Ztuummm3627aNHjyoiIkK33XabbDabunbtql/+8peN7C2AlooRfzNKSUmps9+pUyeVlZU16LWpqan19i+O+IuKinT48GHZbDZFRkYqMjJSsbGxqqqq0ldffXXFtseOHauuXbuqe/fuuueee7R69WqdPXu2gb0CEGwY8TejS9e1sVgsqq2tbXS7p0+f1qBBg7R69ep65zp06HDF19tsNu3bt0/btm3TRx99pDlz5mjevHkqKChQdHR0o+sD0LI0asS/aNEiWSwWzZw503OsqqpKmZmZiouLU2RkpDIyMuR0Ohtbp/F27dpVb793796SpIEDB+rLL79Ux44ddc0119TZoqKiGtR+27ZtlZaWpsWLF+vgwYM6cuSItm7d6vd+AAg8n4O/oKBAL7/8cr3pi1mzZmnjxo1at26d8vLydOzYMU2cOLHRhZpu3bp1eu211/Sf//xHc+fO1Z49ezRt2jRJ0uTJk3XVVVcpPT1d27dvV0lJibZt26YZM2bo22+/vWLb77//vl588UUdOHBA33zzjd544w3V1taqZ8+eTd0tAAHg01TP6dOnNXnyZP3lL3/R008/7TleUVGhV199VTk5ORo9erSkC28y9u7dW7t27dKwYcP8U/VlNOcnaQNh/vz5Wrt2rR555BF16tRJa9asUZ8+fSRdWK00Pz9fjz/+uCZOnKhTp07p6quv1pgxY2S326/YdnR0tN59913NmzdPVVVV6tGjh9asWaO+ffs2dbcABIDF7Xa7vX3RlClTFBsbqyVLltT56P/WrVs1ZswY/fDDD3Xmhrt27aqZM2dq1qxZ9dpyuVxyuVye/crKSiUmJqqioqJeaFVVVamkpETJyckKCwvztmz4CT8HmCYYloSprKxUVFTUZbPzUl6P+NeuXat9+/apoKCg3rnS0lKFhITUe0MwPj5epaWll21v4cKFmj9/vrdlAAB85NUcv8Ph0KOPPqrVq1f7baSXnZ2tiooKz+ZwOPzSbrBYvXq15xHMSzemWgA0Ba9G/IWFhSorK9PAgQM9x2pqapSfn6+lS5dq8+bNOn/+vMrLy+uM+p1OpxISEi7bZmhoqEJDQ32rvhW4/fbbNXTo0Mue42sNATQFr4J/zJgx+vTTT+scmzp1qnr16qXHH39ciYmJateunXJzc5WRkSFJKi4u1tGjR+t9AAkX2Gw22Wy2QJcBwCBeBb/NZlO/fv3qHIuIiFBcXJzn+P3336+srCzFxsbKbrdr+vTpSk1N9esTPT68Hw0/4s8fCG5+/+TukiVLZLValZGRIZfLpXHjxmn58uV+afvi1MfZs2fVvn17v7QJ711c+K1NmzYBrgSALxod/Nu2bauzHxYWpmXLlmnZsmWNbbqeNm3aKDo62rO+TXh4OF/83cxqa2t14sQJhYeHq21bVvwAglHQ/Z978U3ihi5uBv+zWq1KSkriH10gSAVd8FssFnXq1EkdO3ZUdXV1oMsxUkhIiKxWFnYFglXQBf9Fbdq0YY4ZAHzAsA0ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGEIfgAwDMEPAIYh+AHAMAQ/ABiG4AcAwxD8AGAYgh8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADCMV8G/YsUKpaSkyG63y263KzU1VR9++KHnfFVVlTIzMxUXF6fIyEhlZGTI6XT6vWgAgO+8Cv4uXbpo0aJFKiws1N69ezV69Gilp6fr888/lyTNmjVLGzdu1Lp165SXl6djx45p4sSJTVI4AMA3Frfb7W5MA7GxsXrmmWd0xx13qEOHDsrJydEdd9whSfr3v/+t3r17a+fOnRo2bFiD2qusrFRUVJQqKipkt9sbUxoA+EW3P/yjWe93ZNGtXr/Gm+z0eY6/pqZGa9eu1ZkzZ5SamqrCwkJVV1crLS3Nc02vXr2UlJSknTt3/s92XC6XKisr62wAgKbjdfB/+umnioyMVGhoqB566CGtX79effr0UWlpqUJCQhQdHV3n+vj4eJWWlv7P9hYuXKioqCjPlpiY6HUnAAAN53Xw9+zZUwcOHNDu3bv18MMPa8qUKfriiy98LiA7O1sVFRWezeFw+NwWAODK2nr7gpCQEF1zzTWSpEGDBqmgoEAvvPCCJk2apPPnz6u8vLzOqN/pdCohIeF/thcaGqrQ0FDvKwcA+KTRz/HX1tbK5XJp0KBBateunXJzcz3niouLdfToUaWmpjb2NgAAP/FqxJ+dna3x48crKSlJp06dUk5OjrZt26bNmzcrKipK999/v7KyshQbGyu73a7p06crNTW1wU/0AACanlfBX1ZWpnvvvVfHjx9XVFSUUlJStHnzZo0dO1aStGTJElmtVmVkZMjlcmncuHFavnx5kxQOAPBNo5/j9zee4wfQ0vAcPwAgqBH8AGAYgh8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGEIfgAwDMEPAIYh+AHAMAQ/ABiG4AcAwxD8AGAYgh8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhvEq+BcuXKjBgwfLZrOpY8eOmjBhgoqLi+tcU1VVpczMTMXFxSkyMlIZGRlyOp1+LRoA4Duvgj8vL0+ZmZnatWuXtmzZourqat100006c+aM55pZs2Zp48aNWrdunfLy8nTs2DFNnDjR74UDAHzT1puLN23aVGd/1apV6tixowoLCzVy5EhVVFTo1VdfVU5OjkaPHi1JWrlypXr37q1du3Zp2LBh/qscAOCTRs3xV1RUSJJiY2MlSYWFhaqurlZaWprnml69eikpKUk7d+68bBsul0uVlZV1NgBA0/E5+GtrazVz5kyNGDFC/fr1kySVlpYqJCRE0dHRda6Nj49XaWnpZdtZuHChoqKiPFtiYqKvJQEAGsDn4M/MzNRnn32mtWvXNqqA7OxsVVRUeDaHw9Go9gAAP8+rOf6Lpk2bpvfff1/5+fnq0qWL53hCQoLOnz+v8vLyOqN+p9OphISEy7YVGhqq0NBQX8oAAPjAqxG/2+3WtGnTtH79em3dulXJycl1zg8aNEjt2rVTbm6u51hxcbGOHj2q1NRU/1QMAGgUr0b8mZmZysnJ0XvvvSebzeaZt4+KilL79u0VFRWl+++/X1lZWYqNjZXdbtf06dOVmprKEz0A0EJ4FfwrVqyQJI0aNarO8ZUrV+q+++6TJC1ZskRWq1UZGRlyuVwaN26cli9f7pdiAQCN51Xwu93uK14TFhamZcuWadmyZT4XBQBoOqzVAwCGIfgBwDAEPwAYxqfn+AHgp7r94R/Ner8ji25t1vu1Noz4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGEIfgAwDMEPAIYh+AHAMAQ/ABiG4AcAwxD8AGAYgh8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGEIfgAwDMEPAIYh+AHAMAQ/ABjG6+DPz8/Xb37zG3Xu3FkWi0UbNmyoc97tdmvOnDnq1KmT2rdvr7S0NH355Zf+qhcA0EheB/+ZM2d03XXXadmyZZc9v3jxYr344ot66aWXtHv3bkVERGjcuHGqqqpqdLEAgMZr6+0Lxo8fr/Hjx1/2nNvt1vPPP68nnnhC6enpkqQ33nhD8fHx2rBhg+6+++7GVQsAaDS/zvGXlJSotLRUaWlpnmNRUVEaOnSodu7cednXuFwuVVZW1tkAAE3H6xH/zyktLZUkxcfH1zkeHx/vOXephQsXav78+f4sA2iRuv3hH816vyOLbm3W+yF4BPypnuzsbFVUVHg2h8MR6JIAoFXza/AnJCRIkpxOZ53jTqfTc+5SoaGhstvtdTYAQNPxa/AnJycrISFBubm5nmOVlZXavXu3UlNT/XkrAICPvJ7jP336tA4fPuzZLykp0YEDBxQbG6ukpCTNnDlTTz/9tHr06KHk5GQ9+eST6ty5syZMmODPugEAPvI6+Pfu3asbb7zRs5+VlSVJmjJlilatWqXZs2frzJkzevDBB1VeXq4bbrhBmzZtUlhYmP+qBgD4zOvgHzVqlNxu9/88b7FYtGDBAi1YsKBRhQEAmkbAn+oBADQvgh8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGEIfgAwDMEPAIYh+AHAMAQ/ABimbaALAC7q9od/NOv9jiy6tVnvB7QUjPgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADAMwQ8AhuEDXEGEDzgB8AdG/ABgGIIfAAxD8AOAYQh+ADBMq3pzlzc/AeDKmmzEv2zZMnXr1k1hYWEaOnSo9uzZ01S3AgB4oUmC/+2331ZWVpbmzp2rffv26brrrtO4ceNUVlbWFLcDAHihSYL/ueee029/+1tNnTpVffr00UsvvaTw8HC99tprTXE7AIAX/D7Hf/78eRUWFio7O9tzzGq1Ki0tTTt37qx3vcvlksvl8uxXVFRIkiorK72+d63rrA8V+86XGhuD/vkX/fOf1tw3KTj6d/E1brf7yhe7/ey///2vW5J7x44ddY4/9thj7iFDhtS7fu7cuW5JbGxsbGx+2BwOxxVzOuBP9WRnZysrK8uzX1tbq5MnTyouLk4Wi6XJ719ZWanExEQ5HA7Z7fYmv19zo3/BrTX3rzX3TWr+/rndbp06dUqdO3e+4rV+D/6rrrpKbdq0kdPprHPc6XQqISGh3vWhoaEKDQ2tcyw6OtrfZV2R3W5vlX/5LqJ/wa019681901q3v5FRUU16Dq/v7kbEhKiQYMGKTc313OstrZWubm5Sk1N9fftAABeapKpnqysLE2ZMkXXX3+9hgwZoueff15nzpzR1KlTm+J2AAAvNEnwT5o0SSdOnNCcOXNUWlqqAQMGaNOmTYqPj2+K2zVKaGio5s6dW2+6qbWgf8GtNfevNfdNatn9s7jdDXn2BwDQWrBIGwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQK+ZAPQUF9//bWSk5ObZSkP+Ne5c+eUm5ur2267TdKFpVp+ujhjmzZt9NRTTyksLCxQJRrF2BH/999/7/lvh8OhOXPm6LHHHtP27dsDWFXj3HLLLZ7VTSVp0aJFKi8v9+x///336tOnTwAq848ePXroxIkTnv1JkybVWxoELdPrr7+ul19+2bO/dOlS7dixQ/v379f+/fv11ltvacWKFQGs0H/Wrl2rs2ebdzVPr/lnTc7gcfDgQXfXrl3dVqvV3bNnT/f+/fvd8fHx7sjISLfdbne3adPGvX79+kCX6ROr1ep2Op2efZvN5v7qq688+6WlpW6r1RqI0vzCYrHU6V9kZGSd/rUmmZmZ7u+//z7QZfjNDTfc4P773//u2b/0Z/fmm2+6hw0bFojS/C4mJsb9zTffuN1ut/vhhx92nzhxIsAV1WfciH/27Nnq37+/8vPzNWrUKN1222269dZbVVFRoR9++EG/+93vtGjRokCX6RP3JZ/Fu3QfLdu3337r+e+cnBydPn1aktS/f385HI5AleUXhw8fVv/+/T37YWFhslr/P36GDBmiL774IhCl+cUvfvELTZkyRa+88op+/PFHz3TkW2+91ezfHdAQxs3xFxQUaOvWrUpJSdF1112nV155RY888ojnL+H06dM1bNiwAFeJy7FYLPXm91vTfH+vXr0UFxenESNGqKqqSg6HQ0lJSTpy5Iiqq6sDXV6jlJeX15nT/+mUnXRhIcefng82b775pj755BO9//77Onv2rFJTU3XLLbeourpaP/zwQ6DLq8e44D958qRneejIyEhFREQoJibGcz4mJkanTp0KVHmN0tqD0e1267777vOsfVJVVaWHHnpIERERda579913A1Feo5WXl2vfvn3avn273n33Xd1yyy2Kj4+Xy+XS5s2bNXHixBa53lVDdOnSRZ999pl69ux52fMHDx5Uly5dmrkq/xk+fLiGDx+u2bNnKyYmRitWrNDBgwdVU1Oj4cOHq3v37ho5cmSd9zkCybi1eqxWq5xOpzp06CBJstlsOnjwoJKTkyVd+N6Azp07q6amJpBl+sRqtWr8+PGeYNy4caNGjx7tCUaXy6VNmzYFZd8kNXh115UrVzZxJU3j3Llzat++vaQLA5DCwkIdP35caWlp6tevnz7//HMlJiaquLg4wJV679FHH9U///lPFRYW1nty59y5c7r++uuVlpamF154IUAVNs6IESP0q1/9SsOHD9c999yjzz77TImJibLZbNq9e7e+++475efn64knngh0qZIMDf7WGo6tPRhbu9DQUA0YMEAjRozQyy+/rD179qhv376y2WwqKirS1VdfrYKCAt1www2BLtVrTqdTAwYMUEhIiKZNm6Zrr71WklRcXKylS5fqxx9/1P79+4P2N5p33nlHO3fu1I4dOzw/t/T0dP3pT39SUVGRevToEegS6zAu+AlHtFTfffedJzyee+45WSwWDR48WHv27NHq1at1++23KyQkJNBl+qykpEQPP/ywtmzZ4nnwwGKxaOzYsVq+fLm6d+8e4Ar9IyYmRs8++6z27dunV155Re3atdPQoUM1cuRIzZ8/P9DlSTIw+IFgEBMTo/z8fB06dEj33nuvEhIS5HQ6NWTIEOXl5QW6vEY5efKkDh8+LEm65pprFBsbG+CK/CsmJkZFRUVKSkqSzWbTpk2b5HA4lJeX12I+q0DwAy3QpeFRVFSk8PBw5eXladKkSYEuDz9jzZo1Sk9PV3h4uOdn19J+myH4gRbI4XDo6quvltVqVb9+/fThhx8qMTEx0GXBSz/9ObYkBD/QQrAWUfAKtrWIWtY/Q4DBWIsoeAXbWkQEP9BCXPrL9wcffKAzZ84EqBp4Y/Xq1XrwwQfrHMvJydHHH3+sjz/+WM8884z+9re/Bai6+gh+AGikYFuLyLglG4CWqrUvudGaBdtaRAQ/0EK09rWIWrNgW4uIp3qAFoJPlQevYFuLiOAHgEYKtrWICH4A8INgWouI4AcAPwqGtYgIfgAwDM/xA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHfDBv3jwNGDAg0GUAPiH4AcAwBD+MNGrUKM2YMUOzZ89WbGysEhISNG/ePM/5o0ePKj09XZGRkbLb7brrrrs8X4qyatUqzZ8/X0VFRZ4VNVetWiXpwiqNDzzwgDp06CC73a7Ro0erqKgoAD0E/jeCH8Z6/fXXFRERod27d2vx4sVasGCBtmzZotraWqWnp+vkyZPKy8vTli1b9PXXX3u+5HzSpEn6/e9/r759++r48eM6fvy459ydd96psrIyffjhhyosLNTAgQM1ZswYnTx5MpBdBepgWWYYKyUlRXPnzpV04WsPly5dqtzcXEnSp59+qpKSEs8XnL/xxhvq27evCgoKNHjwYEVGRqpt27ZKSEjwtPfJJ59oz549Kisr8yyt/Oyzz2rDhg1655136n1DExAoBD+MlZKSUme/U6dOKisr06FDh5SYmOgJfUnq06ePoqOjdejQIQ0ePPiy7RUVFen06dOKi4urc/zcuXP66quv/N8BwEcEP4zVrl27OvsWi0W1tbU+t3f69Gl16tRJ27Ztq3cuOjra53YBfyP4gUv07t1bDodDDofDM+r/4osvVF5erj59+kiSQkJCVFNTU+d1AwcOVGlpqdq2batu3bo1d9lAg/HmLnCJtLQ09e/fX5MnT9a+ffu0Z88e3Xvvvfr1r3+t66+/XpLUrVs3lZSU6MCBA/ruu+/kcrmUlpam1NRUTZgwQR999JGOHDmiHTt26I9//KP27t0b4F4B/4/gBy5hsVj03nvvKSYmRiNHjlRaWpq6d++ut99+23NNRkaGbr75Zt14443q0KGD1qxZI4vFog8++EAjR47U1KlTde211+ruu+/WN99802K+eQmQWI8fAIzDiB8ADEPwA4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADDM/wFCVCLD8sc6lwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "note_stats(ch[CH['note_col']])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['(?)', 'Do', '?', 'La b', 'Do #']\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "note_stats(fr[FR['note_col']], french=True)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def get_frequency(midi_note_optional_delta: str, *, pitch_reference: int = 440) -> float:\n", " midi_note, delta = MIDI_NOTE_OPTIONAL_DELTA.fullmatch(midi_note_optional_delta).groups()\n", " midi_number = MIDI_NOTES.index(midi_note)\n", " if delta:\n", " midi_number += int(delta) / 16\n", " \n", " frequency = 2 ** ((midi_number - 69) / 12) * pitch_reference\n", " return round(frequency, 3)\n", "\n", "\n", "assert get_frequency('A4') == 440\n", "assert get_frequency('G#3') == 207.652\n", "\n", "assert get_frequency('G#3-8/16') == 201.741\n", "\n", "assert round(get_frequency('E4+6/16', pitch_reference=435), 1) == 333\n", "\n", "\n", "def frequency_stats(bell_notes, *, plot='bar', french=False, include_deltas=False, pitch_reference=440):\n", " df = (bell_notes.value_counts().to_frame('n_bells')\n", " .assign(midi_note=lambda x: x.index.to_series().pipe(to_notes, french=french, as_midi=True,\n", " include_delta=include_deltas))\n", " .dropna()\n", " .assign(frequency=lambda x: x['midi_note'].apply(get_frequency, pitch_reference=pitch_reference)))\n", "\n", " operator.methodcaller(plot, figsize=FIGSIZE)(df.groupby('frequency')['n_bells'].sum().to_frame('n_bells').plot)\n", "\n", " return (df.groupby(['midi_note', 'frequency'])['n_bells'].sum().to_frame('n_bells')\n", " .reset_index('frequency').sort_values(by='frequency', ascending=False))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['aa+3', 'h0/c1', 'a’0', 'dis’-2', 'cis’+2', 'es’+5', 'd’-1']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
C5523.2511
G4391.9951
F4349.2281
E4329.6281
D#4311.1271
D4293.6652
C#4277.1834
C4261.6268
B3246.94231
A#3233.0822
A3220.000197
G#3207.652107
G3195.99859
F#3184.99722
F3174.61411
E3164.81411
D#3155.5635
D3146.8322
C#3138.5912
C3130.8131
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "C5 523.251 1\n", "G4 391.995 1\n", "F4 349.228 1\n", "E4 329.628 1\n", "D#4 311.127 1\n", "D4 293.665 2\n", "C#4 277.183 4\n", "C4 261.626 8\n", "B3 246.942 31\n", "A#3 233.082 2\n", "A3 220.000 197\n", "G#3 207.652 107\n", "G3 195.998 59\n", "F#3 184.997 22\n", "F3 174.614 11\n", "E3 164.814 11\n", "D#3 155.563 5\n", "D3 146.832 2\n", "C#3 138.591 2\n", "C3 130.813 1" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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2f3796lhw4Yq15Vi57tw4UKli76+Pu3cuVN4rE52dnaF5fHjx6Svr08nT54UnlNFJpNR48aNac6cOdVORgcPHiRTU1OSyWTk6OhI58+fJxcXF/Lw8KBmzZqRoaEh7d27V+X6fn5+9N///peIShPrggULyMzMjPbs2UNE2h2QIyIiyMPDg2JjY0UHkidPntDevXupadOmNGLECLUxpKjHpk2bSKFQUGhoKHXo0IGMjIxo48aNQrmmGA4ODnTp0iUiInr33XcpMDBQOMA+ePCA3n77berbt6/aOkydOpUcHBxo4sSJ5O3tTWPGjCFXV1fauHEjff/991S/fn1asGCB2hhyuZyysrKIiGj9+vVkZGRE06dPp99//52+/PJLMjU1pe+++05jjC5dutCmTZuqdRBPS0sjHx8fUigUFBwcTNnZ2RQYGEgymYxkMhk1atSIrl27pjbGgwcPKDw8nFxdXWnMmDH05MkTioiIEI43fn5+dOfOHbUxFixYQAUFBURUuj198sknZGBgQHK5nPT09Gj48OFUVFRU5c9XnrbHrMrUicQQFRVFnp6etHTpUgoICKCwsDBq0aIFJSQk0KFDh8jb21vYOatLmy/5m2++IRMTE4qMjKRBgwaRgYEBzZ07VyjXtANLsfOVbZxlG3r5pex5TZ9DLpdXumgbQyaT0ciRI4Vf16GhobRz584qnfV06NCBIiMjKTc3lxYtWkT169enyMhIofzTTz8lf39/letbWFhQcnKy6LlNmzaRqakpxcTEaHVAtrKyoqNHj6osT0hIICsrK7UxpKjHa6+9Rt98843weNu2bWRqakpr164lIs3blZGREd24cYOIiFxcXOjkyZOi8kuXLpGtra3aOjRq1Eg460hKSiK5XE5bt24V1alFixZqY8hkMiExtG3blhYuXCgqX7lyJbVp00ZjjODgYDIwMKB69epRVFQU/fXXX2rXKS88PJw6d+5MMTEx9O6771L79u0pICCAMjIy6M6dOxQUFES9e/dWG+ODDz6gFi1a0LJly6hz584UFhZGrVq1ooSEBDp27Bi9+eabNGTIELUxyifJRYsWUb169Wj9+vV05coV2rhxI9nb22vc17/55hu1y+TJk1/txODq6iqcnt++fZtkMpmwERMR7d69m5o1a6Y2Rps2bdQunp6eGr9kb29v2rRpk/D46NGjZGdnR9Om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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(de[DE['note_col']])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
B3246.9421
G#3207.65243
G3195.99818
F#3184.99710
F3174.6144
E3164.8142
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "B3 246.942 1\n", "G#3 207.652 43\n", "G3 195.998 18\n", "F#3 184.997 10\n", "F3 174.614 4\n", "E3 164.814 2" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(ch[CH['note_col']])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['(?)', 'Do', '?', 'La b', 'Do #']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
C#4277.1832
C4261.6268
B3246.94230
A#3233.08231
A3220.00037
G#3207.65224
G3195.99830
F#3184.99714
F3174.61411
E3164.8143
D#3155.5633
D3146.8323
C#3138.5912
C3130.8131
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "C#4 277.183 2\n", "C4 261.626 8\n", "B3 246.942 30\n", "A#3 233.082 31\n", "A3 220.000 37\n", "G#3 207.652 24\n", "G3 195.998 30\n", "F#3 184.997 14\n", "F3 174.614 11\n", "E3 164.814 3\n", "D#3 155.563 3\n", "D3 146.832 3\n", "C#3 138.591 2\n", "C3 130.813 1" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAFICAYAAABX+ZVMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABBsUlEQVR4nO3deVhUdfs/8HsW9lV2lM2FBFLTKAmtREMBScH9Mc0lTTOozLKy3Mu9nty1RTHNvVweLXfAfcUwLcMFCFwgUwEBGdC5f3/443wdwIVz5gDjeb+u61yXM5/hntthuM+Zz3wWFTMzAQCAYqhrOwEAAKhZKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAw2tpOoCK9Xk9XrlwhOzs7UqlUtZ0OAIBJYGa6desW1a9fn9Tqh1/T17nCf+XKFfL29q7tNAAATFJ2djZ5eXk99DF1rvDb2dkR0b3k7e3tazkbAADTUFBQQN7e3kINfZg6V/jLu3fs7e1R+AEAqulxusjx5S4AgMKg8AMAKAwKPwCAwtS5Pv7HdffuXSorK6vtNBTJ3Nz8kcPFAKDuMrnCz8yUk5NDeXl5tZ2KYqnVamrYsCGZm5vXdioAIILJFf7you/m5kbW1taY5FXDyifYXb16lXx8fPD6A5ggkyr8d+/eFYq+s7NzbaejWK6urnTlyhW6c+cOmZmZ1XY6AFBNJtVRW96nb21tXcuZKFt5F8/du3drORMAEMOkrvjLoXuhduH1fzL5ffJLtR6fOT1apkxAbiZ1xQ8AANKh8AMAKIxJdvVUpbofU6WqyY+5KpWKNm7cSLGxsaJjDBo0iPLy8mjTpk1ERBQWFkYtW7ak2bNnGyVHADAduOIHAFAYFH4AAIVB4a8hYWFh9O6779JHH31ETk5O5OHhQRMnTnzsn7969SpFRUWRlZUVNWrUiH766SeD9uzsbOrduzc5OjqSk5MTxcTEUGZm5mPHX7hwIfn7+5OlpSW5u7tTz549H/tnAcC0oPDXoB9++IFsbGzo6NGjNHPmTJo8eTLt2rXrsX523Lhx1KNHDzp16hT169eP/vOf/9DZs2eJ6N78hoiICLKzs6P9+/fTwYMHydbWliIjI6m0tPSRsU+cOEHvvvsuTZ48mdLS0mj79u308ssvS/q/AkDd9cR8uWsKWrRoQRMmTCAiIn9/f5o/fz7t2bOHOnbs+Mif7dWrFw0dOpSIiD7//HPatWsXzZs3jxYuXEhr164lvV5P33//vTDGPiEhgRwdHSk5OZk6der00NhZWVlkY2NDr776KtnZ2ZGvry+1atVK4v8WAOoqXPHXoBYtWhjc9vT0pH/++eexfjY0NLTS7fIr/lOnTtGFCxfIzs6ObG1tydbWlpycnKikpIQuXrz4yNgdO3YkX19fatSoEb3++uu0cuVKKi4ufsz/FQCYGlzx16CK69qoVCrS6/WS4xYWFlJwcDCtXLmyUpurq+sjf97Ozo5OnjxJycnJtHPnTho/fjxNnDiRjh8/To6OjpLzA4C6BVf8JuLIkSOVbgcGBhIR0bPPPkvnz58nNzc3atKkicHh4ODwWPG1Wi2Fh4fTzJkz6ffff6fMzExKTEw0+v8DAGofCr+JWL9+PS1dupTOnTtHEyZMoGPHjlF8fDwREfXr149cXFwoJiaG9u/fTxkZGZScnEzvvvsuXbp06ZGxt27dSnPnzqXU1FT6+++/afny5aTX66lp06Zy/7cAoBY8MV09T/qCUZMmTaI1a9bQ22+/TZ6enrR69WoKCgoionurle7bt48+/vhj6t69O926dYsaNGhAr7zyCtnb2z8ytqOjI23YsIEmTpxIJSUl5O/vT6tXr6ann35a7v8WANQCFTNzbSdxv4KCAnJwcKD8/PxKRaukpIQyMjKoYcOGZGlpWUsZAn4PTyaszmnaHlY7K0JXDwCAwqDw17KVK1cKQzArHuhqAQA5PDF9/Kaqa9euFBISUmUbtjUEADmg8NcyOzs7srOzq+00AEBBTLKrp459H604eP0BTJtJFf7yrg8sJ1C7yhd+02g0tZwJAIhhUl09Go2GHB0dhfVtrK2tsfF3DdPr9XTt2jWytrYmrdak3j4A8P+Z3F+uh4cHEdFjL24GxqdWq8nHxwcnXQATZXKFX6VSkaenJ7m5uVFZWVltp6NI5ubmpFabVC8hANzH5Ap/OY1Ggz5mAAARcNkGAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqDwg8AoDAmO3MXAEwH9vOtW3DFDwCgMNUq/IsWLaIWLVqQvb092dvbU2hoKG3btk1oLykpobi4OHJ2diZbW1vq0aMH5ebmGj1pAAAQr1qF38vLi6ZPn04pKSl04sQJ6tChA8XExNAff/xBRETvv/8+bdmyhdavX0979+6lK1euUPfu3WVJHAAAxKlWH3+XLl0Mbk+ZMoUWLVpER44cIS8vL1qyZAmtWrWKOnToQERECQkJFBgYSEeOHKEXXnjBeFkDAIBoovv47969S2vWrKGioiIKDQ2llJQUKisro/DwcOExAQEB5OPjQ4cPH35gHJ1ORwUFBQYHAADIp9qjek6fPk2hoaFUUlJCtra2tHHjRgoKCqLU1FQyNzcnR0dHg8e7u7tTTk7OA+NNmzaNJk2aVO3EAeoajFypPXjtq6faV/xNmzal1NRUOnr0KI0YMYIGDhxIf/75p+gExowZQ/n5+cKRnZ0tOhYAADxata/4zc3NqUmTJkREFBwcTMePH6c5c+ZQnz59qLS0lPLy8gyu+nNzc4V9cqtiYWFBFhYW1c8cAABEkTyOX6/Xk06no+DgYDIzM6M9e/YIbWlpaZSVlUWhoaFSnwYAAIykWlf8Y8aMoaioKPLx8aFbt27RqlWrKDk5mXbs2EEODg40ZMgQGjVqFDk5OZG9vT298847FBoaihE9AAB1SLUK/z///EMDBgygq1evkoODA7Vo0YJ27NhBHTt2JCKir7/+mtRqNfXo0YN0Oh1FRETQwoULZUkcAADEqVbhX7JkyUPbLS0tacGCBbRgwQJJSQEAgHywVg8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwmhrOwEAeDx+n/xSrcdnTo+WKRMwdbjiBwBQGBR+AACFQeEHAFAYFH4AAIVB4QcAUBgUfgAAhUHhBwBQGBR+AACFQeEHAFAYFH4AAIVB4QcAUBgUfgAAhUHhBwBQGBR+AACFQeEHAFAYFH4AAIVB4QcAUBgUfgAAhalW4Z82bRo9//zzZGdnR25ubhQbG0tpaWkGjykpKaG4uDhydnYmW1tb6tGjB+Xm5ho1aQAAEK9ahX/v3r0UFxdHR44coV27dlFZWRl16tSJioqKhMe8//77tGXLFlq/fj3t3buXrly5Qt27dzd64gAAIE61Nlvfvn27we1ly5aRm5sbpaSk0Msvv0z5+fm0ZMkSWrVqFXXo0IGIiBISEigwMJCOHDlCL7zwgvEyBwAAUST18efn5xMRkZOTExERpaSkUFlZGYWHhwuPCQgIIB8fHzp8+HCVMXQ6HRUUFBgcAAAgH9GFX6/X08iRI6lt27bUrFkzIiLKyckhc3NzcnR0NHisu7s75eTkVBln2rRp5ODgIBze3t5iUwIAgMcguvDHxcXRmTNnaM2aNZISGDNmDOXn5wtHdna2pHgAAPBw1erjLxcfH09bt26lffv2kZeXl3C/h4cHlZaWUl5ensFVf25uLnl4eFQZy8LCgiwsLMSkAQAAIlTrip+ZKT4+njZu3EiJiYnUsGFDg/bg4GAyMzOjPXv2CPelpaVRVlYWhYaGGidjAACQpFpX/HFxcbRq1SravHkz2dnZCf32Dg4OZGVlRQ4ODjRkyBAaNWoUOTk5kb29Pb3zzjsUGhqKET0AAHVEtQr/okWLiIgoLCzM4P6EhAQaNGgQERF9/fXXpFarqUePHqTT6SgiIoIWLlxolGQBAEC6ahV+Zn7kYywtLWnBggW0YMEC0UkBAIB8sFYPAIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMKg8AMAKAwKPwCAwqDwAwAoDAo/AIDCoPADACgMCj8AgMJoazsBgJri98kv1Xp85vRomTIBqF244gcAUBgUfgAAhUHhBwBQGBR+AACFQeEHAFAYFH4AAIVB4QcAUBgUfgAAhUHhBwBQGBR+AACFQeEHAFAYFH4AAIVB4QcAUBgUfgAAhUHhBwBQGBR+AACFwUYsUGdgoxSAmoErfgAAhal24d+3bx916dKF6tevTyqVijZt2mTQzsw0fvx48vT0JCsrKwoPD6fz588bK18AAJCo2oW/qKiInnnmGVqwYEGV7TNnzqS5c+fS4sWL6ejRo2RjY0MRERFUUlIiOVkAAJCu2n38UVFRFBUVVWUbM9Ps2bNp7NixFBMTQ0REy5cvJ3d3d9q0aRP95z//kZYtAABIZtQ+/oyMDMrJyaHw8HDhPgcHBwoJCaHDhw9X+TM6nY4KCgoMDgAAkI9RC39OTg4REbm7uxvc7+7uLrRVNG3aNHJwcBAOb29vY6YEAAAV1PqonjFjxlB+fr5wZGdn13ZKAABPNKMWfg8PDyIiys3NNbg/NzdXaKvIwsKC7O3tDQ4AAJCPUQt/w4YNycPDg/bs2SPcV1BQQEePHqXQ0FBjPhUAAIhU7VE9hYWFdOHCBeF2RkYGpaamkpOTE/n4+NDIkSPpiy++IH9/f2rYsCGNGzeO6tevT7GxscbMGwAARKp24T9x4gS1b99euD1q1CgiIho4cCAtW7aMPvroIyoqKqJhw4ZRXl4evfjii7R9+3aytLQ0XtYAACBatQt/WFgYMfMD21UqFU2ePJkmT54sKTEAAJBHrY/qAQCAmoXCDwCgMCj8AAAKg8IPAKAwKPwAAAqDHbgAAB7hSdsdDlf8AAAKg8IPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqjre0ElMTvk1+q9fjM6dGKig8ANQNX/AAACoPCDwCgMCj8AAAKg8IPAKAwKPwAAAqDUT33wagVAKgNNV17cMUPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCY1qgejbgAApJPtin/BggXk5+dHlpaWFBISQseOHZPrqQAAoBpkKfxr166lUaNG0YQJE+jkyZP0zDPPUEREBP3zzz9yPB0AAFSDLIX/v//9L7355ps0ePBgCgoKosWLF5O1tTUtXbpUjqcDAIBqMHoff2lpKaWkpNCYMWOE+9RqNYWHh9Phw4crPV6n05FOpxNu5+fnExFRQUFBpcfqdcXVyqWqGA+D+IiP+PLEN+XcTSV++X3M/OgAbGSXL19mIuJDhw4Z3D969Ghu3bp1pcdPmDCBiQgHDhw4cBjhyM7OfmSdrvVRPWPGjKFRo0YJt/V6Pd24cYOcnZ1JpVI98ucLCgrI29ubsrOzyd7e3uj5IT7iI7488U0597oYn5np1q1bVL9+/Uc+1uiF38XFhTQaDeXm5hrcn5ubSx4eHpUeb2FhQRYWFgb3OTo6Vvt57e3tZXnxER/xEV/e+Kace12L7+Dg8FiPM/qXu+bm5hQcHEx79uwR7tPr9bRnzx4KDQ019tMBAEA1ydLVM2rUKBo4cCA999xz1Lp1a5o9ezYVFRXR4MGD5Xg6AACoBlkKf58+fejatWs0fvx4ysnJoZYtW9L27dvJ3d3d6M9lYWFBEyZMqNRdhPiIj/h1O74p527q8VXMjzP2BwAAnhRYpA0AQGFQ+AEAFAaFHwBAYVD4AQAUBoUfAEBhUPgBABSm1tfqAYDHd+rUKdqyZQs5OTlR7969ycXFRWgrKCigkSNHSl7+PCcnh44ePUo5OTlEROTh4UEhISFVLrlS13KvKXfu3KGkpCTKysoiX19fat++PWk0GqM/DzOTXq83fmyjLMlZB+Tk5PDff/8t+/OUlZXVyPMYm16v5zt37sgWf9CgQXz58mVZYk+cOJGvXbsmOc6JEyeMkM3D5ebm8p49ezgvL4+Z770vZ8yYwdOmTePff/9dUuwdO3awubk5P/300+zj48POzs6cmJgotOfk5LBarRYdv7CwkPv168cajYa1Wi27ubmxm5sba7Va1mg03L9/fy4qKqqTuTMz//LLLzxkyBAePXo0nz171qDtxo0b3L59e9Gx4+PjecuWLczMnJ2dzQEBAazRaNjd3Z01Gg03b96cL126JDp+WVkZf/bZZ/zyyy/z+PHjmZl55syZbG1tzebm5jxgwADW6XSi41dkcoW/oKCA+/Xrxz4+PsKL8fbbb7NKpWK1Ws0vv/wy5+fny/b8qampkt+gCxYs4FdeeYV79erFu3fvNmi7du0aN2zYUHRsud9Ap06dqvIwMzPjjRs3CrfFyM/Pr3Tk5eWxmZkZHz16VLhPLJVKxY0bN+YpU6bIcpJKSkpiGxsbVqlU7OHhwampqezl5cX+/v7ctGlTtrCw4B07doiOHxoayp9++ikz3zuRz5gxg21tbXnbtm3MLL14DhkyhP39/Xn79u0GFwl37tzhHTt28FNPPcVDhw6tk7mvXLmSNRoNR0dH84svvsiWlpb8448/Cu1S47u7u/Pp06eZmbl3794cHh4uXIxcv36dX331Ve7Zs6fo+GPHjmV3d3ceNWoUBwUF8VtvvcXe3t78448/8g8//MANGjTgGTNmiI5fkckV/vj4eA4ICOC5c+dyWFgYx8TEcLNmzfjAgQO8d+9eDgoKEt5gcpBa+OfMmcPW1tYcFxfH/fv3Z3Nzc546darQLvUNKvcbqPwEq1KpKh3l94vNX61WV3kYI3Z57m+++aZwFRsdHc0bN2402iehF198kePi4vjWrVs8a9YsbtCgAcfFxQntH374Ibdp00Z0fHt7e75w4YLBfStXrmQbGxvesmWL5PeOo6MjHzx48IHtBw4cYEdHR1Gx5c69ZcuWPGfOHOH22rVr2cbGhr///ntmlv53ZWlpyenp6czM7OXlxUePHjVoP336NLu4uIiO36hRI+ETxfnz51mtVvOaNWuE9rVr13KzZs1Ex6/I5Aq/t7e38BHx8uXLrFKphBeMmXnr1q3ctGlT0fFbtWr10CMgIEDSGygoKIhXrlwp3D548CC7urryuHHjmFn6G1TuN9AzzzzD0dHRfPbsWc7MzOTMzEzOyMhgrVbLu3btEu4To0GDBhwdHc2JiYmcnJzMycnJnJSUxBqNhhMSEoT7xFKpVJybm8tlZWX8008/cefOnYWP6x999BGnpaWJjs1sWNzKyspYq9Xyb7/9JrSfO3eOHRwcRMd3dXWtsrtq9erVbG1tzYsWLZL03rG3t+fjx48/sP3YsWNsb28vKrbcudvY2AiFuVxiYiLb2tryokWLJP9dtWjRQvg7CgwM5F27dhm0Hzp0iJ2cnETHt7S05KysLIPb93dXpaens52dnej4FZlc4bewsDB4gaytrQ3+YDMzM9na2lpS/IEDB/LEiROrPIYPHy7pDWRlZcUZGRkG950+fZrd3d35k08+McqViZxvIJ1Ox++99x4HBQXxyZMnhfu1Wi3/8ccfouMy3/vIHBsby+3btzfoLzVGbOb/K/z3u3TpEk+ePJkbNWrEarWaX3rpJdHxXVxc+MyZM8zMXFRUxGq1mg8fPiy0nzp1StJVYceOHXnWrFlVtq1atYrNzMwkvXdee+01btWqlcHvtdzJkyc5ODiY+/XrJyq23Ll7enoavNblkpOT2dbWlj/77DNJ8RMSEtjLy4uTkpJ4+fLlHBgYyLt37+bLly9zYmIiN2/eXHQ3GPO9rqT7vwNq06aNwd/A2bNnRZ90q2Jyhb9+/fqckpIi3O7bt6/BH/OZM2e4Xr16ouMHBwfzwoULH9j+22+/SXoDeXt78759+yrd/8cff7C7uzsPGDBAcl9kTbyBfv31V/by8uKpU6fy3bt3jVacmZkXLlzI9evX51WrVjGz8Qq/Wq2uVPjvt3v3bn7ttddEx4+JieFXX32VDxw4wMOGDePnnnuOo6OjubCwkIuKirhnz54cGRkpOv6GDRt45MiRD2xfuXIlh4WFiY5/48YNjoyMZJVKxU5OThwQEMABAQHs5OTEarWao6Ki+ObNm6Jiy517TEyM8J1WReXfvUj9bu6rr75ia2trtrKyYnNzc4PuyNjYWL5165bo2O3bt+dly5Y9sH3dunUcHBwsOn5FJlf4IyMjefHixQ9sT0hIkNSP+u677/J77733wPYLFy5IeoP27dv3gX8AZ86cYVdXV0lv0Jp8A+Xk5HBUVBS/9NJLRi38zPdOhM888wz37dtX1it+Yzp37hz7+/uzSqXiwMBAvnTpEnft2pW1Wi1rtVp2dXU1uGipq86ePctLly7lqVOn8tSpU3np0qWVRsnUNcnJyQbflVWUmJjIgwYNkvw8N2/e5HXr1vH06dN56tSpnJCQwOfOnZMcNy0trVJX1f1WrlzJa9eulfw85UxuWeYbN26QWq1+4PaM27ZtIysrKwoLC6vRvB7X77//TikpKQ/clObMmTP0888/04QJE0TFP3fuHJmZmVHDhg2rbF+1ahVptVrq3bu3qPhVmTt3LiUlJdG8efPIy8vLaHFLS0vpk08+oaSkJNqwYcMD/0+Pa+/evdS2bVvSauWdvnL9+nVydnYWbu/Zs4du375NoaGhBvcbS1lZGZmZmRk9rhzu3r1rMCb92LFjpNfrqVWrVrKtaw9VMNopBABktXbtWoOhuPPmzWMfHx9Wq9Xs7OzMkyZNkvX5r1y5InoOS2ZmJj/77LOs0Wg4MjKS8/PzOTw8XBgR1rBhQ8lfrlfF2PNL7t69+8D7pc7vuXPnDl+8eFF4jpKSEl67di2vXr2ac3JyJMWuyOSu+B+lqKiIUlJS6OWXX5YUJz09nQ4cOEBXr14ltVpNjRo1oo4dOxplU2VmpszMTPL29iatVkulpaW0ceNG0ul01LlzZ4MZjVLV1AzDcjdv3qQtW7bQgAEDjB7bWL/bxMTESr/brl27kr+/v1HylCu+RqOhq1evkpubGyUkJNDbb79NH330EYWEhNBvv/1G06ZNo9mzZ9PQoUON8v+oKDAwkM6dO0d3796t9s/27NmT/v33X/rwww9pxYoVdPnyZTIzM6Mff/yR1Go1DR48mKysrGjjxo2icvv999+rvP+5556jdevWUaNGjYiIqEWLFqLiFxQU0NChQ2nLli1kb29Pw4cPpwkTJgh/S7m5uVS/fn1Rr015/pGRkZSbm0tBQUH066+/UufOnSkjI4NUKhWZmZnR9u3bqXXr1qLiV2LU00gdIHWcfWFhIffs2dNgbLqHhwdrNBq2tbXl+fPnS8rvr7/+Eq7SmjRpwunp6RwcHMw2NjZsbW3NLi4ukvoM5Z5h+CjGmOAmV+zc3Fxu3bo1q9Vq1mq1rFarOTg4WPj9jh49WlJ+cse//zuK1q1b88yZMw3aFy5cyK1atZL0HA9z7Ngx0cNpXV1dhaGteXl5rFKpeP/+/UJ7SkoKu7u7i85NzvklzPe++3vqqad4/fr1/N1337Gvry9HR0cLn8BycnJYpVKJjh8REcE9e/bk06dP83vvvceBgYHcq1cvLi0t5bKyMu7fvz+Hh4eLjl8RCn8Fw4YN47Zt2/Lp06f5/Pnz3LNnT/7oo4+4qKiIlyxZwtbW1gbj8KsrJiaGu3btyr///juPHDmSAwMDOSYmhktLS7mkpIS7dOnC/fv3Fx1f7hmGVc2uvf/Yv39/nS38ffr04djYWM7Pz+eSkhKOj4/nAQMGMDPznj172NnZmWfPnl1n46tUKv7nn3+Y+d7Q0dTUVIP2CxcuGHWstzHZ2dkJX16WjwK7P//z589Lyl3O+SXMzD4+PpyUlCTcvnbtGrdu3Zo7derEJSUlkodh16tXj//8809mZi4uLmaNRmMwSezMmTPs7OwsOn5FJlf469Wr99DD3t5e0i/AxcXFYKLJjRs32NLSUlijZP78+dyyZUvR8e+/8iksLKx05XPw4EH28fERHV/uGYblV06PmmUrhty/W3t7e2GcPfO919/MzExYBmLFihWSJv/JHV+lUvHy5ct58+bN7OXlxYcOHTJoP3PmjFGG6paVlXFqaipv376dt2/fzqmpqVxaWiop5gsvvMBjx45lZualS5cK81bKTZ48WdJoMznnlzDfm39TcdRNQUEBh4aGcocOHTg9PV3yrOnyT/qlpaWs0WgMRoCdPXtW0jD1ikxudU6dTkcjRoyg5s2bV9n+999/06RJk0THv3PnjkE/vq2tLd25c4eKiorI2tqaOnXqRB9++KHo+IWFheTk5ERERDY2NmRjY0Oenp5Cu7e3N+Xm5oqO/9RTT9GxY8eoYcOGZGdnRwUFBQbtt27dIr1eLzq+nZ0dffbZZxQSElJl+/nz52n48OGiYsv9u7WwsCCVSiXcVqvVdPfuXbpz5w4REbVp04YyMzPrbHwiooEDBwr/TkxMpNDQUOH2kSNHqHHjxqJj6/V6Gj9+PC1YsIDy8/MN2hwcHCg+Pp4mTZpEanX1V3OfOHEixcbG0syZM0mtVtOOHTvozTffpMTERFKr1XT8+HFatWqV6NzNzc1p9uzZtG3bNuratSu9/fbb9PHHH4uOV5GPjw+dPXvWYGSZnZ0d7dy5kzp16kTdunWTFD84OJhmzJhBkyZNoiVLllDDhg1p/vz5wmql8+bNo2bNmkl6DgNGO4XUkDZt2jz047LU7oCOHTsarK8ya9Ys9vT0FG6fPHlS0hVz48aNDa7wFy5cyAUFBcLtlJQU9vDwEB1f7hmGYWFhD13rJzU1VXRfp9y/227dunGPHj24sLCQS0tLeeTIkdykSROh/ciRI5Jee7njP8qWLVt4+/bton9+9OjR7OrqyosXL+aMjAwuLi7m4uJizsjI4G+++Ybd3Nz4o48+Eh0/IyODf/rpJ2Hmek5ODo8bN44/+OADg5U6pZJjfsk777zzwC7SgoICDgkJkfTePHbsGDs7O7NarWZXV1c+c+YMh4SEsIeHB9evX5+trKwqLegohckV/ilTpvDEiRMf2J6VlSVpokZKSgo7OTmxh4cH+/j4sLm5Oa9evVponz9/vtBvK8bw4cP5u+++e2D7tGnTuHPnzqLjM8s7w/Dbb781WAyropycnIf+fh5G7t/txYsXuXHjxqzVatnMzIwdHR0N1lxJSEgw6H6oa/Hl5u7u/tATx/bt29nNza0GM5Jmzpw5HBsby9nZ2ZJj3bhxw6Abr6KCggJJ60gx3+saPHHihPD3efv2bf7+++953rx5/Ndff0mKXdETN5zTGK5evUpbt24lnU5HHTp0oKCgoBp77oyMDLK0tDTo/hEjLy+Pdu3aRenp6aTX68nT05Patm1rtCGLpqq4uJgOHDhApaWl9MILLxh16GxNxL9fXl4erV+/Xhiq26tXL3JwcBAdz8bGho4cOfLArrbff/+d2rRpQ4WFhaKfQ65NXqB6UPgBTET37t3ptddeo549e9Iff/xBYWFhpFKpqFGjRpSZmUkqlYoSExMpMDBQVPzo6Gi6c+cOrVy5stIJ699//6XXX3+dNBoNbd26tdqxi4qKaPjw4bRmzRpSqVTC91w3btwgZqa+ffvSN998Q9bW1qJyL1dxDkXjxo2pS5cuki94Ll26RJaWlsLrsn//flq8eLFw0o2LizP4vsXYjDWHRWDUzw81JDU1lZcsWcIXL15k5nujGUaMGMHDhw+X1MdZFb1ez4mJifztt9/yli1bJI9uYL7XFztu3Dg+cOAAM98b6hcVFcURERH8zTffSI5fUXp6Ou/cuVMY5imVXPmXlJQYvL4XLlzgTz/9lPv378+fffbZQ9cyeVzFxcW8ZMkSHjx4MEdGRnLnzp05Pj7eaP2ncsavV6+esGZOVFQUv/baa8I48tLSUh4yZAh36tRJdPysrCxu1qwZa7VabtWqFUdGRnJkZCS3atWKtVott2jRwmDl1+qQc5MXZvnnULRu3VqYH7Np0yZWq9XctWtX/vjjj7lbt25sZmZmsDy8sRl7fozJFf6ff/6ZNRoNOzs7s62tLe/atYsdHR05PDycIyIiWKPRSBpnHxUVJWybd/36dQ4JCWGVSiUsnhYQECCMpRZj8eLFrNVqOTg4mO3t7XnFihVsZ2fHQ4cO5eHDh7OVlZWksd4jRowQ+giLi4u5R48eBhNZ2rdvL6mPX87827Vrx+vXr2fme5t+WFhYcIsWLbhPnz7cqlUrtra2rjSEsTrOnz/Pvr6+7Obmxt7e3qxSqTg6OppDQkJYo9Fwr169uKysrM7Gt7KyEtb79/T0rLR8clpamqT1/pnvjbH/9ddfefz48Txs2DAeNmwYjx8/nrdt2/bA5Qoeh5ybvDDLP4fi/vX+Q0JCePr06Qbt8+bNk3XynOIL/7PPPstffPEFM9/bxMHR0ZEnT54stH/55ZeSxtnfPztyxIgRHBQUJPzCs7OzOTg4mN966y3R8YOCgvjbb79l5nsrBlpaWvKCBQuE9oSEBA4MDBQd//6lh8eMGcNeXl6cmJjIRUVFfODAAW7cuLGkLxjlzN/e3l4Yy9yuXTt+//33DdrHjh3Lbdu2FZn5vZP68OHDWa/XMzPz9OnTOSoqipnvrazp5+fHEyZMqLPxQ0JChNe+VatWvHHjRoP2nTt3yjpqSAo5N3kpjy/nHAoHBwdhS1E3N7dK24teuHBB0j4gcs9hqcjkCr+NjY0wHEyv17OZmZnB+vMXL15kW1tb0fHvL/xNmzblzZs3G7Tv3r1b0p64VlZWBos5mZmZGXTBZGRkSHoD3Z9/s2bNhDXty23evJmfeuop0fHlzN/GxkboynB3d69yZqqU3621tbXBchg6nY7NzMz433//ZeZ7H+H9/PzqbPytW7eyk5MTJyQkcEJCAvv5+fH333/PBw8e5KVLl7K3t7fkLg1meRYik3OTF+Z7EyPvH7ZZXFzMarWar1+/zsz36oKFhYXo+F27dhUumCIiIiqNbPvuu+/Y399fdHxra2v+4IMPeNmyZVUekyZNUnbh9/DwEGbW3rhxg1UqlcFU6mPHjkm66rl/Wrybm1ulIVyZmZmS3kBeXl7CRizlW0f+8ssvQntycjJ7eXmJjl9xWn9V+VtZWYmOL2f+HTp0ENafadOmDf/www8G7T/99JOkWc0VN/G5efMmq1QqYR5Fenq6pN+t3PGZ770GXl5eldalsbS05JEjR0raPzg/P5979erFlpaW7ObmxuPGjTOIJ2VZAjk3eWGWfw7Fn3/+yc7OzjxgwAD+/PPP2dbWlvv3789TpkzhAQMGsIWFBSckJIiOL/cclopMbuZueHg4xcXF0TvvvENr166lTp060ZgxYyghIYFUKhWNHj2aXnzxRUnPMWjQILKwsKCysjLKyMigp59+WmjLycl54F4AjyMmJoaGDBlCAwcOpP/97380YMAA+uCDD0itVgv5d+rUSVL+48aNI2tra1Kr1XTlyhWD/K9fv042NjZ1Mv8vvviCoqKiqKioiPr27UsffPABnT9/ngIDAyktLY3mzp1LY8aMEZ17x44dadSoUbR48WKysLCgMWPGUMuWLcnOzo6IiLKyssjNza3Oxici6tGjB8XGxtLJkycNhuoGBwcLzyPWuHHj6NSpU7RixQrKy8ujL774gk6ePEkbNmwgc3NzIrq3sqwY9erVo23bttFff/1Fhw8fNhjOGRoaSgEBAZJy//LLL6lTp07k6OhIKpWKbGxsaP369UL72bNnadCgQaLjBwYG0tGjR2ns2LE0c+ZMKioqopUrV5JWq6Xnn3+e1qxZQ7GxsaLjR0dHU15e3gPbnZycjLvirdFOITUkJyeHO3bsyLa2thwREcF5eXkcHx8vfHnp7+8vfAEmxqBBgwyOirvejB49miMiIkTHLyws5DfffJObNWvGw4YNY51Ox7NmzWJzc3NWqVQcFhYmaZeodu3acVhYmHBUnCz2+eefc7t27eps/ocOHeIXXnih0gqLDRo0kPTlHPO9kR/lsdVqNfv6+hp0Paxfv57nzp1bZ+PLTe6FyORWVFTEO3fu5C1btggLE8pBr9dzTk4OX7lyxSij/GrDEzOOPz09nYqLiykgIEDWHZaKiopIo9GQpaWlUeOWlJRQWVmZ5Ku2R0lPTydzc3Oj7pRFZPz8r127ZnBF6+fnZ5S4RPfWE9LpdLK9V+SO/yBXr16lsrIy8vHxEfXz1tbW9McffxisR3Pr1i2KiIggKysr+v7776lJkyai15x/GKm5Q/U8MYUfQOmkbJRCRBQQEED//e9/qXPnzgb3FxYWUqdOnai4uJhOnz4tS+GXmvujnDhxgoqLi403AaqCzZs3U35+viwbEBEZ/8T4xBV+U/8Fyx3flF8fU869JuIfP36ciouLqV27dqJ+/t1336WrV68a9I2Xu3XrFnXs2JGOHz8uS3GWmvujyH1iCQgIoPPnz8sW39j5P3GF39R/wab2BqpIzvxNOfeaiC/VzZs3Kw0GuN+tW7fo5MmTshVnOV25coXKysrI19e3tlMRxdgnxieu8Jv6L1hupvz6mHLuxvDvv//KuuhbbcjNzSWdToe+/RpW/R0V6rj69esrtjA8DlN+fUw5d2Nwd3enV155hVatWkU6nU6W57h9+zYdOHCA/vzzz0ptJSUltHz5clFxb926Rf379ydfX18aOHAglZaWUlxcHHl6elLDhg2pXbt2lTYNkuLOnTu0a9cuWrJkCe3evVv2T1lFRUW0b98+0T//77//GjGbx1Bbw4mkunr1Km/atIkXL17Mixcv5k2bNvHVq1eNEjs3N5f37NkjrNmTk5PDM2bM4GnTphnMEjaGmzdv8rfffstjx47l7777TnhOYyotLeVz587JErtc+/btJe1p+jCDBg3iy5cvyxKbWd7cjblAnkql4sjISDY3N+d69epxfHy8sI2nMaSlpbGvr68wHPXll1/mK1euCO1ShnPGx8dzQEAAz507l8PCwjgmJoabNWvGBw4c4L1793JQUBB/+umnonOPj48XFknLzs7mgIAA1mg07O7uzhqNhps3b86XLl0SHf9RpE6wUqvV3KFDB165ciWXlJQYMbOqmVzhLyws5H79+rFGo2GtVstubm7s5ubGWq2WNRoN9+/fX9gfV4ykpCS2sbFhlUrFHh4enJqayl5eXuzv789NmzZlCwsL3rFjh+j43bp1ExYiO3PmDLu4uLCrqyuHhISwu7s7e3h4CJsuizFjxgwuLi5m5nsrH37wwQfCZixarZYHDx4saezx5s2bqzw0Gg3Pnz9fuC3GqVOnqjzMzMx448aNwu26mDtz1Qvk3b8PsdQF8sqX47h27Rp/+eWXHBQUxGq1mp999lleuHChsC6NWLGxsRwdHc3Xrl3j8+fPc3R0NDds2FBYpkFK4ff29hZ22Sqf8X3/apZbt26VtJaOu7u7cHLt3bs3h4eHC2P5r1+/zq+++uoDd9AyBqmFX+6TekUmV/jlXt71xRdf5Li4OL516xbPmjWLGzRoYLAV44cffsht2rQRHV/upXXvX6Rt1qxZXK9ePV66dCn/8ccf/OOPP7Kbm9tDt058lPIiVnGC1f2H2D+Ah8WWupG73Lkzy79A3v3rMJU7dOgQv/HGG2xnZ8fW1tb8+uuvi47v5uZm8IlWr9fzW2+9xT4+Pnzx4kVJhd/CwsJgSWdra2tOS0sTbmdmZkpao8rS0lJYTNHLy4uPHj1q0H769GlJW6bKvYia3Cf1ikyu8Mu9vKu9vb0w87esrIy1Wq3BmffcuXOSlr6Ve2nd+4tDq1atKq2P/+OPP/LTTz8tOn5kZCRHR0dXKkDG2Nv0mWee4ejoaD579ixnZmZyZmYmZ2RksFar5V27dgn31cXcmeVfIO/+E0tFhYWF/P3330u6KLGzs6vy02ZcXJywRpPY4lZxHaO+ffsa/F/OnDnD9erVExWbmblFixa8Zs0aZmYODAw02PKS+d4J0snJSXR8uRdRk/ukXpHJFX65l3e9f2GzoqIiVqvVfPjwYaH91KlTkq4c5F5a9/5F2pydnSv1Laenp0u6smJm/u9//8ve3t4GH9WNUTx1Oh2/9957HBQUZHBCNFZhZpYvd2b5F8irqjgY0/PPP8/Lly+vsi0uLo4dHR1FF7fIyEhevHjxA9sTEhIknbQSEhLYy8uLk5KSePny5RwYGMi7d+/my5cvc2JiIjdv3lxST4Dci6jJfVKvyOQKv9zLu8bExPCrr77KBw4c4GHDhvFzzz3H0dHRXFhYyEVFRdyzZ0+OjIwUHV/upXVVKhVPmTKF58yZw56enrx3716D9lOnTkm6sir322+/cVBQEA8bNoyLioqMWpx//fVX9vLy4qlTp/Ldu3eNGptZvtxVKhUPHz6c33//fXZzc+OdO3catKekpEi6aFi2bJmsX/xNnTpV2D+gKiNGjGCVSiUq9vXr1x+6+uavv/5qsE6QGF999RVbW1uzlZWV8L1W+REbGyvp+5UpU6bwxIkTH9ielZXFgwYNEh1f7pN6RSZX+OVe3vXcuXPs7+/PKpWKAwMD+dKlS9y1a1fWarWs1WrZ1dXV4COrGHIurevr68t+fn7C8fXXXxu0z549m1944QVJ+ZcrLi7m4cOHs7+/P2s0GqMW55ycHI6KiuKXXnrJ6IWfWZ7c5V4gDx7t5s2bvG7dOp4+fTpPnTqVExISDPZIqKvkPqlXZLITuM6ePUtHjhwx+vKu5a5fv07Ozs7C7T179tDt27cpNDTU4H6x7t69K8vSuo9y5MgRsrCwoFatWhkt5v/+9z9KSkqiMWPGSF52uKK5c+dSUlISzZs3z+gLyxHJm3tFxlog79ixY1Uubdy6dWtjpCkbZqbMzEzy9vYmrVZLpaWltHHjRtLpdNS5c+cnbnJaXWayhR9Aaf755x/q0aMHHTx4kHx8fMjd3Z2I7s1+zcrKorZt29LPP/8s+wlMjLS0NIqIiKDs7Gxq1KgR7dy5k3r16kV//fUXMTNZW1vToUOHyN/f36jP26FDB0pISJA88U+n05FarSYzMzMiIrp48SItXbqUsrKyyNfXl4YMGWKwqml1/fzzzxQVFUXW1taS8nxcJln4r1+/Tr///js988wz5OTkRP/++y8tWbKEdDod9erViwIDA+t0/Ko0atSIduzYYfQ3PjNTcnIyXbhwgTw9PSkiIkJ484px6dIlsrS0FK7O9u/fT4sXLxb+AOLi4ig0NFRU7K+++op69uwp6+zcrVu30rFjxygiIoLatm1LiYmJ9OWXX5Jer6fu3bvTsGHDJMW/ffs2rV69mg4cOEBXr14ltVpNjRo1otjYWHrllVckxe7ZsydduXKFEhISqGnTpgZtaWlp9MYbb1D9+vWrXGSttsXGxhIz0xdffEFLly6lHTt20FNPPUXr168nvV5PvXr1IgcHB1qxYoWo+P/73/+qvL979+40Z84c8vb2JiKirl27ioofFhZG8fHx1LNnTzp48CC98sor1LRpU2H9qLS0NNq9e7fo975arSY7Ozvq06cPDRkyhEJCQkTFeWw11qlkJEePHmUHBwdWqVRcr149PnHiBDds2JD9/f25cePGbGVlJakPXu74c+bMqfLQaDQ8ZswY4bZYUVFRwgzd69evc0hICKtUKnZ1dWW1Ws0BAQHCyBMxWrduLYyI2bRpE6vVau7atSt//PHH3K1bNzYzMzMYMVMdKpWKNRoNh4eH85o1a4T5DcayePFi1mq1HBwczPb29rxixQq2s7PjoUOH8vDhw9nKykrSZi/nz59nX19fdnNzY29vb1apVBwdHc0hISGs0Wi4V69eXFZWJjq+ra1tlYMayp04cULSnsRycnV1FYZFFxYWskql4v379wvtBw8elLStptxzNOzt7YXvCtq1a8fvv/++QfvYsWO5bdu2kvKfPHkyt2rVilUqFT/99NP89ddfC/s1G5vJFf7w8HAeOnQoFxQU8KxZs9jLy8tgmNbgwYM5Nja2zsZXqVTs5eVl8AWsn5+fsMuUn5+fpM3c7x8dMGLECA4KChImtmRnZ3NwcDC/9dZbouPb2NgI8UJCQnj69OkG7fPmzeNWrVqJzj0hIYFjYmLYzMyMnZ2d+b333jPKcgfMzEFBQcJQ2sTERLa0tOQFCxYI7QkJCRwYGCg6flRUFA8fPpz1ej0zM0+fPl0YJXPu3Dn28/PjCRMmiI7v7OzMycnJD2xPSkpiZ2dn0fHlZGVlZbBRu62trcFOeVlZWZL2I5Z7joaNjY0w8dLd3Z1TU1MN2i9cuCDppHv/3+2JEyd4xIgR7OjoyBYWFtyrV69KI8SkMrnCX69ePWGSSWlpKavVaoNZeikpKdygQYM6G3/48OHcsmXLShNl5JhE1LRp00pLEOzevVvSicXBwUFYNsHNza3SEgoXLlwQPU/g/txzc3N5xowZHBAQwGq1mp9//nn+9ttvhY3LxahYfMzMzAxOKhkZGZLmOFhbWxuMINHpdGxmZiZctW3atIn9/PxEx3/77bfZ19eXN2zYYDCTMz8/nzds2MB+fn4cHx8vOr6cGjdubHCFv3DhQoPfZUpKiqT5K8zyztHo0KEDz5w5k5nvjen/4YcfDNp/+uknyZ9YKp60bt++zcuXL+ewsDBWq9WS3jsVmVzht7Gx4YyMDOG2ra0tX7x4Ubj9999/s6WlZZ2Nz8y8YcMG9vb25nnz5gn3yTGJyM3NrcpJRFKurLp27SosOxAREVGpW+q7775jf39/UbEfNJZ53759PHDgQLaxsWEbGxtRsZlZmH3K/H/rxfzyyy9Ce3JyMnt5eYmOX3F26s2bN1mlUgkFLj09XdJrX1JSwm+99ZYwRt3S0pItLS1ZrVazubk5jxgxokaHBFbH8OHDKw1vvd+0adO4c+fOkp9Hrjkahw4dYgcHB54wYQLPmzePXVxceOzYsbxy5UoeP348Ozo6SloK5WETuJjvdSNKWcSuIpMr/AEBAbxnzx7h9tatW4VFyZiZjxw5IumPV+745S5dusQdOnTgyMhIvnr1qlELf+fOnblbt25cr169Sv3tR44cYXd3d9Hx//zzT3Z2duYBAwbw559/zra2tty/f3+eMmUKDxgwgC0sLDghIUFU7Ee9+fPz84WuGjHi4uLY39+fv/jiC27dujUPHDiQAwICeNu2bbx9+3Zu3rw5v/HGG6LjDxw4kNu1a8dnz57l9PR07tOnj0G3V3JyMnt7e4uOXy4/P58TExN51apVvGrVKk5MTDT6Wi41LT093WAlUCnkml9y6NAhfuGFFyp9d9CgQQNJ3w0xYwLXI02cOJFXr179wPZPP/2Uu3fvXmfj30+v1/PUqVPZw8PDaG/QQYMGGRxr1641aB89ejRHRERIeo4LFy7wf/7zH7azsxPe/GZmZtymTZtKS1BUh9xv/sLCQn7zzTe5WbNmPGzYMNbpdDxr1iw2NzdnlUrFYWFhkp4/NzdXKAxqtZp9fX0Nvoxdv349z5071xj/FXgMmzdv5pEjRxr9PfXPP//wkSNH+NChQwa9A1JkZmYK3w3VBJMczvkwxcXFpNFoyMLCwmTip6Sk0IEDB2jAgAFUr149o8WtSlFREWk0GrK0tJQci5npn3/+Ib1eTy4uLpKGidamkpISKisrM9rkufPnz5NOp6OAgADSarVGiVnu9u3blJKSQk5OThQUFGTQVlJSQuvWrZNtT1+pTDn3J06NnWJqSFZWFg8ePBjxn8D4ppy7MeJXtVHK/RvUSFk2WW5ybvJSrri4mPfv31/lJ+fbt29X+kJWafHv98QVfqmr5CF+3Y1vyrkbI76cG6XITe7c5T6xmHr8ioz7ObQGPGiGXrn09HTEN9H4ppx7TcQ/dOgQ7d69m1xcXMjFxYW2bNlCb7/9Nr300kuUlJRENjY2kuLLSe7cP/74Y2rWrBmdOHGC8vLyaOTIkdS2bVtKTk42ykbuph6/EqOdQmqI3DP0EL/24pty7jURX86NUuQmd+5y7h72JMSvSG38U4m8PD09acOGDaTX66s8Tp48ifgmGt+Uc6+J+AEBAXTixIlK98+fP59iYmJEr0NTE+TO/fbt2wZfpKtUKlq0aBF16dKF2rVrR+fOnVN0/IpMrvAHBwdTSkrKA9tVKhWxhIFKiF978U0595qI361bN1q9enWVbfPnz6e+fftKii8nuXOX+8Ri6vErMdpnhxqyb98+3rZt2wPbCwsLH7qeCeLX3fimnHtNxIcHk3P3sCchfkVP3Dh+AAB4OJPr6gEAAGlQ+AEAFAaFHwBAYVD4AQAUBoUfTAYz07Bhw8jJyYlUKhWlpqbWdkoAJgmjesBkbNu2jWJiYig5OZkaNWpELi4uRl/9EkAJ8FcDJuPixYvk6elJbdq0qbK9tLSUzM3NazgrANODrh4wCYMGDaJ33nmHsrKySKVSkZ+fH4WFhVF8fDyNHDmSXFxcKCIigoiIzpw5Q1FRUWRra0vu7u70+uuv07///ivEKioqogEDBpCtrS15enrSV199RWFhYTRy5EjhMSqVijZt2mSQg6OjIy1btky4nZ2dTb179yZHR0dycnKimJgYyszMNMg5NjaWvvzyS/L09CRnZ2eKi4ujsrIy4TE6nY4+/vhj8vb2JgsLC2rSpAktWbKEmJmaNGlCX375pUEOqamppFKp6MKFC9JfVFAsFH4wCXPmzKHJkyeTl5cXXb16lY4fP05ERD/88AOZm5vTwYMHafHixZSXl0cdOnSgVq1a0YkTJ2j79u2Um5tLvXv3FmKNHj2a9u7dS5s3b6adO3dScnJytdfRKSsro4iICLKzs6P9+/fTwYMHydbWliIjI6m0tFR4XFJSEl28eJGSkpLohx9+oGXLlhmcPAYMGECrV6+muXPn0tmzZ+mbb74hW1tbUqlU9MYbb1BCQoLB8yYkJNDLL79MTZo0EfEqAvx/RpsDDCCzr7/+mn19fYXb7dq1M9jTlpn5888/506dOhncl52dzUTEaWlpfOvWLTY3N+d169YJ7devX2crKyt+7733hPuIqNI2kg4ODsJ+witWrOCmTZsabJen0+nYysqKd+zYwcz39uD19fXlO3fuCI/p1asX9+nTh5nvrcFORLxr164q/7+XL19mjUbDR48eZWbm0tJSdnFx4WXLlj3kVQJ4NPTxg0kLDg42uH3q1ClKSkoiW1vbSo+9ePEi3b59m0pLSykkJES438nJiZo2bVqt5z116hRduHCh0naNJSUldPHiReH2008/TRqNRrjt6elJp0+fJqJ73TYajYbatWtX5XPUr1+foqOjaenSpdS6dWvasmUL6XQ66tWrV7VyBagIhR9MWsUNPAoLC6lLly40Y8aMSo/19PR87L7xqlbSvL9vvrCwkIKDg2nlypWVftbV1VX4d8V9iFUqFen1eiIisrKyemQeQ4cOpddff52+/vprSkhIoD59+pC1tfVj/R8AHgSFH54ozz77LP3888/k5+dX5VDPxo0bk5mZGR09elTY2ejmzZt07tw5gytvV1dXunr1qnD7/PnzVFxcbPA8a9euJTc3N7K3txeVa/PmzUmv19PevXspPDy8ysd07tyZbGxsaNGiRbR9+3bat2+fqOcCuB++3IUnSlxcHN24cYP69u1Lx48fp4sXL9KOHTto8ODBdPfuXbK1taUhQ4bQ6NGjKTExkc6cOUODBg0itdrwT6FDhw40f/58+u233+jEiRP01ltvGVy99+vXj1xcXCgmJob2799PGRkZlJycTO+++y5dunTpsXL18/OjgQMH0htvvEGbNm0SYqxbt054jEajoUGDBtGYMWPI39+fQkNDjfNCgaKh8MMTpX79+nTw4EG6e/cuderUiZo3b04jR44kR0dHobjPmjWLXnrpJerSpQuFh4fTiy++WOm7gq+++oq8vb3ppZdeotdee40+/PBDgy4Wa2tr2rdvH/n4+FD37t0pMDCQhgwZQiUlJdX6BLBo0SLq2bMnvf322xQQEEBvvvkmFRUVGTxmyJAhVFpaSoMHD5bwygD8H8zcBSCisLAwatmyJc2ePbu2U6lk//799Morr1B2dja5u7vXdjrwBEAfP0AdpdPp6Nq1azRx4kTq1asXij4YDbp6AOqo1atXk6+vL+Xl5dHMmTNrOx14gqCrBwBAYXDFDwCgMCj8AAAKg8IPAKAwKPwAAAqDwg8AoDAo/AAACoPCDwCgMCj8AAAK8/8Av6ccGtuGdIwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(fr[FR['note_col']], french=True)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['aa+3', 'h0/c1', 'a’0', 'dis’-2', 'cis’+2', 'es’+5', 'd’-1']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
C5-6/16512.0391
G4391.9951
F4+7/16358.1661
E4+3/16333.2171
D#4311.1271
D4293.6652
C#4+6/16283.2521
C#4+4/16281.2141
C#4-2/16275.1891
C#4-4/16273.2091
C4+7/16268.3211
C4+4/16265.4311
C4+2/16263.5211
C4261.6263
C4-4/16257.8751
C4-7/16255.0971
B3+8/16254.1781
B3+5/16251.4403
B3+4/16250.5331
B3+3/16249.6312
B3+1/16247.8351
B3246.94214
B3-2/16245.1652
B3-4/16243.4013
B3-5/16242.5242
B3-6/16241.6501
B3-7/16240.7791
A#3+5/16237.3272
A3+8/16226.4461
A3+7/16225.6302
A3+6/16224.8172
A3+5/16224.0073
A3+4/16223.2002
A3+3/16222.3964
A3+2/16221.5944
A3+1/16220.7964
A3220.000161
A3-1/16219.2072
A3-2/16218.4173
A3-3/16217.6301
A3-4/16216.8463
A3-5/16216.0642
A3-6/16215.2862
A3-7/16214.5101
G#3+8/16213.7373
G#3+7/16212.9671
G#3+6/16212.1992
G#3+5/16211.4354
G#3+4/16210.6733
G#3+3/16209.9142
G#3+2/16209.1573
G#3+1/16208.4032
G#3207.65262
G#3-1/16206.9044
G#3-2/16206.1583
G#3-3/16205.4164
G#3-4/16204.6756
G#3-5/16203.9383
G#3-6/16203.2031
G#3-7/16202.4714
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "C5-6/16 512.039 1\n", "G4 391.995 1\n", "F4+7/16 358.166 1\n", "E4+3/16 333.217 1\n", "D#4 311.127 1\n", "D4 293.665 2\n", "C#4+6/16 283.252 1\n", "C#4+4/16 281.214 1\n", "C#4-2/16 275.189 1\n", "C#4-4/16 273.209 1\n", "C4+7/16 268.321 1\n", "C4+4/16 265.431 1\n", "C4+2/16 263.521 1\n", "C4 261.626 3\n", "C4-4/16 257.875 1\n", "C4-7/16 255.097 1\n", "B3+8/16 254.178 1\n", "B3+5/16 251.440 3\n", "B3+4/16 250.533 1\n", "B3+3/16 249.631 2\n", "B3+1/16 247.835 1\n", "B3 246.942 14\n", "B3-2/16 245.165 2\n", "B3-4/16 243.401 3\n", "B3-5/16 242.524 2\n", "B3-6/16 241.650 1\n", "B3-7/16 240.779 1\n", "A#3+5/16 237.327 2\n", "A3+8/16 226.446 1\n", "A3+7/16 225.630 2\n", "A3+6/16 224.817 2\n", "A3+5/16 224.007 3\n", "A3+4/16 223.200 2\n", "A3+3/16 222.396 4\n", "A3+2/16 221.594 4\n", "A3+1/16 220.796 4\n", "A3 220.000 161\n", "A3-1/16 219.207 2\n", "A3-2/16 218.417 3\n", "A3-3/16 217.630 1\n", "A3-4/16 216.846 3\n", "A3-5/16 216.064 2\n", "A3-6/16 215.286 2\n", "A3-7/16 214.510 1\n", "G#3+8/16 213.737 3\n", "G#3+7/16 212.967 1\n", "G#3+6/16 212.199 2\n", "G#3+5/16 211.435 4\n", "G#3+4/16 210.673 3\n", "G#3+3/16 209.914 2\n", "G#3+2/16 209.157 3\n", "G#3+1/16 208.403 2\n", "G#3 207.652 62\n", "G#3-1/16 206.904 4\n", "G#3-2/16 206.158 3\n", "G#3-3/16 205.416 4\n", "G#3-4/16 204.675 6\n", "G#3-5/16 203.938 3\n", "G#3-6/16 203.203 1\n", "G#3-7/16 202.471 4" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(de[DE['note_col']], include_deltas=True, plot='area').head(60)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
B3246.9421
G#3207.65243
G3195.99817
G3-5/16192.4921
F#3184.99710
F3174.6144
E3+3/16166.6081
E3164.8141
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "B3 246.942 1\n", "G#3 207.652 43\n", "G3 195.998 17\n", "G3-5/16 192.492 1\n", "F#3 184.997 10\n", "F3 174.614 4\n", "E3+3/16 166.608 1\n", "E3 164.814 1" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(ch[CH['note_col']], include_deltas=True).head(40)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "missed: ['(?)', 'Do', '?', 'La b', 'Do #']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyn_bells
midi_note
C#4277.1832
C4261.6268
B3246.94230
A#3233.08230
A#3-5/16228.9121
A3+7/16225.6301
A3220.00036
G#3207.65224
G3+5/16199.5681
G3195.99829
F#3184.99713
F#3-4/16182.3451
F3174.61411
E3164.8143
D#3155.5633
D3146.8323
C#3138.5912
C3130.8131
\n", "
" ], "text/plain": [ " frequency n_bells\n", "midi_note \n", "C#4 277.183 2\n", "C4 261.626 8\n", "B3 246.942 30\n", "A#3 233.082 30\n", "A#3-5/16 228.912 1\n", "A3+7/16 225.630 1\n", "A3 220.000 36\n", "G#3 207.652 24\n", "G3+5/16 199.568 1\n", "G3 195.998 29\n", "F#3 184.997 13\n", "F#3-4/16 182.345 1\n", "F3 174.614 11\n", "E3 164.814 3\n", "D#3 155.563 3\n", "D3 146.832 3\n", "C#3 138.591 2\n", "C3 130.813 1" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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88478PX1xeDBg1FWVoby8nIMHz4cISEhomLVRXaFf9y4cejevTtOnjyJ8+fPIyoqCh988AGKi4uxcuVKWFhYaLXPr0tERAT69++PEydOYNKkSfD19UVERATKyspQWlqKl19+GcOHDxeVk5S9/mrrcVv9duDAgUYv/FJ9uYYMGYLIyEgUFBSgtLQUEydOxIgRIwAAe/fuhb29PRYsWCAqJyljWVtbCzv5Xr164d1339VaPnXqVHTv3l1nHIVCgatXrwKobCKalpamtTwjI8Pg9tv6Mjc3F/oouLq61mgievbsWVF9FFq0aFHvzdraWvTnycrKSrj4WdVirfq2On/+vOjtJFW/l1atWmld5L527Rq6dOmCPn36oLS0VK/m3S1atMDff/8NACgpKYFKpdLqEHbq1CnY29uLilWXZlH4pfzQODg4aLUjv3nzJszMzISxS5YsWYKnnnpKZ5zqRx1FRUU1jjoOHTqEVq1aicpJyl5/VUVUV89bXaTc5lJ9uaytrYX28kDldjc2NhaGjvjpp59Ed+STMpalpaVwVOzs7FxrwRbTXFWhUGDNmjXYvn073N3da/xKOHXqlF7NesvLy5GWlob4+HjEx8cjLS0NZWVlol8PAIGBgfj+++8BVHZ+3Lp1q9by33//HS4uLjrjWFhY4N///jdWr15d623mzJmiP09du3bF1KlTAQCrVq0S+s5UmTVrluhWcFL1ezE3N6/REqewsBBBQUHo3bs3srKyRK+fra2tcCBRVlYGlUql1Srs9OnTopuv16VZjM6p0Who/Pjx1LFjx1qX//PPPzRz5kxRse7du6d1Hl+tVtO9e/eouLiYLCwsqE+fPvT+++/rjFNUVER2dnZERGRpaUmWlpbk6uoqLPfw8KD8/HxROT3xxBOUnJxMrVu3JisrKyosLNRafufOHaqoqBAVy8rKij755BMKDAysdfn58+cpOjpaZxwpt3lycjJ98MEHNGjQIPr555/J399fWObm5kaenp6i4piampJCoRDuK5VKun//Pt27d4+IiLp160Y5OTmNHiswMJDi4uLIx8eH2rZtS+np6dS5c2dheVpamvBZ0WXkyJHC3wkJCRQUFCTcP3r0KLVt21ZnjIqKCpo2bRotXbqUCgoKtJbZ2NjQxIkTaebMmaRU6h6V/dNPP6URI0aQsbExvf322/Tuu+/SjRs3yNfX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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frequency_stats(fr[FR['note_col']], french=True, include_deltas=True)" ] } ], "metadata": { "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.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }