# HG changeset patch # User Amine Sehili # Date 1551990503 -3600 # Node ID 684392cc50193833b61cfc7d9632366865699235 # Parent 54289c20c921185431c7331cadb7d5c32f8440d3 Add get_audio_source diff -r 54289c20c921 -r 684392cc5019 auditok/io.py --- a/auditok/io.py Thu Mar 07 21:00:50 2019 +0100 +++ b/auditok/io.py Thu Mar 07 21:28:23 2019 +0100 @@ -782,6 +782,27 @@ audio_source.get_channels(), ) +def get_audio_source(input=None, **kwargs): + + # read data from standard input + if input == "-": + return StdinAudioSource(**kwargs) + + # create AudioSource from raw data + if isinstance(input, bytes): + return BufferAudioSource(input, **kwargs) + + # read data from a file + if input is not None: + return from_file(filename=input, + audio_format=kwargs.get('audio_format'), + large_file=kwargs.get('large_file', False), + **kwargs) + + # read data from microphone via pyaudio + else: + return PyAudioSource(**kwargs) + def _load_raw( file,