public KeyProbabilitySet getNormalizedProbabilities() { double[] normalizedProbabilities = new double[12]; double minimum = Double.MAX_VALUE; for (int i = 0; i < 12; ++i) { if (probability[i] < minimum) minimum = probability[i]; } int index = 0; for (int i = 0; i < 12; ++i) { normalizedProbabilities[index] = probability[i] - minimum; index += 7; if (index >= 12) index -= 12; } double total = 0; for (int i = 0; i < 12; ++i) total += normalizedProbabilities[i]; for (int i = 0; i < 12; ++i) normalizedProbabilities[i] = normalizedProbabilities[i] / total; return new KeyProbabilitySet(normalizedProbabilities, spiralKey.isMajor(), spiralKey.getType()); }
private void processData(double[] circle5ths_buffer) { Point centerEffect = SpiralArray.getCenterPoint(circle5ths_buffer); if (centerEffect != null) spiralKey.getKeyProbabilities(centerEffect, probability); }