Sample Playback using groove~

Dec 20, 2006 at 4:34pm

Sample Playback using groove~

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

#29311
Dec 20, 2006 at 5:34pm

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

#91292
Dec 20, 2006 at 5:35pm

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)

#91293
Dec 20, 2006 at 6:03pm

#91294
Dec 20, 2006 at 8:36pm

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]

#91295
Dec 21, 2006 at 6:52pm

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.

#91296
Dec 22, 2006 at 2:33pm

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.

#91297
Dec 23, 2006 at 4:03pm

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.

#91298

You must be logged in to reply to this topic.