{ "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", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FullNameCommonNameLenOffset
1 Chord {D in octave 5 | C in octave 4 | E in oc... A6-perfect-fourth minor tetrachord 1.125000 8.000000
2 Chord {A in octave 3 | G in octave 3 | E in oc... A3-incomplete dominant-seventh chord 1.250000 8.000000
3 Chord {E in octave 6 | E in octave 4 | D in oc... D6-quartal trichord 1.375000 9.625000
4 Chord {C in octave 4 | A in octave 5} Dotted Q... A5-interval class 3 1.500000 9.625000
5 Chord {G in octave 3 | A in octave 3} Quarter ... A3-interval class 2 1.666667 9.625000
6 Chord {A in octave 5 | D in octave 4 | G in oc... G4-quartal trichord 0.625000 12.666667
7 Chord {E in octave 3 | E in octave 5} Double D... E3-unison 0.875000 12.666667
8 Chord {A in octave 3 | C-sharp in octave 4 | E... A3-major triad 0.750000 13.875000
9 Chord {G in octave 5 | G in octave 4} Eighth t... G5-unison 0.625000 14.000000
10 Chord {C in octave 4 | D in octave 3} Dotted Half D3-interval class 2 3.000000 16.000000
11 Chord {E-flat in octave 4 | E-flat in octave 5... E-4-unison 0.750000 20.625000
12 Chord {B-flat in octave 3 | F in octave 5} Qua... B-3-interval class 5 1.000000 20.625000
13 Chord {D in octave 4 | E-flat in octave 5} Dou... E-5-interval class 1 0.875000 20.625000
14 Chord {E-flat in octave 5 | C-sharp in octave ... C#5-interval class 2 0.750000 21.875000
15 Chord {G in octave 5 | C-sharp in octave 5} Qu... C#5-tritone 0.666667 21.875000
16 Chord {E-flat in octave 4 | A in octave 5} 16th A5-tritone 0.250000 22.875000
17 Chord {G in octave 4 | A in octave 3 | A in oc... A3-interval class 2 0.125000 22.875000
18 Chord {A in octave 3 | B-flat in octave 3 | D ... B-3-incomplete major-seventh chord 1.333333 23.875000
19 Chord {B-flat in octave 4 | D in octave 5 | F ... B-4-major triad 0.500000 24.000000
20 Chord {D in octave 6 | B-flat in octave 3 | D ... B-3-interval class 4 1.125000 25.500000
21 Chord {A in octave 3 | F in octave 4} Quarter F4-interval class 4 1.000000 25.625000
22 Chord {G-sharp in octave 3 | D in octave 5 | G... G#3-diminished triad 0.125000 27.625000
23 Chord {F in octave 4 | D in octave 4 | B in oc... G#5-diminished seventh chord 0.125000 27.625000
24 Chord {F in octave 4 | D in octave 4} Half D4-interval class 3 2.000000 28.625000
25 Chord {A in octave 3 | A in octave 5 | E in oc... A3-incomplete dominant-seventh chord 3.875000 31.500000
26 Chord {F in octave 4 | B-flat in octave 4} Dou... B-4-interval class 5 0.875000 68.625000
27 Chord {C in octave 4 | E in octave 4 | G in oc... A3-minor seventh chord 1.333333 71.875000
28 Chord {G in octave 5 | A in octave 5 | A in oc... A5-incomplete minor-seventh chord 1.000000 73.625000
29 Chord {B in octave 3 | G in octave 4 | D in oc... G4-major triad 1.333333 76.000000
30 Chord {C-sharp in octave 4 | G in octave 5} Do... C#4-tritone 0.875000 77.875000
\n", "

30 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ " FullName \\\n", "1 Chord {D in octave 5 | C in octave 4 | E in oc... \n", "2 Chord {A in octave 3 | G in octave 3 | E in oc... \n", "3 Chord {E in octave 6 | E in octave 4 | D in oc... \n", "4 Chord {C in octave 4 | A in octave 5} Dotted Q... \n", "5 Chord {G in octave 3 | A in octave 3} Quarter ... \n", "6 Chord {A in octave 5 | D in octave 4 | G in oc... \n", "7 Chord {E in octave 3 | E in octave 5} Double D... \n", "8 Chord {A in octave 3 | C-sharp in octave 4 | E... \n", "9 Chord {G in octave 5 | G in octave 4} Eighth t... \n", "10 Chord {C in octave 4 | D in octave 3} Dotted Half \n", "11 Chord {E-flat in octave 4 | E-flat in octave 5... \n", "12 Chord {B-flat in octave 3 | F in octave 5} Qua... \n", "13 Chord {D in octave 4 | E-flat in octave 5} Dou... \n", "14 Chord {E-flat in octave 5 | C-sharp in octave ... \n", "15 Chord {G in octave 5 | C-sharp in octave 5} Qu... \n", "16 Chord {E-flat in octave 4 | A in octave 5} 16th \n", "17 Chord {G in octave 4 | A in octave 3 | A in oc... \n", "18 Chord {A in octave 3 | B-flat in octave 3 | D ... \n", "19 Chord {B-flat in octave 4 | D in octave 5 | F ... \n", "20 Chord {D in octave 6 | B-flat in octave 3 | D ... \n", "21 Chord {A in octave 3 | F in octave 4} Quarter \n", "22 Chord {G-sharp in octave 3 | D in octave 5 | G... \n", "23 Chord {F in octave 4 | D in octave 4 | B in oc... \n", "24 Chord {F in octave 4 | D in octave 4} Half \n", "25 Chord {A in octave 3 | A in octave 5 | E in oc... \n", "26 Chord {F in octave 4 | B-flat in octave 4} Dou... \n", "27 Chord {C in octave 4 | E in octave 4 | G in oc... \n", "28 Chord {G in octave 5 | A in octave 5 | A in oc... \n", "29 Chord {B in octave 3 | G in octave 4 | D in oc... \n", "30 Chord {C-sharp in octave 4 | G in octave 5} Do... \n", "\n", " CommonName Len Offset \n", "1 A6-perfect-fourth minor tetrachord 1.125000 8.000000 \n", "2 A3-incomplete dominant-seventh chord 1.250000 8.000000 \n", "3 D6-quartal trichord 1.375000 9.625000 \n", "4 A5-interval class 3 1.500000 9.625000 \n", "5 A3-interval class 2 1.666667 9.625000 \n", "6 G4-quartal trichord 0.625000 12.666667 \n", "7 E3-unison 0.875000 12.666667 \n", "8 A3-major triad 0.750000 13.875000 \n", "9 G5-unison 0.625000 14.000000 \n", "10 D3-interval class 2 3.000000 16.000000 \n", "11 E-4-unison 0.750000 20.625000 \n", "12 B-3-interval class 5 1.000000 20.625000 \n", "13 E-5-interval class 1 0.875000 20.625000 \n", "14 C#5-interval class 2 0.750000 21.875000 \n", "15 C#5-tritone 0.666667 21.875000 \n", "16 A5-tritone 0.250000 22.875000 \n", "17 A3-interval class 2 0.125000 22.875000 \n", "18 B-3-incomplete major-seventh chord 1.333333 23.875000 \n", "19 B-4-major triad 0.500000 24.000000 \n", "20 B-3-interval class 4 1.125000 25.500000 \n", "21 F4-interval class 4 1.000000 25.625000 \n", "22 G#3-diminished triad 0.125000 27.625000 \n", "23 G#5-diminished seventh chord 0.125000 27.625000 \n", "24 D4-interval class 3 2.000000 28.625000 \n", "25 A3-incomplete dominant-seventh chord 3.875000 31.500000 \n", "26 B-4-interval class 5 0.875000 68.625000 \n", "27 A3-minor seventh chord 1.333333 71.875000 \n", "28 A5-incomplete minor-seventh chord 1.000000 73.625000 \n", "29 G4-major triad 1.333333 76.000000 \n", "30 C#4-tritone 0.875000 77.875000 \n", "\n", "[30 rows x 4 columns]" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }