Ворклог по задаче "Исследовать временную причинность VoiceControlState → DSP → акустические признаки"

14 сент. 2026 г., 21:55:44

Промежуточные выводы по временной причинности и наблюдаемости параметров

Проведены одиночные эксперименты по 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 НЕ означает прямую восстанавливаемость параметра.

Нужно различать:

  1. Sensitivity — меняется ли наблюдаемый признак, когда мы изменяем control.
  2. 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-сценариев, а как лаборатория ручного поиска звучаний и причинных связей между временными траекториями параметров и результатом.

14.09.2026

Построить экспериментальную карту того, как изменения управляющих параметров во времени проявляются в PCM и акустических признаках с учётом лагов и памяти DSP.