python - Apache Beam for audio signal/stream processing -
i working on speech-like recognition, processing audio signals i.e. applying bunch of transforms , digital signal processing (dsp) techniques raw audio signals in order valuable representations fed machine learning algorithms.
my code base entirely written in matlab , works on finite (bounded) signals. planning migrate solution can handle both finite , infinite (streams) audio signals, preferably in python (mainly third party library availability in both machine learning , audio signal processing).
after research, found apache beam suited in case, but, seems functionalities not available in python sdk, windowing concept super important in case, both bounded , unbounded signals (typically, code process frames/windows of 32 milliseconds).
so, seeking advice on:
- the pertinence of apache beam (python sdk) audio signal processing;
- how go limitation i've mentioned;
- is there other alternatives in case;
first, speaking, avoid doing heavy dsp using python: inevitably result in slow performance compared c/c++.
now don't know apache beam not seem adapted audio signal processing @ all, rather processing of large amounts of text data. actually, not find mention of word "audio" on website…
so, go here?
at end of day, program written in c/c++. use, instance:
- matlab coder, allows convert matlab code in c/c++. not sure performance , how close final result.
- portaudio, relatively low-level audio library , surely allow make want.
- other libraries
you can try mix matlab coder , portaudio: convert specific algorithms have in c/c++ using matlab coder , integrate them skeleton portaudio gives you.
the basic principles of portaudio are:
- it platform-independent , open-source
- you define callback function, function called whenever have process audio buffer. if process file, split in small chunks used audio buffers. if work real-time stream, each buffer receive "the outside world" sent callback function.
wiki
Comments
Post a Comment