code: def rotate_bitmap_to_root(bitmap, chord_root):
      
      bitmap = np.asarray(bitmap)
      assert bitmap.ndim == 1, "Currently only 1D bitmaps are supported."
      idxs = list(np.nonzero(bitmap))
      idxs[-1] = (idxs[-1] + chord_root) % 12
      abs_bitmap = np.zeros_like(bitmap)
      abs_bitmap[tuple(idxs)] = 1
      return abs_bitmap
docs: Circularly shift a relative bitmap to its asbolute pitch classes.
  
      For clarity, the best explanation is an example. Given 'G:Maj', the root
      and quality map are as follows::
  
          root=5
          quality=[1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0]  # Relative chord shape
  
      After rotating to the root, the resulting bitmap becomes::
  
          abs_quality = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1]  # G, B, and D
  
      Parameters
      ----------
      bitmap : np.ndarray, shape=(12,)
          Bitmap of active notes, relative to the given root.
      chord_root : int
          Absolute pitch class number.
  
      Returns
      -------
      bitmap : np.ndarray, shape=(12,)
          Absolute bitmap of active pitch classes.