How to split recorded audio into incoming and outgoing recording file?

I used mix monitor to record calls, and it store the whole call as a single file (merge incoming and outgoing call) but Now I need to split incoming call from merged recorded call file so is there any way to do this?

The audio is merged into a single stream, meaning you can’t easily split it out without doing probably some kind of audio analysis/machine learning approach to differentiate each speaker and split them out but even then there could be overlap.

For new calls MixMonitor provides functionality to store separate files[1].

[1] Asterisk 18 Application_MixMonitor - Asterisk Project - Asterisk Project Wiki

use Monitor() instead of MixMonitor() all the rest stays the same

actually, I have some recorded files which save with help of mixmonitor() but what can I do now after saving a file on a disk?

I believe I’ve answered that in my original response?

Yeah I see you said we can do that with machine learning, so there are no way do it manually right ?

The audio is not stored separately in the file. It is one audio recording. Maybe you could try to have someone sit down and extract from the file… but I don’t know.

use Monitor() instead of MixMonitor() all the rest stays the same

+1 This is why Monitor() needs to stay. They keep putting it on death row, but it really needs to be pardoned forever. :smiley:

What is missing from MixMonitor in that regard? There are options to have separate recording files for each direction.

What is missing from MixMonitor in that regard? There are options to have separate recording files for each direction.

Oh! Ha. I’m sorry. You’re right, there are r(file) and t(file) options. Maybe that’s the right solution for @Yash3120. Simply record separate files from the beginning, instead of trying to go down the machine learning rabbit hole to separate them out after the fact.