Synchronize mics audio

0

0

I use ffmpeg to record different microphones in a single wav file:

ffmpeg   -f alsa -i hw:4,0 -f alsa -i  hw:3,0 -f alsa -i  hw:2,0 -filter_complex "amerge=inputs=3" outnull2.wav

The problem is that the last microphone has always a shorter delay than the two others.

How can I synchronize the microphone ? Is this due to the compressing operation?

Edit: Here is the new command with offsets on two canals:

ffmpeg   -f alsa -i hw:4,0 -f alsa -i  hw:3,0 -itsoffset 0.01 -f alsa -i  hw:2,0 -itsoffset 0.02 -filter_complex "amerge=inputs=3" outnull2.wav

The problem is the offsets don't solve the problem because on each record of the 3 inputs the delay changes.

I don't understand why the delay is changing on each record. How can I set a top to synchronize all the inputs.

user3262532

Posted 2017-06-05T19:09:48.073

Reputation: 1

Can you try setting -itsoffset -0.5 before that -i corresponding to the delayed input? This offsets the audio by 0.5 seconds, for example. Or use positive values. – slhck – 2017-06-06T11:16:43.683

Unfortunately the delay changes it Isabelle not fixed. – user3262532 – 2017-06-06T12:33:02.790

Sorry my phone changed my word. I said it is not fixed. – user3262532 – 2017-06-06T15:17:23.840

Can you please update your question with the latest command you've been using (including the itsoffset parameter) and its full command output? – slhck – 2017-06-06T15:56:55.607

Are these all connected to one hardware device (one card/usb interface with 3 inputs), or are you aggregating from 3 hardware devices (3 cards/usb interfaces, 1 input each)? – Yorik – 2017-06-06T18:45:58.510

The 3 microphones are 3 usb microphones. So there are connected to 3 usb inputs – user3262532 – 2017-06-06T18:52:26.940

The delay could go up to 30ms between the microphones – user3262532 – 2017-06-06T19:14:40.203

I just try on Windows. The delay between my two microphones is even more important, up to 70ms. – user3262532 – 2017-06-07T06:39:40.797

No answers