コード例 #1
0
  private void updateStrings(final int frequency) {

    final int stringFreq = FrequencyDetector.detectStringFreq(frequency);
    final Tuple stringName = FrequencyDetector.getStringName(stringFreq);

    String tempnote = stringName.get_note_name();

    String dashes = "";

    if (frequency > 554) {
      dashes = "--";
    } else {
      dashes = "-";
    }

    if (tempnote == "E") {
      E = E + "-" + (stringName.get_fret_number() + "");
      A = A + dashes;
      D = D + dashes;
      G = G + dashes;
      B = B + dashes;
      e = e + dashes;
    } else if (tempnote == "A") {
      E = E + dashes;
      A = A + "-" + (stringName.get_fret_number() + "");
      D = D + dashes;
      G = G + dashes;
      B = B + dashes;
      e = e + dashes;
    } else if (tempnote == "D") {
      E = E + dashes;
      A = A + dashes;
      D = D + "-" + (stringName.get_fret_number() + "");
      G = G + dashes;
      B = B + dashes;
      e = e + dashes;
    } else if (tempnote == "G") {
      E = E + dashes;
      A = A + dashes;
      D = D + dashes;
      G = G + "-" + (stringName.get_fret_number() + "");
      B = B + dashes;
      e = e + dashes;
    } else if (tempnote == "B") {
      E = E + dashes;
      A = A + dashes;
      D = D + dashes;
      G = G + dashes;
      B = B + "-" + (stringName.get_fret_number() + "");
      e = e + dashes;
    } else {
      E = E + dashes;
      A = A + dashes;
      D = D + dashes;
      G = G + dashes;
      B = B + dashes;
      e = e + "-" + (stringName.get_fret_number() + "");
    }
  }
コード例 #2
0
  private void processRecordedData() {
    mIsProcessing = true;

    float[] recordedDataFFT;
    recordedDataFFT = FrequencyDetector.convertToFloats(mRecordedData);
    fft.realForward(recordedDataFFT);

    float[] halfAbsFFT;
    halfAbsFFT = FrequencyDetector.absAndHalve(recordedDataFFT);

    int[] peaks;
    peaks = FrequencyDetector.identifyPeaksAndRemove(halfAbsFFT);

    String peakString = "";
    for (int e : peaks) peakString += e + " ";
    Log.d(TAG, peakString);

    int frequency = FrequencyDetector.detectFrequency(peaks);
    if (frequency != -1) this.updateStrings(frequency);

    mIsProcessing = false;
  }