Worklog for task "Investigate the inverse decoder: audio → VoiceScenario"

14 сент. 2026 г., 18:48:58

Progress on Visualization and Inverse Decoding

The semantics of VoiceScenario have been re-verified against the actual implementation of synthesizeScenario.

What was confirmed

  • animate.to is NOT reset after duration ends. Upon completion of the automation, state[param] = to, the automation itself is removed, but the new value remains active until the next command.
  • set also changes the state permanently until the parameter is changed again.
  • A new animate starts from the actual current value of the parameter at the moment of the command.
  • For an array of scenarios, initial is used only for the first scenario; subsequent ones continue the current state without a reset.

Identified Visualizer Issue

The old ScenarioVisualizer only displayed active sections of animate, which made the original scenario look visually "jagged". This did not correspond to the actual state of the synthesizer.

The visualizer has been redesigned to display the full VoiceControlState(t): values run continuously from the beginning to the end of the scenario, including holding the last to after duration ends, set, interruption of old automations, and the continuation of the state between compound scenarios.

Architectural Conclusion

The scenario execution logic (prepareScenario, evaluateBezier, updateAutomations, executeCommand) must not be duplicated between the synthesizer and the visualizer. A separate task has been created to extract a common runtime module so that the DSP and the visualizer use the same state machine.

Conclusion on the Current Decoder

Even after fixing the visualization, it is clear that the current log and scenario are at different representation levels. The scenario contains control parameters, while the log contains observable acoustic features. A direct correspondence such as RMS -> sourceLevel, dominantFrequency -> f0Hz, etc., is generally incorrect.

It was also confirmed that the original scenario has significantly more control parameters than the current log of acoustic metrics, so the reversibility of Scenario -> Sound -> Log -> Scenario is physically underdetermined in the current architecture.

14.09.2026

Verify whether generator scenarios can be automatically reconstructed from recorded audio, first using our own synthetic examples with a known ground truth, and then on human speech.