improviser

(noun)

noun

1. One who improvises.