Een geluidsbestand binnen in een ander vinden

Ik heb twee geluidsbestanden en één is gewoon een fragment uit het grotere bestand en zou voor dat gedeelte bijna identiek moeten zijn

Hoe kan ik de twee geluidsbestanden vergelijken om erachter te komen hoe diep in de grotere de kleinere begint te spelen?

Dit zou bij voorkeur een linux terminal commando zijn, voor gebruik met bash

3
Zijn de bestanden gecomprimeerd? Is het geluid op een andere manier veranderd? Hoe werd het kleinere bestand gemaakt?
toegevoegd de auteur Piotr Praszmo, de bron
Niet zeker hoe het werd gemaakt, maar het is ongewijzigd
toegevoegd de auteur user1006042, de bron

1 antwoord

Als het. WAV-bestanden zijn en de ene is rechtstreeks van de andere gemaakt, dan moet er een sectie zijn die byte is voor byte identiek, en een goede diff-tool kan deze voor u vinden. Als het mp3's zijn die met dezelfde compressor uit dezelfde bron zijn gemaakt, kunt u ze decomprimeren en hetzelfde geldt.

Al het andere en het wordt echt lastig. Je zou kunnen proberen beide te converteren naar hetzelfde onbewerkte WAV-formaat, en dan wat fuzzy matching te doen (zoals een gedeelte van de ene tegen de andere schuiven en de plaats vinden met de minste RSS van de verschillen).

Of je kunt proberen het in het frequentiedomein te doen door de bestanden in kleine stukjes te splitsen, FFT's erop te doen en te zoeken naar een reeks overeenkomende primaire frequenties.

Ik ben er niet echt van overtuigd dat het ook niet goed zou werken. Ik zou de methode van het tijddomein eerst proberen.

1
toegevoegd