[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-users] Drum patterns with patterns?
- To: sc-users@xxxxxxxxxxxxxxxx
- Subject: [sc-users] Drum patterns with patterns?
- From: Nathaniel Virgo <nathanielvirgo@xxxxxxxxx>
- Date: Thu, 23 Jul 2009 20:26:09 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=ZRJkDKvaY2YmGGsgegrr7xZSCddd6+sWy6weJ/sm8hM=; b=x+dAMIaHIF1SYxmy+LJZ+CfOpmDEhOf01ceCYJtgXc2PUKm4C/2Xok+XJdnIDY64+A ZlNDC2kORGGC2p2UBK/w5mYwBXqLtCSfBoHFnUtG1M90HqHzoNDBOeClp3MTOoPDQeRP PAtdo4i0fQ4l+uy1lYdvC3AOtVlTrLUnALjMU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=QYNKuGWhxy9qXqaM9udCD/nmMds4hftNhnT+HcZodL0vI1mKpoLrtzoq6u1H4NXiI0 KyIwz93qcqmvwC53EE7/q42qsia8h/lEk2nDf+mTQajCI0j165J9JxlHEIRfdYcf4Hrd s2mOGOhrUUt3OfwjzuAay8bDpEdgykz07mFdQ=
- List-id: SuperCollider users mailing list <sc-users.create.ucsb.edu>
- Reply-to: sc-users@xxxxxxxxxxxxxxxx
- Sender: owner-sc-users@xxxxxxxxxxxxxxxx
Hi,
I was wondering if anyone has any hints for programming drum patterns in SuperCollider? I'm particularly interested in Pattern-based methods.
The reason I tend to find it tricky is that with Patterns you have to enter the duration of each note in a sequence rather than the beat on which the note occurs. This means that if you want, for example, a snare pattern that has hits on beats 2 and 4 of a bar, you either have to enter a note on beat 1 that has a freq of \rest, or else you have to use Plag to offset the snare pattern. Neither of these is very convenient and both tend to mean that it's quite hard to read what the code is doing.
Ideally what I want is a way to enter patterns where you enter the time of each note instead of its duration. So for a basic snare pattern you'd enter something like
PTimeBind(
\instrument, \snare,
\time, Pseq([1,3])
)
Times 1 and 3 correspond to beats 2 and 4 since time starts at 0 instead of 1. This would create a single bar that can be triggered repeatedly using Pspawn(er).
Is there a way of doing this that I've missed?
Nathaniel