def chop_meeting_data(reference_waveforms, diarization_labels, speaker_ids,
                          meeting_scale, nsplit=num_meeting_subdivisions):
      samples = tf.shape(reference_waveforms)[-1]
      new_samples = nsplit * (samples // nsplit)
      reference_waveforms = tf.stack(
          tf.split(reference_waveforms[..., :new_samples],
                   nsplit, axis=-1), axis=0)
      diarization_labels = tf.stack(
          tf.split(diarization_labels[..., :new_samples],
                   nsplit, axis=-1), axis=0)
      speaker_ids = tf.reshape(speaker_ids, (1, max_num_spk))
      speaker_ids = tf.broadcast_to(speaker_ids, (nsplit, max_num_spk))
      meeting_scale = meeting_scale[0] * tf.ones((nsplit, max_num_spk))
      return tf.data.Dataset.from_tensor_slices((reference_waveforms,
                                                 diarization_labels,
                                                 speaker_ids,
                                                 meeting_scale))