Kyma Forum
  Tips & Techniques
  Transient detection...

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Transient detection...
JackRosete
Member
posted 08 February 2015 10:29         Edit/Delete Message   Reply w/Quote
Hi,

Not sure if this is possible to do, or how it could be achieved, but any ideas would be much appreciated. Let's say I'm using one of the various available prototypes to resynthesize a sample containing a mix of loud and quiet portions, and I wanted to randomly jump to new points in the sample every time there's a !KeyDown or other trigger, but I specifically wanted to jump to a transient (loud portion) rather than any old random point in the sample (since this would also statistically jump to the quieter portions, which I don't want). Any ideas? I realise I could chop the sample up beforehand, but what I'm looking for is an algorithmic solution, so I could change the resynthesis sample later on without having to chop it up again etc. Hope my ramblings make sense!


Cheers!
Jack

[This message has been edited by JackRosete (edited 08 February 2015).]

IP: Logged

SSC
Administrator
posted 08 February 2015 12:14         Edit/Delete Message   Reply w/Quote
Could you scan through it first and take note of the timeIndex at each loud point?

IP: Logged

JackRosete
Member
posted 08 February 2015 14:24         Edit/Delete Message   Reply w/Quote
Yes, that's doable I was just wondering if there's another (automatic) way of detecting transients, I know a lot of DAWs have this function.

Thanks!

IP: Logged

gustl
Member
posted 09 February 2015 01:56         Edit/Delete Message   Reply w/Quote
Hi Jack,

This is the stuff were humans are way better than computers...

Have you tried using the ampfollower paired with a threshold to generate triggers where transients occur? You could use those triggers to sampleandhold timeindex values. This way you could even do it in realtime, I guess. Possibly you need a noise gate too.
You could also try to differentiate the signal from the ampfollower. To do this subtract the ouput delayed by 1 sample from the output.

The accuracy depends on the signal you use and you have to finetune the algorithm to the characteristics of your signal.

Does that help?

Best,
Gustl

IP: Logged

TazioSchiesari
Member
posted 09 February 2015 02:55         Edit/Delete Message   Reply w/Quote
I think one way would be starting a counter from the start of your file and play it through. Have a an EnvFollower and a Threshold that triggers a compare function to the running counter (I believ3e there is "time between triggers" script). Then recall all this time values in your start time of a Sample.
The question is how to collect automatically those numbers. As soon as I get home I'll give it a spin with some smalltalk.

Cheers,

Tazio

IP: Logged

JackRosete
Member
posted 09 February 2015 03:24         Edit/Delete Message   Reply w/Quote
Some interesting ideas here, I'll have a play around and look forward to seeing if you come up with a solution to collecting the numbers!

IP: Logged

gustl
Member
posted 09 February 2015 11:49         Edit/Delete Message   Reply w/Quote
No need for a counter, just use a ramp with the length of your sample and sampleandhold the current value of that ramp when a transient occurs. These values are your timeindex values for the playback. You will need as many triggered sampleandholds as there are transients (or more).
You can create a circular buffer by using the counttriggersmod message for triggering the sampleandholds. For example when using 10 triggeredSampleandholds, sampleandhold1 gets triggered when: !Trigger countTriggersMod: 10 eq: 1.
I think that works, let me know if it really does

IP: Logged

TazioSchiesari
Member
posted 09 February 2015 15:41         Edit/Delete Message   Reply w/Quote
There are always many routes to one destination
Now I got stuck with the idea of finding a way to insert time values as array elements automatically. I'm reading the documentation, hopefully I'll sort it out eventually

IP: Logged

cristian_vogel
Member
posted 04 August 2015 05:12         Edit/Delete Message   Reply w/Quote
I hope SSC don't mind me pointing you towards http://www.cristianvogel.com/neverenginelabs/product/spectral-sr-volume-one

There are a prototypes in the SPC SR Volume One that can help you track transients (with a bit of design work of course!)

Otherwise, you might want to embed the transient locations inside an audiofile from another editor....

[This message has been edited by cristian_vogel (edited 04 August 2015).]

IP: Logged

johannes
Member
posted 04 August 2015 13:23         Edit/Delete Message   Reply w/Quote
Hey cristian, which modules of your spectral sr vol 1 you had in mind to use for transient detection? Thanks. Johannes



IP: Logged

cristian_vogel
Member
posted 05 August 2015 16:14         Edit/Delete Message   Reply w/Quote
HI, well I they are not my modules, Gustl is the technical expert. I am just the imprint in this case.

Hopefully he can be more specific, but there are modules such as centroid and formant extract that in combination can do feature extraction in different ways.

IP: Logged

zinoff
Member
posted 03 September 2015 04:09         Edit/Delete Message   Reply w/Quote
Can Kyma refer to markers in audio files? That'd be cool, didn't know it could do that.

IP: Logged

cristian_vogel
Member
posted 08 November 2015 09:59         Edit/Delete Message   Reply w/Quote
Actually yes, Kyma can extract Media cue markers from AIF files.
I have done an immense ammount of research into this recently - all my results are published at the Rhythmic Computation Labs.

I prefer to use Marker'd audio files than folder fulls of samples - I have decided to call them ROM Banks and have designed a number of classes that demonstrate how to extract and navigate those Markers. Kyma showed no stress when I loaded a file with 1700 markers embedded in it into my Open ROM Bank Rhythm Computer! I was able to use a transient sliced audio sample as the source for a Euclidean drum machine...
http://www.cristianvogel.com/neverenginelabs/product/rhythmiccomputationlab

[This message has been edited by cristian_vogel (edited 08 November 2015).]

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c