docs: def sample_to_frame_range(self, sample_index):
          """
          Return a tuple containing the indices of the first frame containing the sample with the given index and
          the last frame (exclusive, doesn't contain the sample anymore).
          """
          start = max(0, int((sample_index - self.frame_size) / self.hop_size) + 1)
          end = int(sample_index / self.hop_size) + 1
          return start, end