Eine Möglichkeit, um festzustellen, ob eine Stereodatei auf beiden Kanälen dieselbe Mono-Spur hat, besteht darin, einen der Kanäle (z. B. den linken) in Phase zu invertieren und dann mit dem anderen Kanal zu addieren. (Deshalb suchen wir nach der Phasenkohärenz )
Ich benutze nicht sehr oft Kühnheit, daher weiß ich nicht, ob es in der Lage ist, so etwas zu tun, aber hier ist eine kleine FFmpeg-Syntax, die macht, was Sie wollen:
ffmpeg -i 'is_this_stereo.wav' -filter_complex "stereotools=phasel=1" -ac 1 'output.wav'
(Funktioniert auch mit anderen Audio-Codecs - Durch die Ausgabe eines verlustfreien Formats wie WAV wird sichergestellt, dass durch die Kodierung nichts gelöscht wird.)
Was dieses FFmpeg-Skript macht: Es kehrt die Phase des linken Kanals um und summiert dann beide Kanäle in einem neuen Kanal.
Anstelle von -ac 1
können Sie auch die filter_complex
-Kette in ändern stereotools=phasel=1[tmp];[tmp]pan=1c:c0=0.5*c0+0.5*c1
. Ich denke jedoch nicht, dass dies notwendig ist.
Wenn Sie sich dann die neu erstellte Datei ansehen und in der Wellenform eine flache Linie sehen, stimmt der linke Kanal der Originaldatei genau mit dem rechten überein. Wenn es nur sehr kleine Peaks gibt (etwa um -60 dB oder weniger), wird der Unterschied wahrscheinlich nur durch die Kodierung von Artefakten verursacht. Hören Sie sich das nur an, um sicher zu sein .
Codequellen: