Ворклог по задаче "Исследовать временную причинность VoiceControlState → DSP → акустические признаки"
Промежуточные выводы по временной причинности и наблюдаемости параметров
Проведены одиночные эксперименты по VoiceControlState -> DSP -> acoustic features для всех основных управляющих параметров.
Что показали эксперименты
При одиночном sweep, когда изменяется только один control при фиксированных остальных, многие параметры дают сильную корреляцию с наблюдаемыми акустическими признаками.
Наиболее выраженные результаты:
sourceLevelсильно связан сpeak,rms, величиной спектрального пика;periodicityтакже сильно отражается вpeak/rms, но эти признаки совпадают с амплитудными controls;f0Hzхорошо проявляется через pitch-related признаки, ZCR и распределение высокочастотной энергии;resonance1Freqхорошо проявляется через положение первого спектрального пика;resonance2Freqпроявляется через rolloff/formant-related признаки;resonance*Gainхорошо наблюдаются через амплитудные признаки;outputLevelпрактически идеально отражается вpeak/rms.
При этом noiseLevel, glottal-параметры, bandwidth-параметры и resonance3Freq текущим набором признаков наблюдаются значительно хуже.
Важная коррекция интерпретации
Высокая корреляция в одиночном sweep НЕ означает прямую восстанавливаемость параметра.
Нужно различать:
- Sensitivity — меняется ли наблюдаемый признак, когда мы изменяем control.
- Identifiability — можно ли по наблюдаемому звуку понять, что изменился именно этот control, а не другой.
Например:
sourceLevel,outputLevelиresonanceGainвсе сильно меняютrms/peak;periodicityв текущем эксперименте тоже сильно влияет на те же амплитудные признаки.
Следовательно, эти controls чувствительны и наблюдаемы, но пока не доказано, что они различимы между собой в реальном сценарии, где несколько параметров изменяются одновременно.
Текущее разбиение controls по характеру наблюдаемости
1. Частотные координаты — наиболее перспективны для прямого восстановления:
f0Hz;resonance1Freq;resonance2Freq;- потенциально
resonance3Freqпосле улучшения спектрального анализа.
Они меняют не только общую энергию, но и структуру спектра.
2. Амплитудные/масштабирующие controls — наблюдаемы, но смешиваются:
sourceLevel;outputLevel;resonance1Gain;resonance2Gain;resonance3Gain;- частично
periodicity.
Для них требуется совместное восстановление или дополнительные признаки, потому что похожий эффект может достигаться разными комбинациями параметров.
3. Формообразующие controls — текущий лог видит плохо:
glottalOpenPhase;glottalReturnPhase;resonance*Bandwidth;noiseLevel;- частично
resonance3Freq.
Для них, вероятно, нужны признаки формы периода, spectral envelope, harmonic/noise structure, LPC или иные более специализированные измерения.
Временные выводы
Во всех одиночных экспериментах реакция обнаруживалась практически сразу (~0.2 ms), а окно 20 ms оказалось достаточным для текущего набора признаков. Однако одинаковый лаг для всех параметров, вероятно, отражает прежде всего разрешение методики измерения и временную привязку окон, а не реальную физическую константу DSP.
Отдельно обнаружена длительная память резонаторов (~250 ms в текущем эксперименте). Эту величину нельзя пока считать универсальной: время затухания должно зависеть от frequency/bandwidth/Q и требует отдельного sweep по параметрам резонатора.
Что стало ясно про саму задачу decoder
Сценарий и акустический лог находятся на разных уровнях представления:
VoiceControlState -> внутреннее DSP-состояние -> waveform -> spectrum/features.
Управляющие параметры могут почти не меняться во времени, но порождать сложный высокочастотный waveform. Поэтому control-график не должен быть похож на график акустических признаков.
Для восстановления параметров нужно исследовать не соответствие одного control одному feature, а отображение:
vector(features over a time window) -> vector(controls).
Следующий принципиальный эксперимент должен проверять одновременные изменения нескольких controls. Именно он покажет реальную идентифицируемость, а не только чувствительность.
Практический вывод
Одиночные sweeps уже ответили на вопрос: «реагирует ли звук на конкретный control и какими признаками это видно?».
Следующий вопрос: «можем ли мы отличить изменение одного control от другого, когда они действуют одновременно?».
Также исследования показывают, что для дальнейшей работы нужен удобный интерактивный временной редактор: не для редактирования уже найденных JSON-сценариев, а как лаборатория ручного поиска звучаний и причинных связей между временными траекториями параметров и результатом.
Построить экспериментальную карту того, как изменения управляющих параметров во времени проявляются в PCM и акустических признаках с учётом лагов и памяти DSP.