AquaSynth/state/map.yaml
2026-05-26 22:20:42 +01:00

128 lines
8.6 KiB
YAML

project: AquaSynth
mission: >
C# authoring, analysis, and Faust generation layer for AquaSynth patches,
targeting the AquaSynth/Vortice engine path without dragging the Rust renderer
into runtime dependencies.
surfaces:
instructions: AGENTS.md
doctrine: docs/audio-doctrine.md
memory: state/memory.json
scratch: state/scratch.md
evidence: state/evidence.jsonl
spine: state/spine.yaml
solution: AquaSynth.sln
core_library: src/AquaSynth.Core
faust_library: src/AquaSynth.Faust
patch_library: patches
tests: tests/AquaSynth.Dsl.Tests
reference_roadmap: docs/reference-synth-roadmap.md
ipa_vocal_tract_roadmap: docs/ipa-vocal-tract-roadmap.md
utterance_parity_research: docs/utterance-parity-research.md
pink_trombone_parity: docs/pink-trombone-parity.md
pink_trombone_dsl_parity_plan: docs/pink-trombone-dsl-parity-plan.md
wet_voice_witness_fixture: tests/AquaSynth.Dsl.Tests/Fixtures/Speech/WetVoice01
faust_toolchain_boundary: docs/faust-toolchain-boundary.md
dx7_public_domain_fixtures: tests/AquaSynth.Dsl.Tests/Fixtures/Dx7/PublicDomain
zyn_reference_source: external/zynaddsubfx
zyn_upstream_instrument_bank: external/zynaddsubfx/instruments
pink_trombone_reference_source: external/pink-trombone-mod
zyn_reference_build_script: tools/zyn-reference/build-zyn-reference.ps1
zyn_pad_reference_renderer: tools/zyn-reference/ZynPadReference.cpp
zyn_voice_reference_renderer: tools/zyn-reference/ZynVoiceReference.cpp
vocal_tract_playground: tools/vocal-tract-playground/index.html
tract_graph_renderer: tools/TractGraphRenderer/TractGraphRenderer.csproj
zyn_reference_build_patches: tools/zyn-reference/patches
zyn_project_fixtures: tests/AquaSynth.Dsl.Tests/Fixtures/ZynAddSubFX/ProjectAuthored
core_package: AquaSynth.Core 0.1.0-alpha.3
faust_package: AquaSynth.Faust 0.1.0-alpha.3
modules:
model: src/AquaSynth.Core/Model.cs
parser: src/AquaSynth.Core/PatchScript.cs
vocal_tract_model: src/AquaSynth.Core/VocalTractModel.cs
pink_trombone_reference: src/AquaSynth.Core/PinkTromboneReference.cs
pink_trombone_reference_renderer: src/AquaSynth.Core/PinkTromboneReferenceRenderer.cs
packed_neural_network: src/AquaSynth.Core/PackedNeuralNetwork.cs
utterance_embedding_learning: src/AquaSynth.Core/UtteranceEmbeddingLearning.cs
speech_backpropagation_pipeline: src/AquaSynth.Core/SpeechBackpropagationPipeline.cs
speech_distributed_training: src/AquaSynth.Core/SpeechDistributedTraining.cs
vocal_tract_learning: src/AquaSynth.Core/VocalTractLearning.cs
tract_voice_model: src/AquaSynth.Core/Model.cs
tract_shape_model: src/AquaSynth.Core/Model.cs
tract_waveguide_lowering: src/AquaSynth.Core/FaustExport.cs
pink_trombone_parity_fixtures: src/AquaSynth.Core/PinkTromboneParityFixtures.cs
pink_trombone_utterance_fixtures: src/AquaSynth.Core/PinkTromboneUtteranceFixtures.cs
pink_trombone_logmel_parity_tests: tests/AquaSynth.Dsl.Tests/PinkTromboneLogMelParityTests.cs
pink_trombone_utterance_reference_tests: tests/AquaSynth.Dsl.Tests/PinkTromboneUtteranceReferenceTests.cs
faust_emitter: src/AquaSynth.Core/FaustExport.cs
faust_compiler: src/AquaSynth.Faust/FaustCompiler.cs
native_faust_runtime: src/AquaSynth.Faust/NativeFaustRuntime.cs
faust_rendered_speech_loss: src/AquaSynth.Faust/FaustRenderedSpeechLossSurface.cs
cultcache_sound_claim_document: patches/aquasynth-patch-cultcache.cc
cultcache_sound_claim_types: src/AquaSynth.Core/CultCachePatchDocument.cs
dx7_reference_render_tests: tests/AquaSynth.Dsl.Tests/Dx7ReferenceParityTests.cs
espeak_ng_reference_tests: tests/AquaSynth.Dsl.Tests/EspeakNgReferenceTests.cs
espeak_ng_gradient_descent_tests: tests/AquaSynth.Dsl.Tests/EspeakNgGradientDescentTests.cs
zyn_reference_reader: src/AquaSynth.Core/ZynInstrument.cs
zyn_coverage_survey: src/AquaSynth.Core/ZynInstrument.cs
ipa_vocal_tract_roadmap: docs/ipa-vocal-tract-roadmap.md
utterance_parity_research: docs/utterance-parity-research.md
package_boundary_tests: tests/AquaSynth.Dsl.Tests/PackageBoundaryTests.cs
vocal_tract_model_tests: tests/AquaSynth.Dsl.Tests/VocalTractModelTests.cs
utterance_embedding_learning_tests: tests/AquaSynth.Dsl.Tests/UtteranceEmbeddingLearningTests.cs
speech_backpropagation_pipeline_tests: tests/AquaSynth.Dsl.Tests/SpeechBackpropagationPipelineTests.cs
speech_distributed_training_tests: tests/AquaSynth.Dsl.Tests/SpeechDistributedTrainingTests.cs
vocal_tract_learning_tests: tests/AquaSynth.Dsl.Tests/VocalTractLearningTests.cs
vocal_tract_playground: tools/vocal-tract-playground
tract_graph_renderer: tools/TractGraphRenderer
sfxr: src/AquaSynth.Core/SfxrParams.cs
analysis: src/AquaSynth.Core/AudioAnalysis.cs
mel_cepstral_warp_effect: src/AquaSynth.Core/MelCepstralWarpEffect.cs
scoring: src/AquaSynth.Core/ScriptMetrics.cs
presets: src/AquaSynth.Core/Presets.cs
built_in_scripts: src/AquaSynth.Core/BuiltInScripts.cs
boundaries:
leave_in_rust:
- sample renderer
- PatchPlayer runtime
- realtime AudioUnit bridge
- experimental Rust DSL compiler branch
own_in_csharp:
- patch graph contracts
- patch script surface
- SFXR parameter mapping and atoms
- analysis and comparison tools
- script scoring
- Faust source generation in AquaSynth.Core
- target-code generation, compile-product contracts, dynamic patch compilation policy, cache identity, generated artifact manifests, and Faust toolchain selection in AquaSynth.Faust
- live patch compilation, native Faust factory lifetime, and offline sample-buffer render proof in AquaSynth.Faust
- IPA-to-phonetic-feature planning, articulatory gesture planning, and human/alien vocal-tract roadmap design
- phonetic intent, articulatory plan, morphology capability, and constraint-report contracts for vocal tract synthesis
- packed-buffer native backprop/Adam as the shared AquaSynth gradient-descent primitive
- learned utterance embedding encoder from speech text embeddings, prosody/emphasis hints, and Ghostlight/Epiphany-shaped character state vectors
- learned phonetic-plus-utterance-embedding synth driver with packed-buffer native backprop/Adam for tract, AM/FM, LFO, filter, and mel spectral-envelope controls
- chained utterance-embedding-to-synth-driver backpropagation that returns synth input gradients and updates the utterance encoder from downstream speech loss
- external-gradient speech backpropagation entry point for rendered loss surfaces
- distributed speech render request/result/checkpoint CultCache contracts for multi-machine Faust rendering and local backpropagation
- CultMesh speech render/scoring worker orchestration with payload manifests, peer/lease admission receipts, worker assignment, result collection, and central checkpoint application; workers return gradients and receipts, while one authority trainer owns optimizer updates and checkpoint commits
- optional eSpeak NG generated ground-truth fixture for supervised utterance-embedding and synth-driver gradient descent
- Faust-rendered speech loss surface in AquaSynth.Faust, using rendered audio analysis and finite-difference controller-output gradients
- compiled native Faust speech-loss surface with exported /speech/output/N controls for batch candidate rendering without recompiling DSP
- utterance parity curriculum research and docs for structured metadata -> utterance embedding -> synth automation -> rendered speech loss
- typed CultCache sound-claim document distributed as a real .cc MessagePack-backed CultCache store via CultLib, bundling the patch database with fixture-backed patch claim cards and speech-lane claim cards
dev_only:
- public-domain DX7 SysEx fixtures
- pinned GPL ZynAddSubFX source for parity tests
- project-authored ZynAddSubFX .xiz fixtures
- dexed-py reference renderer
- structured .aqua patch library
checks:
default: dotnet test
core_package: dotnet pack src/AquaSynth.Core/AquaSynth.Core.csproj -c Release
faust_package: dotnet pack src/AquaSynth.Faust/AquaSynth.Faust.csproj -c Release
faust_validation: automatic in tests when Faust is installed
dexed_py_reference: optional in tests when AQUASYNTH_DX7_PYTHON or a Python with dexed-py is available
zyn_reference_source: pinned submodule used only for parity tests; never package content
pink_trombone_reference_source: pinned MIT submodule used only for parity renderer source audits and port verification; never package content
espeak_ng_reference: optional command-line development reference, found through ESPEAK_NG or PATH; never package content
zyn_upstream_instrument_bank: nested GPL submodule used only for test/development pressure surveys and oracle renders; never package content