docs: def time_range_to_frame_range(self, start, end, sr):
          """
          Calculate the frames containing samples from the given time range in seconds.
  
          Args:
              start (float): Start time in seconds.
              end (float): End time in seconds.
              sr (int): The sampling rate to use for time-to-sample conversion.
  
          Returns:
              tuple: A tuple containing the start and end (exclusive) frame indices.
          """
  
          start_sample = seconds_to_sample(start, sr)
          end_sample = seconds_to_sample(end, sr)
  
          return self.sample_to_frame_range(start_sample)[0], self.sample_to_frame_range(end_sample - 1)[1]