Reverse Audio in Tables


#1

I am digging into the possibilities of live sampling with Axoloti by playing around and modifying the Overdub Looper patch posted by Mood Organ here: https://sebiik.github.io/community.axoloti.com.backup/t/example-patch-a-simple-stereo-looper-with-overdub/589/14
Really nice patch thanks for sharing!

My question now is: is it possible to play the audio in a table back in reverse? This would be great for not just for loopers but also beat repeater like stuff, like the Amen Break example patch on Youtube

In this thread Johannes gives a hint that it might be possible: https://sebiik.github.io/community.axoloti.com.backup/t/speed-variable-table-play-noob-questions/510/24


[solved] Pd sampler.rockafella example on axoloti
[solved] Pd sampler.rockafella example on axoloti
#2

There have been a few requests for a direction button on the tables. Would be a really great feature :smile:


Reversing audio?!
#3

Actually I just remembered that it is possible to play audio in reverse..... Had found out a while ago just forgot about it, until I read your post.

You can put a math/inv inbetween the phasor osc and the table... then you have reverse audio :smile:
Like this:


#4

Hey there, thanks for your reply :smile:

But actually I am not getting this to work. I am not using table read but table play.
This is my patch (actually a variation on the SimpleSampler Mood Organ posted somewhere) and a little audio example of what I want to do with it (all sounds from acoustic guitar just for getting the Idea what I want to do with it)


When I tried using it with table/read and the phasor I only got like really high pitched loops of my sample, I cannot get it to the original pitch :frowning:

It would be an awesome effect If I could add the option to play the little bits that I sample in Reverse, it woul make it more abstract.


#5


Added some Table/plays that pitch the samples in Octaves. Pretty much fun!


#6

Hey again.

Well the problem with the table/read is, that it you cannot control time and pitch individually, as far as i know..... So when you touch the pitch of the phasor osc, you are editing both the pitch and time, which is not a good thing in most cases, but in some cases it works well(like for eventidish harmonizer delay like effects, some sampling situations)... But for timestretching, reverse audio etc. It doesnt work well, because of the pitch issue that you have faced. You basicly have to pitch the sound down like 8 octaves or something for the audio to be in big enough chunks to actually here that it is played in reverse... But then you wont hear the original pitch of the audiofile, it will be totally unrecognisable.... We need a table/read with individual inputs for time, pitch and position for that. That would be really awesome and woud give a lot of new opportunities. I think Alcehmy from Camel Audios functions for stretch, reverse, etc. are very desireable. Alchemy is the best and most controlled VSTI I have ever tried and have beeen trying to build something similar in Axoloti, but get stuck when I get to the time & pitch issue... Maybe it is possible(like reverse audio), but havent found out yet... But for Aclhemy pitch is editable by itself and the time is editable in percentage and position also has its own knob.... That would be sooooo good to have in Axoloti.

But I guess it is up to the developer to decide which direction to go. Or maybe they have an idea how to accomplish what you are trying to do, from what we have now. We could ask @johannes and maybe also @thetechnobear if this is something they put some thoughts into?


#7

Its an interesting topic... keeping time when changing pitch (or lengthening sample without changing pitch)

I'll put this here for now ... time-scaling/pitch modification wikipedia - the link to Steven Bernsees work is particular useful.


#8

Nice, thanks :smile: Looks really good. will dive into it :smile:


#9

Regarding phasor+table/read usage for timestretching etc I guess you can find some solutions here:
https://sebiik.github.io/community.axoloti.com.backup/t/solved-pd-sampler-rockafella-example-on-axoloti/


#10

Thanks :smile: will look into it. Got a few other ideas i need to explore too regarding the time stretch :smile:


#11

Ok thanks for all the replies guys!

@kausto
I am going to check out your patches, looks interesting. But I personnaly don't need to have timestretching, I just want to record a sample, and retrigger a certain part of that sample that I can choose and independant from that have control over pitch and playdirection. So it's not about changing the lenght of the sample (timestretching) but ajdusting the window you play of that sample.

@jaffasplaffa
I think pitching down the sound into recognizable lenght is not possible for me since I want to record the samples live.
For me it would be great then to just fuse the table/read and table/play into one object that just does it all, with a reverse button :smile:


#12

Yes it is not a desirable effect :smile:

+10 :smile:


#13

You can do this with Pos dial


#14

Yes I am aware of that. My point was more that table read and table play are some how similiar but have different options and it would be great to have all the options in one object.


#15

Sorry for high jacking your thread and turn it into time stretch instead of reverse talk...Anyway, the stretching is important to be able to to what you want to do... You have to have independent control over pitch and time :smile:


#16

I can understand this desire, but much of axoloti is built on the idea that you are given lower level components so that you can build things in different ways. (and we also need to be careful not to duplicate code which causes maintenance nightmares long term)

combine such objects is probably best done using subpatches, of course, the 'issue' at the moment is all users have to do this, or find a patch on the forum that does it... this will cease to be a problem once we have the 'User Library', so these higher level objects can be shared betweens users. watch this space :wink:


#17

The reason to have them separate is numeric precision.
Using a "generic" audio-rate phasor oscillator to play a long wave will not have enough precision.

This is also an issue in pd and the 32bit version of max, if you address a table longer than 16777216 samples it can't be addressed at single sample-resolution...


#18

Yes that sounds pretty reasonable. But I would still be really happy for a reverse button, since it doesn't seem I could achieve this by patching other objects.

No problem, I think I have read about this problem while doing research in this forum.
Still I am not sure what timestretching would mean for me. I am quite happy the way the table/play object worked for me, since I could trigger it from a sequencer. The only thing I wanted to add is reverse. And I don't want the samples to be timestretched either.


#19

I am just telling you to do what you want to do, using regular tables as they are now, I think it is necessary to split pitch and time.... Caue you need to reverse the time.... and not the pitch... cause when you reverse both time and pitch(that is what happens when you invert the phasor) you end up with the low pitched grainy unrecognisable thingy we talked about being undesirable earlier.

The stretching would just be a fun biproduct of it :smile:

But I think what you want to do is possible... We just need to explore Axoloti more :smile:


#20

@jaffasplaffa
Ok I am getting closer to understand what you mean.
But I had this high pitched unrecognizable sounds also when not reversing the phasor. I was realising that I could get closer to the original pitch by turning the phasors frequency down, but finally it lacked the resolution to tune it to the original pitch.

But afterall exploring Axoloti sounds like a good Idea! I am amazed already about all the things you can do with it. Especially the fact that all the ingredients of modular synthesis are there makes it really nice to start with.