Custom Wave Form Generation

I have an application that when the user presses a button a single Trapezoid Wave is generated. Basically I need a slow rise from 0V to 12v, hold at 12v for a set period of time, then a slow drop back to 0v.

I see lots of stuff on making regular waves (sine, square, etc) but nothing that really shows how to generate a custom wave.

Suggestions or pointing in the right direction?

Thanks

Use a Due, with a built-in DAC or hook a a DAC to a Uno.

You need to define terms like "slow" and "period of time".
For me, a slow rise time is anything more than a few tens of nanoseconds.

By slow I mean a rise of around 1 sec, stay at full voltage for around 5 sec and then drop back down over 1 sec.