Reversing sound...

asusu's icon

This is probably an easy question, but I'm an amatuer in max. I'm trying to reverse a delayed signal that I have delayed using tapin~ & tapout~. I'm guessing I could maybe record the delayed signal into a buffer and try reversing that? I did manage to find a thread on here but it wasn't much help to someone who knows as little as I do in max Any help would be greatly appreciated!

asusu's icon

Ok, I've tried running 2 instances of sfplay reading the same buffer (one for the wet delayed signal, one for the dry original signal), but although I can alter the playback speed and reverse it I can't also alter the delay time on the tapout. I need to reverse the sound between the tap in and sfplay if possible. Is there any way to send the signal to two different places (from the same buffer) and reverse one? I've uploaded the zip file to mediashare because there's a small sound file in as well, although it was slightly to big to attach to this message. Thanks again for the help.

Roman Thilenius's icon

asusu wrote on Mon, 25 May 2009 23:19This is probably an easy question, but I'm an amatuer in max. I'm trying to reverse a delayed signal that I have delayed using tapin~ & tapout~. I'm guessing I could maybe record the delayed signal into a buffer and try reversing that?

record in a buffer? no need to, tapin tapout IS a buffer.

many people are not aware of this, but tapout works like this:

when it receives no signal, its "read head" stands still while
its content scrolls with normal speed.

but when you connect a signal to tapout, this signal tells the
"read head" where it is.

a signal of "1" will read from a constant point == play forward,
and a signal of "0." will play backwards.

of course to read backward from a scrolling buffer like tapout
requires 2 seconds of buffer size in order to be able to play
1 second.

Roman Thilenius's icon

there is something wrong in my above post, will post
an example patch tomorrow.

Zh's icon

This guy made an object for it - never used it (but it's an abstraction so you can see how it's done 'n'all!)

my suggestion would be to make a granulator that plays quite long grains backwards and loop-record into a longish buffer (5 seconds?)

Roman Thilenius's icon

here it was:

the method i described there is how it works.

you have to send a ramp, not a static value - sorry
for the confusion.

it is really simple actually, if only you understand
what a scrolling buffer does. which is maybe not sooo
easy for someone new to DSP.

-110