Mam zestaw piosenek, dla których wyodrębniłem spektrogram wielkości za pomocą okna Hamminga z 50% nakładką. Po wyodrębnieniu spektrogramu dokonałem pewnej redukcji wymiarowości za pomocą analizy głównych składników (PCA). Po zmniejszeniu go do niższej wymiarowości zrekonstruowałem spektrogramy z niższych wymiarów. Zatem teraz wystąpiłby błąd między oryginalnym spektrogramem a zrekonstruowanym spektrogramem. Chciałbym przekonwertować ten spektrogram z powrotem na sygnał audio i odtworzyć go, aby móc dowiedzieć się, jak po odtworzeniu z niższych wymiarów, jak brzmi dźwięk.
Czy jest jakaś funkcja dostępna w powiedzmy Matlab. przekonwertować spektrogram wielkości na sygnał audio?
audio
spectrogram
ifft
użytkownik76170
źródło
źródło
Odpowiedzi:
Jeśli spektrogram został obliczony jako wielkość krótkotrwałych transformacji czterokrotnych z nakładających się okien, wówczas spektrogram zawiera domyślnie pewne informacje dotyczące fazy.
Następujące iteracje wykonują zadanie:
źródło
Trudno mi było zrozumieć odpowiedź @edouard, która robi właściwą rzecz. Porównaj z /signals//a/3410/9031 , którego użyłem do realizacji mojej rekonstrukcji.
źródło
Możesz użyć zrekonstruowanego spektrogramu w porównaniu do oryginalnego spektrogramu, aby zaprojektować filtr, którego odpowiedź wielkościowa przekształca jeden spektrogram w drugi. Następnie możesz zastosować ten filtr do oryginalnych danych w dziedzinie czasu lub do oryginalnych FFT w celu nakładania się dodawania / zapisywania szybkiego filtrowania splotowego.
źródło
Użyj algorytmu Griffin-Lim, aby odwrócić sygnał audio ze spektrogramu, jeśli nie martwisz się złożonością obliczeń.
źródło