## Linear and exponential

This patch demonstrates the sound of linear and exponential changes in pitch and amplitude.

This patch demonstrates the sound of linear and exponential changes in pitch and amplitude.

This demonstrates a linear interpolation formula for achieving a weighted balance of two signals.

As explained in MSP Tutorial 2, in order to avoid creating clicks in audio when you change the amplitude, you need to interpolate smoothly from one gain value to another. Example A in this patch shows how to use the **line~** object to do that. The gain value from the **number box** is combined with a transition time in the **pack** object (10 ms in this case) and the two numbers are sent as a list to **line~**.

For linear interpolation of a MSP signal, the **line~** object sends out a signal that progress to some new value over a certain amount of time interpolating sample-by-sample along the way. The input to **line~** is a pair of numbers representing a destination value (where it should eventually arrive) and a transition time (how long it should take to get there). It can receive multiple pairs of numbers in a single message, and it will use the pairs in order, starting each new pair when the previous transition has finished.

The **line** object sends out a periodic series of numbers that progress to some new value over a certain amount of time. The input to **line** is a destination value (where it should eventually arrive), a transition time (how long it should take to get there), and a time interval between outputs (how often it should send out intermediate values along the way). The left part of this patch shows the use of **line** to generate integers that are used as pitches.