Filter with `push` flow_control
Hello, I have a filter that transcribes audio as it receives it by sending it to a transcription service(via a websocket). I also have a VAD filter(applied before the audio data arrives to the Membrane pipeline).
I'm seeing that the audio data only gets sent once the buffer is full(when there is enough voice audio).
I was trying to change the
flow_control
to :push
for the transcription filter for this. (Is that the right solution?)
I also ran into some errors because while my source has its output pad flow_control set to push
there are some intermediate filters that have it as :auto
:
Here is my pipeline and filter: https://gist.github.com/samrat/17b7423a1dbb1fa939594f263e6e4d6b
What would be the best way for the audio buffers to get sent for transcription as soon as it is received?3 Replies
Hi,
LinkError
that you provided is caused by linking :auto
output with :push
input, so having a source with push
output cannot be reason of it. I see in your gist, that you commented out # flow_control: :push
in filter input pad, so is there a chance, that this error comes from the moment, when this line wasn't commented?Yes, the error is from when the line wasn't commented.
I was trying to fix the problem of the audio frames getting buffered by changing the flow_control on the input pad, but ran into the LinkError.
Ok, but changing
flow_control
from :push
to :auto
doesn't cause buffering any audio frames
I'm seeing that the audio data only gets sent once the buffer is full(when there is enough voice audio).Could you describe the problem in a different way, please? I don't know what you mean