# HG changeset patch # User Amine Sehili # Date 1551019662 -3600 # Node ID dde6da718b421ee8f587e46833071ce175c2b083 # Parent 39559566226b346e14ef950609b69449ef8953be Add RawAudioSource class diff -r 39559566226b -r dde6da718b42 auditok/io.py --- a/auditok/io.py Sun Feb 24 15:21:19 2019 +0100 +++ b/auditok/io.py Sun Feb 24 15:47:42 2019 +0100 @@ -491,6 +491,27 @@ return None +class RawAudioSource(_FileAudioSource, Rewindable): + def __init__( + self, file, sampling_rate, sample_width, channels, use_channel=0 + ): + _FileAudioSource.__init__( + self, sampling_rate, sample_width, channels, use_channel + ) + self._file = file + self._audio_stream = None + self._sample_size = sample_width * channels + + def open(self): + if self._audio_stream is None: + self._audio_stream = open(self._file) + + def _read_from_stream(self, size): + bytes_to_read = size * self._sample_size + data = self._audio_stream.read(bytes_to_read) + return data + + class WaveAudioSource(AudioSource): """ A class for an `AudioSource` that reads data from a wave file.