Mercurial > hg > auditok
changeset 217:b99eb5767ff6
Raise ValueError for bad block_dur values
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Sat, 06 Jul 2019 11:17:54 +0100 |
parents | 3708f2eb8a40 |
children | 41e2ce69d4f4 |
files | auditok/util.py |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/auditok/util.py Sat Jul 06 11:17:54 2019 +0100 +++ b/auditok/util.py Sat Jul 06 11:17:54 2019 +0100 @@ -698,7 +698,18 @@ class _FixedSizeAudioReader(_AudioSourceProxy): def __init__(self, audio_source, block_dur): super(_FixedSizeAudioReader, self).__init__(audio_source) + + if block_dur <= 0: + raise ValueError( + "block_dur must be > 0, given: {}".format(block_dur) + ) + self._block_size = int(block_dur * self.sr) + if self._block_size == 0: + err_msg = "Too small block_dur ({0:f}) for sampling rate ({1}). " + err_msg += "block_dur should cover at least one sample " + err_msg += "(i.e. 1/{1})" + raise ValueError(err_msg.format(block_dur, self.sr)) def read(self): return self._audio_source.read(self._block_size)