Controlling the rate of a speech sample

Jul 17, 2009 at 1:27pm

Controlling the rate of a speech sample

Dear all,

I’m trying to construct a patch in MacMSP which alters the rate of a recorded speech sentence. What I want to do is to alter the rate of certain elements in the speech signal. For instance, I want to slow down / speed up certain words within a phrase or sentence. In the spoken phrase, “The window is wide open”, for example, I want to slow the rate of the speech at the moment “wide” is spoken to give the word greater emphasis. Can anyone suggest any methods of how to do this?

I have been experimenting with sending messages to line~ objects, controlling the tempo by telling the line~ object to change the speed of the sample at certain points, however the changes are to obvious and often change the pitch of the speech (which I want to avoid).

Any advice would be fantastic.

Mr B.

#44765
Jul 17, 2009 at 1:33pm

Check out this awesome granular time-stretching patch and see if it does what you need.

lh

#161081
Jul 17, 2009 at 1:48pm

This is great thanks. Is there any way you can automate things in Max? For example, to automate the tempo over the course of a spoken sentence.

#161082
Jul 17, 2009 at 1:58pm

Have a look at [mtr] which is designed for automation. Using [function] in combination with [line] would be another way to go.

lh

#161083
Jul 17, 2009 at 2:25pm

I will look into the mtr thanks.

I’ve tried implementing a function/line before to automate the amplitude of my speech sample. When using it with the groove object, is there anyway of getting the automation to loop along with the speech sound? At the moment I have to click the button to get it to automate within the loop.

Also, on another note… Is there away of making the lines between objects/messages to go at right angles (like in the tutorials) instead of straight lines?

#161084
Jul 17, 2009 at 3:54pm

Turn on Options > “Segmented Patch Cords” and you’ll be able to route them around and make your patches a bit easier on the eye.

You can use the sync output of [groove~] to send a bang when the loop reaches the end. The method I usually implement is below.

lh

– Pasted Max Patch, click to expand. –
#161085
Jul 17, 2009 at 9:06pm

In my “User Page” (see above user pages link), you will find a spectral time stretcher that stretches automatically more the “vowels” than the “consonants”. Look at the “play-with-transients” patch. You might be interested.
Jean-Francois.

#161086
Jul 18, 2009 at 11:33am

thanks!!

#161087

You must be logged in to reply to this topic.