Task: Investigate temporal causality of VoiceControlState → DSP → acoustic features
Investigate temporal causality of VoiceControlState → DSP → acoustic features
Build an experimental map of how control parameter changes over time manifest in PCM and acoustic features, taking into account DSP lags and memory.
Objective
Investigate not the instantaneous correspondence of the form parameter[t] -> sample[t], but the temporal causality in the chain:
VoiceControlState(t) -> internal DSP state -> PCM -> acoustic features in a time window.
We need to understand which control parameter actually affects what, after how long this influence appears, how long it persists, and what observable features allow it to be recovered.
This is necessary for correct inverse decoding of Sound -> VoiceScenario.
Context and Problem
The current VoiceScenario specifies control parameters, but the output PCM is generated by a dynamic system with internal state:
voicePhase;resonator1.low,resonator1.band;resonator2.low,resonator2.band;resonator3.low,resonator3.band;- PRNG state;
- active automation.
Therefore, even constant control parameters produce a complex, high-frequency waveform.
Examples:
- constant
f0Hzdoes not mean a constant waveform — it sets the rotation speed ofvoicePhase; - constant
noiseLevelcontrols the amplitude of a random source that changes every sample; - constant
resonance*controls stateful filters whose internal state changes every sample; - observable features (
RMS,spectralFlatness,dominantFrequency, etc.) depend simultaneously on several control parameters and DSP history.
Consequently, direct heuristics like:
RMS -> sourceLevel
dominantFrequency -> f0Hz
are not a valid inverse transformation model.
Main Hypothesis
For speech and this synthesizer, we need to analyze not a single sample and not a single log frame, but a time window.
Instead of:
parameter[t] -> sample[t]
investigate:
parameter trajectory[t0:t1] -> audio response[t0:t1+Δ]
where Δ is the possible reaction lag and/or decay time of the internal DSP state.
Working window scales to test:
- 5 ms;
- 10 ms;
- 20 ms;
- 30 ms;
- 50 ms;
- 100 ms if necessary.
For each parameter, it is necessary to determine at which time scale its influence is observed most stably.
What to Investigate for Each VoiceControlState Parameter
At a minimum:
sourceLevelperiodicitynoiseLevelf0HzglottalOpenPhaseglottalReturnPhaseresonance1Freqresonance1Bandwidthresonance1Gainresonance2Freqresonance2Bandwidthresonance2Gainresonance3Freqresonance3Bandwidthresonance3GainoutputLevel
For each parameter, determine:
- Sensitivity — how strongly its change affects PCM and features.
- Lag — how long after a control change this influence becomes observable.
- Decay time — how long the effect persists after the parameter changes.
- Locality — whether the parameter affects mainly a specific spectrum range / temporal characteristic or globally.
- Uniqueness — whether the observed effect can distinguish a change in this parameter from a change in another.
- Interactions — which pairs of parameters produce a non-additive effect.
Experiment 1: Single Parameter Sweep
For each parameter:
- Fix all other parameters in a single baseline state.
- Change only the parameter under study across a grid of values.
- Synthesize PCM of equal duration for each value.
- Simultaneously collect:
- full
VoiceControlState(t); - internal DSP trace;
- PCM;
- acoustic features by windows.
- full
- Compare the result with the baseline.
Example for f0Hz:
- 80 Hz
- 100 Hz
- 120 Hz
- 150 Hz
- 180 Hz
- 220 Hz
- 300 Hz
Example for resonance1Freq:
- fix the source and other resonators;
- move only
resonance1Freq; - see which spectral peak actually moves and how.
Experiment 2: Step Change Over Time
Test the dynamic response of the system.
Example:
t < 100 ms: resonance1Freq = 600
t >= 100 ms: resonance1Freq = 800
Analyze windows:
- 60–80 ms
- 80–100 ms
- 100–120 ms
- 120–140 ms
- 140–160 ms
- 160–200 ms
Objective:
- determine the start time of the observed change;
- measure the lag;
- understand the shape of the transient process;
- measure the stabilization time.
Repeat for other parameters.
Experiment 3: Impulse / Short-Term Perturbation
For stateful parameters, it is especially important to measure system memory.
Scheme:
baseline -> parameter + δ for a short interval -> baseline
For example:
- 100 ms baseline;
- 10–20 ms change;
- return to baseline;
- observation for another 100–200 ms.
Measure:
- how fast the effect appears;
- whether it persists after the parameter returns;
- how long it takes for the DSP to return to its initial state.
For resonators, this should show the real memory duration of low/band states.
Experiment 4: Parameter Pairs
After single sweeps, test interactions for at least the most coupled pairs:
sourceLevel × outputLevelperiodicity × noiseLevelf0Hz × glottalOpenPhasef0Hz × glottalReturnPhaseresonanceFreq × resonanceGainresonanceFreq × resonanceBandwidthsourceLevel × resonanceGain
Objective — to understand whether parameter effects can be considered independent or if they need to be recovered jointly.
What Data to Log
Control Level
- all
VoiceControlState(t)values; - active automation;
- timestamp of each
set/animatecommand.
Internal DSP Trace
At a minimum:
voicePhase;periodicSource;noiseSource;excitation;resonator1.low/resonator1.band;resonator2.low/resonator2.band;resonator3.low/resonator3.band;- separate output of each resonator before summation;
valuebefore clamp;valueafter clamp.
Acoustic Features by Windows
At a minimum:
- RMS / energy;
- zero crossing rate;
- autocorrelation;
- pitch estimate;
- periodicity estimate;
- spectral centroid;
- spectral flatness;
- spectral peaks;
- energy by bands;
- formant-like peaks / spectral envelope;
- LPC if necessary.
Important: treat dominantFrequency only as one of the spectral features, and not as a direct f0Hz.
Time Windows and Logging Frequency
It is necessary to separately test the impact of throttling.
The current log may hide significant temporal structure. Therefore, for the study, it is desirable to have the most frequent internal trace possible, and then programmatically aggregate it into windows.
Recommended approach:
- DSP trace — as close to sample-level as possible or with controlled decimation;
- acoustic features — computed over 5/10/20/30/50 ms windows;
- window overlap: 50–75% for smooth temporal analysis;
- do not mix data collection frequency and analytic window size.
Expected Results
Build an experimental map:
VoiceControl parameter -> observable consequences
For each parameter, record:
- which features react;
- direction of reaction;
- scale of reaction;
- lag;
- memory duration;
- dependence on other parameters;
- how recoverable the parameter is from audio.
It is advisable to format this into a table like:
| Control | Observable Features | Lag | Window | Uniqueness | Comment |
|---|---|---|---|---|---|
| f0Hz | autocorrelation peak, harmonic spacing | ... | ... | high/medium/... | ... |
| resonance1Freq | spectral envelope / peak shift | ... | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |
Result Criterion
After the study, it should become clear:
- Which
VoiceControlStateparameters can be recovered directly from audio. - Which ones can only be recovered jointly with other parameters.
- Which parameters are not observable at all with the current feature set.
- What additional features need to be added to the logger.
- What temporal context the decoder needs for each parameter class.
- Whether the decoder can be built as an analytical/heuristic transformation or if an optimization/learned approach is required.
The main result is not just a new decoder, but a physically and experimentally confirmed correspondence model between the synthesizer control space and the observable sound over time.
Ворклоги
Interim Conclusions on Temporal Causality and Parameter Observability
Single experiments were conducted for VoiceControlState -> DSP -> acoustic features across all major control parameters.
What the Experiments Showed
During a single sweep, when only one control changes while the others remain fixed, many parameters show a strong correlation with the observed acoustic features.
The most pronounced results:
sourceLevelis strongly correlated withpeak,rms, and spectral peak magnitude;periodicityis also strongly reflected inpeak/rms, but these features overlap with amplitude controls;f0Hzmanifests well through pitch-related features, ZCR, and high-frequency energy distribution;resonance1Freqmanifests well through the position of the first spectral peak;resonance2Freqis reflected through rolloff/formant-related features;resonance*Gainare clearly observed through amplitude features;outputLevelis reflected almost perfectly inpeak/rms.
At the same time, noiseLevel, glottal parameters, bandwidth parameters, and resonance3Freq are observed significantly less effectively with the current feature set.
Important Interpretation Correction
High correlation in a single sweep does NOT imply direct parameter recoverability.
A distinction must be made between:
- Sensitivity — whether the observed feature changes when we modify the control.
- Identifiability — whether it can be determined from the observed sound that this specific control changed rather than another one.
For example:
sourceLevel,outputLevel, andresonanceGainall significantly alterrms/peak;periodicityin the current experiment also strongly affects the same amplitude features.
Consequently, these controls are sensitive and observable, but it has not yet been proven that they are distinguishable from one another in a real-world scenario where multiple parameters change simultaneously.
Current Categorization of Controls by Observability Nature
1. Frequency coordinates — most promising for direct reconstruction:
f0Hz;resonance1Freq;resonance2Freq;- potentially
resonance3Freqafter improving spectral analysis.
They alter not only the total energy but also the spectral structure.
2. Amplitude/scaling controls — observable, but overlapping:
sourceLevel;outputLevel;resonance1Gain;resonance2Gain;resonance3Gain;- partially
periodicity.
They require joint reconstruction or additional features because similar effects can be achieved through different combinations of parameters.
3. Shaping controls — poorly captured by the current log:
glottalOpenPhase;glottalReturnPhase;resonance*Bandwidth;noiseLevel;- partially
resonance3Freq.
These likely require period shape features, spectral envelope, harmonic/noise structure, LPC, or other more specialized measurements.
Temporal Conclusions
In all single experiments, the reaction was detected almost immediately (~0.2 ms), and a 20 ms window proved sufficient for the current feature set. However, the identical lag across all parameters likely reflects the resolution of the measurement methodology and window time-stamping rather than a true DSP physical constant.
Separately, a long resonator memory was detected (~250 ms in the current experiment). This value cannot yet be considered universal: the decay time must depend on frequency/bandwidth/Q and requires a separate sweep over the resonator parameters.
What Became Clear About the Decoder Task Itself
The scenario and the acoustic log exist at different levels of representation:
VoiceControlState -> internal DSP state -> waveform -> spectrum/features.
Control parameters may remain nearly constant over time while generating a complex high-frequency waveform. Therefore, the control graph should not necessarily resemble the acoustic feature graph.
To reconstruct parameters, one should investigate not the correspondence of a single control to a single feature, but the mapping:
vector(features over a time window) -> vector(controls).
The next crucial experiment must test simultaneous changes in multiple controls. This will reveal true identifiability, not just sensitivity.
Practical Conclusion
Single sweeps have already answered the question: "Does the sound react to a specific control, and through which features is this visible?"
The next question is: "Can we distinguish the change of one control from another when they act simultaneously?"
Furthermore, studies indicate that future work requires a convenient interactive time editor: not for editing already generated JSON scenarios, but as a laboratory for manually searching for sounds and causal relationships between parameter temporal trajectories and the outcome.