> anyone have any idea how to do this?

The first approach that comes to my mind and that I would try is:

- use [env~] (or anything similar) to measure the amplitude of the signal

- start a [timer] when you start recording

- set TWO thresholds: one high threshold to detect when the "note" has begun (attack) and a low threshold to detect that it has finished.

- Only after the signal amplitude has become greater than the HIGH threshold _and_ when it becomes again lower than the LOW threshold, then you fire the right inlet of the [timer] to measure the time passed since the beginning: you multiply by the sampling rate and you obtain the size.


That is, you have to emulate the behaviour of a [threshold~] object and use its "rest" bang (see threshold help patch). Since you're probably gonna use [env~] you cannot actually use [threshold~] but it's very easy to emulate its behaviour (at least simplified as described here which is enough for this purpose).

- Be sure your patch produces the size only once within the recording time (which is predetermined if i understood correctly). If you want to allow two or more fff staccato notes to be recorded in one "sample", then take the _last_ occurrence of the abovedescribed condition (one transition up the high threshold + one transition below the lower threshold); if you want to allow only one fff staccato note to be played (and suppose so), then take the _first_ occurrence.



This is certainly a very simple and probably a bit naif approach, but I would give it at least a try before diving into something more complicated.

Hope it helped

bye
m.

--
Matteo Sisti Sette
[email protected]
http://www.matteosistisette.com

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to