Similar to the widely used ExpressionWaveGenerator I wanted to find a simpler way to create and control procedural curves. This is exactly what Wave Machine tries to achieve.
It contains nodes to generate, modify, retime and merge curves - all without editing any expressions.