def send_src()

in simuleval/scorer/instance.py [0:0]


    def send_src(self, segment_size=10):

        if self.step == 0:
            self.start_time = time.time()
            self.load_audio_from_path(self.source)
        assert segment_size >= 1, "instance size has to larger than 1 ms"

        num_samples = math.ceil(segment_size / 1000 * self.sample_rate)

        if self.step < len(self.samples):
            if self.step + num_samples > len(self.samples):
                # Pad zeros if the requested number of samples
                # are more than available samples.
                instance = (
                    self.samples[self.step:]
                )
                is_finished = True
            else:
                instance = self.samples[self.step: self.step + num_samples]
                is_finished = False

            self.step = min(self.step + num_samples, len(self.samples))

            dict_to_return = {
                "segment_id": self.len_sample_to_ms(self.step),
                "segment": instance,
                "sample_rate": self.audio_info.samplerate,
                "dtype": "int16",
                "finished": is_finished,
            }

        else:
            # Finish reading this audio
            dict_to_return = {
                "segment_id": self.source_length(),
                "segment": DEFAULT_EOS,
                "sample_rate": self.audio_info.samplerate,
                "dtype": "int16",
                "finished": True,
            }

        return dict_to_return