Анализ аудиосигналов традиционно опирается на спектральные и временные характеристики: spectral centroid, spectral flux, crest factor, zero-crossing rate и другие [1, 2]. Эти метрики хорошо изучены, но обладают общей проблемой: они зависят от абсолютной громкости сигнала и требуют нормировки.
Топологический анализ данных (TDA) предложил новые инварианты для анализа сигналов: числа Бетти, персистентную гомологию, эйлерову характеристику [3, 4]. Однако эти методы требуют бинаризации спектрограммы и чувствительны к выбору порога.
В данной работе предлагается компромиссный подход: гидродинамическая аналогия, в которой нормированная матрица спектрограммы математически интерпретируется как дискретное двумерное скалярное поле, эволюция которого анализируется с помощью разностных операторов, аналогичных гидродинамическим инвариантам. Это позволяет определить число Рейнольдса спектрограммы — величину, которая:
Пусть $s(t)$ — аудиосигнал, $t \in [0, T]$, дискретизованный с частотой $f_s$. Спектрограмма $S(t, f)$ определяется как модуль кратковременного преобразования Фурье:
где $t_i$ — временные кадры ($i = 0, \ldots, N_t-1$), $f_j$ — частотные бины ($j = 0, \ldots, N_f-1$). Размер спектрограммы: $N_t \times N_f$.
Для вычисления разностных операторов спектрограмма проецируется на безразмерную ортонормированную дискретную плоскость, в которой шаги сетки по обеим осям условно принимаются равными единице ($\Delta i = 1, \Delta j = 1$). Это позволяет корректно определить оператор Лапласа на сетке, элементы которой имеют разную физическую природу (время и частота), не смешивая секунды с герцами.
Первая производная по времени (центральная разность по дискретному индексу $i$):
Средняя абсолютная инерция по всей спектрограмме:
Дискретный лапласиан (5-точечный шаблон на безразмерной сетке):
Средняя абсолютная вязкость:
где $\varepsilon = 10^{-10}$ введена для регуляризации.
Для проверки предсказаний использовались три типа сигналов (все моно, 44100 Гц, 60 сек):
| Сигнал | $Re(S)$ | $H$ (Hurst) | Классификация |
|---|---|---|---|
| Ламинарный (тон) | 2,3616 | 0,0318 | MORE_LAMINAR |
| Турбулентный (шум) | 7,5812 | 0,5731 | MORE_TURBULENT |
| Отношение шум/тон | 3,21× | 18,0× | — |
Контрольные тесты:
| Тест | $Re_1$ | $Re_2$ | $\Delta Re$ | Вердикт |
|---|---|---|---|---|
| Тон vs Тон | 2,3616 | 2,3616 | 0,0000 | SIMILAR |
| Шум vs Шум | 7,5812 | 7,5812 | 0,0000 | SIMILAR |
Отношение $Re(S_{noise}) / Re(S_{tone}) \approx 3,2$ стабильно воспроизводится. Для сравнения, spectral flux даёт отношение ~2500× для тех же сигналов, но не является масштабно-инвариантным.
Показатель Херста $H$ для чистого тона оказался близок к 0 (RANDOM), что объясняется концентрацией энергии в одном частотном бине: усреднённая по частотам амплитуда ведёт себя как шумовой процесс. Для белого шума $H \approx 0,57$ (TRENDING), что согласуется с предсказаниями R/S-анализа для гауссова процесса с конечной дисперсией.
| Метрика | Масштабная инвариантность | Различает тон/шум | Вычислительная сложность |
|---|---|---|---|
| Spectral flux | Нет | Да (2500×) | $O(N_t N_f)$ |
| Spectral centroid | Нет | Слабо | $O(N_t N_f)$ |
| Crest factor | Да | Слабо | $O(N)$ |
| Re(S) | Да | Да (3,2×) | $O(N_t N_f)$ |
| Betti-0 (TDA) | Нет (зависит от порога) | Да | $O(N_t N_f \log N_f)$ |
Предложен новый спектральный инвариант $Re(S)$ — число Рейнольдса спектрограммы — основанный на гидродинамической аналогии. Доказана его масштабная и временная инвариантность. Экспериментально подтверждена способность различать тональные и шумовые сигналы.
Метрика реализована в открытом коде на C# (класс TurbulenceAnalyzer) и протестирована на синтетических сигналах.
[1] Peeters, G. "A large set of audio features for sound description." CUIDADO Project, 2004.
[2] Tzanetakis, G., Cook, P. "Musical genre classification of audio signals." IEEE Trans. Speech Audio Process., 2002.
[3] Edelsbrunner, H., Harer, J. "Persistent homology — a survey." Contemporary Mathematics, 2008.
[4] Ghrist, R. "Barcodes: The persistent topology of data." Bull. Amer. Math. Soc., 2008.
Тест 1: Ламинарный сигнал vs Турбулентный сигнал
| Параметр | Ламинарный | Турбулентный | Разность | Вердикт |
|---|---|---|---|---|
| $Re(S)$ | 2,3616 | 7,5812 | -5,2196 | MORE_LAMINAR |
| $H$ (Hurst) | 0,0318 | 0,5731 | -0,5412 | MODIFIED |
Тест 2: Ламинарный сигнал vs Ламинарный сигнал (контроль)
| Параметр | Сигнал 1 | Сигнал 2 | Разность | Вердикт |
|---|---|---|---|---|
| $Re(S)$ | 2,3616 | 2,3616 | 0,0000 | SIMILAR |
| $H$ (Hurst) | 0,0318 | 0,0318 | 0,0000 | IDENTICAL |
Тест 3: Турбулентный сигнал vs Турбулентный сигнал (контроль)
| Параметр | Сигнал 1 | Сигнал 2 | Разность | Вердикт |
|---|---|---|---|---|
| $Re(S)$ | 7,5812 | 7,5812 | 0,0000 | SIMILAR |
| $H$ (Hurst) | 0,5731 | 0,5731 | 0,0000 | IDENTICAL |