code: def testRecorded(self):
      pcp = TestChordsDetectionBeats.get_hpcp(
          join(testdata.audio_dir, "recorded", "guitar_triads.flac")
      )
      # FIXME The algorithm fails in detecting major/minor for one of the
      # chords in the sequence, even though the root note is identified
      # correctly.
  
      ticks = [
          2.2,
          5.7,
          9.0,
          12.0,
          16.0,
          18.8,
          22.6,
          25.4,
          28.7,
          31.6,
          34.7,
          38.5,
          40.6,
          43.0,
          45.2,
          48.5,
          50.5,
          53.3,
          56.5,
      ]
  
      chords, strength = ChordsDetectionBeats()(pcp, ticks)
      strength_threshold = [0.8] * 18
      chords_groundtruth = [
          "Em",
          "Am",
          "Dm",
          "G",
          "C",
          "F#",
          "Bm",
          "B",
          "Em",
          "Em",
          "E",
          "A",
          "D",
          "E",
          "E",
          "A",
          "D",
          "Em",
      ]
      strength_threshold[3] = 0.4
  
      for detected_chord, expected_chord, s, threshold in zip(
          chords, chords_groundtruth, strength, strength_threshold
      ):
          self.assertEqual(detected_chord, expected_chord)
          self.assertTrue(s > threshold)
  
imports: from essentia_test import *
  import numpy
label_desc: Use image node_id 4 for calling the TestChordsDetectionBeats obj's underlying member method code with example usage: obj.testRecorded() without return types