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

Popular posts from this blog

Asterisk AGI Python Script to Dialplan does not work -

python - Read npy file directly from S3 StreamingBody -

kotlin - Out-projected type in generic interface prohibits the use of metod with generic parameter -