{ "metadata": { "name": "", "signature": "sha256:eb2ef1e6195a5c490fb59627baa0896c14b6aa35d5ebeb03280a4a4d72d5246e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Given some chords in a text file like:\n", "\n", "Chord{....}..., c minor 7, 0.125, 0.800\n", "\n", "Parse this into an easier form." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from collections import Counter, defaultdict\n", "from sklearn.cluster import KMeans\n", "import pandas as pd\n", "import numpy as np\n", "import sys\n", "sys.path.append('C:/Python27/Lib/site-packages')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# Import the chord data.\n", "oscar2 = pd.read_csv('oscar2chords.txt', skiprows=2)[:].sort(\"Offset\")\n", "oscar2.index = xrange(1, len(oscar2) + 1)\n", "with open('oscar2chords.txt', 'rb') as f:\n", " metmark = float(f.readline())\n", " tsig_num, tsig_den = [i for i in f.readline().replace(' /', '').split()]\n", " \n", "print \"Metrics:\"\n", "print metmark, tsig_num, tsig_den, len(oscar2)\n", "oscar2.sort(columns=\"Offset\", ascending=True)\n", "oscar2.head(30)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Metrics:\n", "176.0 4 4 297\n" ] }, { "html": [ "
\n", " | FullName | \n", "CommonName | \n", "Len | \n", "Offset | \n", "
---|---|---|---|---|
1 | \n", "Chord {D in octave 5 | C in octave 4 | E in oc... | \n", "A6-perfect-fourth minor tetrachord | \n", "1.125000 | \n", "8.000000 | \n", "
2 | \n", "Chord {A in octave 3 | G in octave 3 | E in oc... | \n", "A3-incomplete dominant-seventh chord | \n", "1.250000 | \n", "8.000000 | \n", "
3 | \n", "Chord {E in octave 6 | E in octave 4 | D in oc... | \n", "D6-quartal trichord | \n", "1.375000 | \n", "9.625000 | \n", "
4 | \n", "Chord {C in octave 4 | A in octave 5} Dotted Q... | \n", "A5-interval class 3 | \n", "1.500000 | \n", "9.625000 | \n", "
5 | \n", "Chord {G in octave 3 | A in octave 3} Quarter ... | \n", "A3-interval class 2 | \n", "1.666667 | \n", "9.625000 | \n", "
6 | \n", "Chord {A in octave 5 | D in octave 4 | G in oc... | \n", "G4-quartal trichord | \n", "0.625000 | \n", "12.666667 | \n", "
7 | \n", "Chord {E in octave 3 | E in octave 5} Double D... | \n", "E3-unison | \n", "0.875000 | \n", "12.666667 | \n", "
8 | \n", "Chord {A in octave 3 | C-sharp in octave 4 | E... | \n", "A3-major triad | \n", "0.750000 | \n", "13.875000 | \n", "
9 | \n", "Chord {G in octave 5 | G in octave 4} Eighth t... | \n", "G5-unison | \n", "0.625000 | \n", "14.000000 | \n", "
10 | \n", "Chord {C in octave 4 | D in octave 3} Dotted Half | \n", "D3-interval class 2 | \n", "3.000000 | \n", "16.000000 | \n", "
11 | \n", "Chord {E-flat in octave 4 | E-flat in octave 5... | \n", "E-4-unison | \n", "0.750000 | \n", "20.625000 | \n", "
12 | \n", "Chord {B-flat in octave 3 | F in octave 5} Qua... | \n", "B-3-interval class 5 | \n", "1.000000 | \n", "20.625000 | \n", "
13 | \n", "Chord {D in octave 4 | E-flat in octave 5} Dou... | \n", "E-5-interval class 1 | \n", "0.875000 | \n", "20.625000 | \n", "
14 | \n", "Chord {E-flat in octave 5 | C-sharp in octave ... | \n", "C#5-interval class 2 | \n", "0.750000 | \n", "21.875000 | \n", "
15 | \n", "Chord {G in octave 5 | C-sharp in octave 5} Qu... | \n", "C#5-tritone | \n", "0.666667 | \n", "21.875000 | \n", "
16 | \n", "Chord {E-flat in octave 4 | A in octave 5} 16th | \n", "A5-tritone | \n", "0.250000 | \n", "22.875000 | \n", "
17 | \n", "Chord {G in octave 4 | A in octave 3 | A in oc... | \n", "A3-interval class 2 | \n", "0.125000 | \n", "22.875000 | \n", "
18 | \n", "Chord {A in octave 3 | B-flat in octave 3 | D ... | \n", "B-3-incomplete major-seventh chord | \n", "1.333333 | \n", "23.875000 | \n", "
19 | \n", "Chord {B-flat in octave 4 | D in octave 5 | F ... | \n", "B-4-major triad | \n", "0.500000 | \n", "24.000000 | \n", "
20 | \n", "Chord {D in octave 6 | B-flat in octave 3 | D ... | \n", "B-3-interval class 4 | \n", "1.125000 | \n", "25.500000 | \n", "
21 | \n", "Chord {A in octave 3 | F in octave 4} Quarter | \n", "F4-interval class 4 | \n", "1.000000 | \n", "25.625000 | \n", "
22 | \n", "Chord {G-sharp in octave 3 | D in octave 5 | G... | \n", "G#3-diminished triad | \n", "0.125000 | \n", "27.625000 | \n", "
23 | \n", "Chord {F in octave 4 | D in octave 4 | B in oc... | \n", "G#5-diminished seventh chord | \n", "0.125000 | \n", "27.625000 | \n", "
24 | \n", "Chord {F in octave 4 | D in octave 4} Half | \n", "D4-interval class 3 | \n", "2.000000 | \n", "28.625000 | \n", "
25 | \n", "Chord {A in octave 3 | A in octave 5 | E in oc... | \n", "A3-incomplete dominant-seventh chord | \n", "3.875000 | \n", "31.500000 | \n", "
26 | \n", "Chord {F in octave 4 | B-flat in octave 4} Dou... | \n", "B-4-interval class 5 | \n", "0.875000 | \n", "68.625000 | \n", "
27 | \n", "Chord {C in octave 4 | E in octave 4 | G in oc... | \n", "A3-minor seventh chord | \n", "1.333333 | \n", "71.875000 | \n", "
28 | \n", "Chord {G in octave 5 | A in octave 5 | A in oc... | \n", "A5-incomplete minor-seventh chord | \n", "1.000000 | \n", "73.625000 | \n", "
29 | \n", "Chord {B in octave 3 | G in octave 4 | D in oc... | \n", "G4-major triad | \n", "1.333333 | \n", "76.000000 | \n", "
30 | \n", "Chord {C-sharp in octave 4 | G in octave 5} Do... | \n", "C#4-tritone | \n", "0.875000 | \n", "77.875000 | \n", "
30 rows \u00d7 4 columns
\n", "