Forums > MaxMSP

Sample Playback using groove~

December 20, 2006 | 4:34 pm

I’m finding groove~ very temperamental and when I’m getting it to play back samples from a buffer it refuses to do so in a logical way.

I.e. if I decide to play a loop between 0ms and 130ms it will play the whole sample as opposed to that small specific section unless I put loop on and this isnt feasible as I only want it to play that small section once when it is banged!

Can anybody recommend a better Max object to use for sample playback with specific start and end points when reading from a buffer~?

Oh and has anybody else encountered this problem?

Thanks


December 20, 2006 | 5:34 pm

Rhys Perkins wrote:
> Can anybody recommend a better Max object to use for sample playback
> with specific start and end points when reading from a buffer~?

they are recommended in the groove~ help file:

play~ and wave~…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


December 20, 2006 | 5:35 pm

Hello,

(Not 100% sure and I don’t have Max here) for playing a part of the sample with [groove~]:
1. set loop mode to off
2. set start and end points
3. send a [startloop( message for playing between start and end points

Notice that one of the outlets send a sync ramp (0 to 1) during playback, which can be used to control an enveloppe generator like [trapezoid~]

For replacing [groove~] you may use:
* [play~]
* [index~]
* [xgroove~] (an external by Thomas Grill)


December 20, 2006 | 6:03 pm


December 20, 2006 | 8:36 pm

OK I figured out what is going on here. It seems there is a problem when using groove~ and specifying the start loop at 0. going to any number. From 100ms to 200ms that is fine so is 512ms to 601ms but 0ms to any other number wont work?

Am I missing something here?[img]index.php?t=getfile&id=379&private=0[/img]


December 21, 2006 | 6:52 pm

Quote: Dr. Spankenstein wrote on Wed, 20 December 2006 21:36
—————————————————-
> Am I missing something here?[img]index.php?t=getfile&id=379&private=0[/img]
—————————————————-

The interaction to [groove~] looks way too complicated.

The output of [r Sequencer2Instrument] should be connected to inputs 1, 2, 3 of [groove~] with a [t startloop b b] :
* "bang" outputs of [t] connected to [v]
* [v] connected to inputs 2 and 3 of [groove~]
* "startloop" output of [t] connected to input 1 of [groove~].
What is the purpose of the [delay 20] ?

Also, the [snapshot~] system for sending [stop( is not accurate, as a stop can occur only every 100 ms. Then probably starting and stopping the [groove~] are out of synchronisation. If you want to use the sync ramp for stopping, you should use objects like [sah~], [delta~] and [edge~] instead.
You can also send [stop( after a delay of (end - start) ms.

Warning, the FreqShift system, the SequencerVelocity and the sending start and end times to [groove~] are not interpolated at all OR not synchronized alltogether, then you can get clicks and other audio artefacts.


December 22, 2006 | 2:33 pm

OK so forgive me if I sound a little stupid but how would I use a sync ramp object to detect when a loop is coming to an end given that I know the start point (ms) and end point (ms) and the length of the loop (ms).

Surely then I can trigger a seperate volume (amplitude) envelope to coincide with this occurence thus eliminating ny clicks between stopping one loop and play the next in very quick succession?

Thanks again guys.


December 23, 2006 | 4:03 pm

Quote: Dr. Spankenstein wrote on Fri, 22 December 2006 15:33
—————————————————-
> OK so forgive me if I sound a little stupid but how would I use a sync ramp object to detect when a loop is coming to an end given that I know the start point (ms) and end point (ms) and the length of the loop (ms).
>
> Surely then I can trigger a seperate volume (amplitude) envelope to coincide with this occurence thus eliminating ny clicks between stopping one loop and play the next in very quick succession?
—————————————————-
The amplitude envelope can be driven by the sync ramp itself. Try to connect a [trapezoid~] to the sync output for example. See the help of [trapezoid~], maybe it refers to other similar envelopes.

If you use this technique, then probably you even don’t have to stop the [groove~], but be careful not to start it again while still playing.


Viewing 8 posts - 1 through 8 (of 8 total)