public double Distance(NGram <Chord>[] first, NGram <Chord>[] second)
 {
     return(distance.Distance(
                first.SelectMany(x => x.SelectMany(y => y.Notes)).Select(z => z.Octave * 11 + (int)z.Note).ToArray(),
                second.SelectMany(x => x.SelectMany(y => y.Notes)).Select(z => (int)(z.Octave * 11 + (int)z.Note)).ToArray()));
 }