What gives a sequencer its flavor?
Hey mod, your toggle color idea is amazing. I used it to make a three-stage toggle that gives a different color on each click. So basically I can now select one of two velocities per sequencer cell. I put in a delay object so that a single click gives one value, and a double-click gives another, then a click to either value clears.
I don't see any reason why I couldn't do four-stage toggles, or five, or whatever. The implications for sequencer programming in Pd are vast and awesome. Again, props for the original idea. I've included the patch. I will clean it up and repost later (is that bad form?). The next project will be a router system that allows me to change the states of individual toggles with a single instance of the three-stage counter. Computer science can be so sexy...
Oh, and has anyone already done this, and I just didn't know it?
D
What gives a sequencer its flavor?
A fantastically helpful reply. I had been making a patch that manufactures sequencer grids, which I might finish, though it's more of a cool idea than a practical necessity. While I was making it I did have many many thoughts about what would be cool, and I came up with a really big one, which I will share when I've finished a version of it. It presents one solution to the randomness/inhumanity problem.
Yeah I was considering using color changes with the toggles. I am pondering allowing for color-based velocity for each note, or maybe using an "accent" system that loudens accented notes by a certain modifiable percentage. I was also considering using structures to make a sequencer, but I don't want it to be really processor heavy. I might also purchase Max at some point to get another perspective on this live machine I'm building.
I do like the idea of weighting different sounds, timewise, maybe having some sort of changeable lead/delay param for each sequencer lane. Of course I am making pretty straightforward beat music, so anything weighted too heavily will have to be for texture and color rather than the core of the beat itself. I am also curious about the different ways to shuffle sequences, as with the MPC having a particularly pleasing shuffle algorithm. I guess I'm interested in rhythmic algorithms.
Anyway, I'm gonna just build as many different kinds of sequencers as I can think of, put them in a big patch, then have a MIDI router that allows me to output the sequences as note, CC, or other types of messages, then control various Pd and Logic synths from there. My true mission is to design a performance instrument that allows for tons of flexibility (independent sequence lengths, or being able to switch the output of a given sequence element), and with a very special twist. I can barely contain myself.
I think the ability to output any kind of message is one of the true strengths of Pd when compared with Logic. If I want to generate movement with a synth's params, I have to use that synth's internal mod matrix (if it has one), or I have to use automation which exists in a GUI element separated from any note information. I don't want to go digging into the nested windows of my sequencer program to be able to quickly program automation.
This conversation has me really excited. Thanks for the valuable input. And who are you, by the way?
D
What gives a sequencer its flavor?
i find, one of the good things to do, is to play round with a normal sequencer, and when you get a thought like "oh man, i wish i could just turn off the second half of the sequence every now and then", write that down, and then include that function in your own sequencer.
also, if you're designing a sequencer using pd's gui, those toggle buttons are absolute crap. but you can make them better with a bit of tweaking. instead of having just the little X show up in the middle of the toggle box, send a message like this:
[r $0-toggle-1(
|
- <- whatever number you put in here, is the colour
|
[color $1 $1 $1(
|
that way, the whole box gets turned on and off with a click. makes it much easier to see what's happening.
also, one of the biggest strengths with sequencing in pd is the ability to randomise, either randomly or intelligently. for example, if you are making a random drum pattern, then you probably want more notes to fall on 0,4,8, 12 than on 5, 7, 11....etc , so you build a patch that does that with weighted randoms and then you get reasonably cool sequences right off the bat that can be tweaked manually to work well.
just thinking of your idea about 'colouring' sequencers so that they lead or delay notes, and i think a cool way to do that would be to actually colour the individual sounds. so, for example, with a typical bass drum and hihat thing, you probably want the bass drum to be pretty steady, so you could assign it a colouration factor of 0.2 or something. but the hihat should be allowed to roam a bit, so maybe give it a 0.4.
but yeah, i think one of the best things about pd, is that you can program in all sorts of bends and tweaks that regular sequencers don't have. especially randomising stuff, makes it easy to try a heap of sequences very quickly. only problem i find with this type of method, is that it does tend to lead to the sounds becomign very erratic very quickly. with traditional sequencers, it takes a while to get all the notes in there, and you're more likely to just let it loop for a while and keep the same groove. but once you start getting into highspeed loop prototypes with randomization, you can switch between heaps of different sounds really quickly. this is really cool and definitely has advantages, but on the other hand, music is also something which has to come from the soul, so the jitterbug randomness does often mess things up too much. it's a bit of a balancing act, maybe. but if you can program the randomising stuff to work well and generally hit on good results, then that is better.
not sure if i answered much of the original question, but good to have a think about these things. cheers
What gives a sequencer its flavor?
I like Logic for many reasons. Sometimes I like that the sequencer is totally regular and orderly and normal. Sometimes I don't. I can do all kinds of awesome things with sequencers in Pd, like making sequencer patches with individual lanes that run at independent rates, for example. So I'm setting out to design a big improvisatory sequencer patch that includes drums, synths, samples, and loop-based recording. It will be totally awesome.
So designing sequencers and using vintage drum machine samples has got me thinking. I've read a handful of interviews with hiphop and techno producers who swear by hardware sequencers and drumboxes. They particularly tend to talk about the "feel" of particular sequencer or drumbox. I get that I won't really be able to replicate the metal frame of a LinnDrum in Pd, that there's something about the buttons, the knobs, the hardware-ness of these machines that encourages a certain style of composition unique to each box.
Given that I'm accepting certain limitations in GUI with any sequencer I design in Pd, how can I effectively create a sequencer that has a unique feel? And then, how can I create another one, with another unique feel? And on and on.
I also understand that certain sequencers, apart from the compositional elements of their front panels, also "color" their rhythmic outputs by leading or delaying the notes in a pleasing manner. Are there schematics somewhere that indicate how this occurs, per individual sequencer?
Also, an appeal to y'all imaginations. Who has cool ideas for sequencers? How can we flavor our sequencers uniquely so they aren't just spitting out Logic-esque, highly regulated streams of notes?
You guys are awesome!
D
PS - Best believe I am working on weirding up Logic's sequencer from within!
Can't start pdj!
"pdj: warning: Java is initialized from main thread. AWT can lock pure-data environment. See pdj/pd scheduler to cover this problem.
pdj: java.lang.ExceptionInInitializerError
pdj: at com.cycling74.max.MaxObject.registerObject(MaxObject.java:803)
pdj: Caused by: java.lang.NullPointerException
pdj: at java.util.StringTokenizer.<init>(StringTokenizer.java:182)
pdj: at java.util.StringTokenizer.<init>(StringTokenizer.java:204)
pdj: at com.e1.pdj.PDJClassLoader.resolvClasspath(PDJClassLoader.java:64)
pdj: at com.e1.pdj.PDJClassLoader.<init>(PDJClassLoader.java:37)
pdj: at com.e1.pdj.PDJClassLoader.<clinit>(PDJClassLoader.java:27)
pdj: ... 1 more
pdj pdj_test_class
... couldn't create"
My friend wrote a sampler in pure data. It functions already. But we would like to start it on a mac computer. There we got the message written above and are not able to solve the problems...
What is AWT?
What is the pdj/ pd scheduler?
Touch Screen Sequencer, PureData and Python
Hi all,
I feel that this is now at the point where i can start showing it to people and possibly getting some feedback. This is based off a Midi sequencer i wrote for the NDS but is now aimed at my touchscreen tablet which has a much bigger area to play with.
everything can be downloaded from my github repository
http://github.com/notesandvolts/Touch-Sequencer
The sequencer has two parts :-
Pure Data sequencer does all of the data stuff, midi sequencing, value storing.
The Python GUI just makes everything easier to use and a bit prettier than stock PD. It uses pygame for all the graphical stuff so you will need this to be installed as well.
The two communicate over OSC and my eventual plan is to have the tablet communicate with a rackmounted server over a wireless netwwork.
Features
2 channel types, Grid and Curve. Grid features 8 grid based patterns either 8 * 16 or 16 * 32 sized grids. The patterns themselves are sequencable and there is a follow mode that shows the patterns being played on a channel so you can more easily edit it on the fly.
The curve channel features 8 wavetable LFOs with user drawable waveforms, variable lengths and independant midi channel capabilities. They currently only do standard Midi CCs and no pitch bend but thats something I want to change soon.
The sequencer sends out Midi clock start/stop/clock information so it can be used as a master clock for a bunch of gear. It currently doesn't sync to a midi clock but again i'd like to do that eventually.
I've tested the whole thing a bit and it works however i'm sure there are going to be more issues. Any feedback is welcome, even if its people just giving advice on how to do something better. The user interface is currently ugly but then i'm an engineer not a graphical designer
I hope people find this useful or informative or hopefully both.
Thanks for taking a look
Guy
Non-audio "stutter"
Hi there
If your sequencer a timeline-based, "sequence stutter" is quite easy to achieve. Say your clock runs from the beginning to the end of your sequence just like a table lookup index.
Then you can play with the timecode (by looping it with [mod] and set an offset or whatever), and do some sort of granular synthesis applied to your sequences. Of course, this requiers timecode-based event triggering, and I don't know how you built your sequencer.
With this principle, you can do various local looping, modify tempo, read reverse or random, even playing several part of the sequence at the same time, and do it live. This way you modify the data that is then sent to external instruments without affecting the audio process. Is that what you were thinking about ?
(hopefully, one day I'll finish this dream sequencer I started to patch some years ago...)
96-count master clock (for ACID patch)
Okay, so this things works; I say that first cause when you open it up your palm will probably hit your forehead.
The idea is that there is only one metro for the clock and that it is sending out different streams. So you run the clock (after adjusting shuffle and tempo - move shuffle up to 5 and back down to 0) and then anywhere else in your patch you can:
[r this] ; outputs a stream (at 16th note intervals) 0, 1, 2, 3,....15
[r this96] ; outputs a stream (at 96th note intervals) 0, 1, 2, 3,.....95
[r these] ; outputs a stream (at eight-note intervals) 0, 1, .....31 (4 bars instead of one, controlled by the "phrase buttons 1bar, 2bar or 4bar.)
Some of the others are used by the ACID patch previously posted...the way I setup 16th-note triplets and 32nd-notes is messy, but you could get it to work for you. I think they are and ...
There are some graphics to lag your computer whenever 4-bar, 8-bar, 16-bar periods have elapsed.
You can also:
[r bang4] or [r bang8] which gives you bangs on important phrases.
It also has a built in stutter (unfortunately using another metro.) It stutters the clock output - works pretty well but it's a damn mess. It's under [pd keyboard] because I use a MIDI controller for it. If you can figure it out, more power to you - basically, if you have a MIDI controller you should be able to get it working - it uses thirteen keys C -> C Pressing any of these keys should give you some rhythm, like repeat count 5, 5, 5, 5, 5, unless you also hold down the lower C which would give you 5, 6, 5, 6 or the D which would give you 5, 6, 7, 5, 6, 7...there's other stuff too.
If you're trying to get the ACID to work, don't worry, it should do it just fine, all the sends and receives are there. Put both files in your PD folder, open a new patch, and make an object [ACID4u] and [Clock4u] and they should be talking to each other.
Harderfasterlouderharderfasterlouderfaster\*boom\*
So I made this patch that would help me do dj type stuff.
ill talk patch here for a while so my file can upload.
http://www.mediafire.com/?sharekey=5d945abf545c636dd2db6fb9a8902bda
be warned, its noisy, unorganised, and at times complete shit. and sometimes that kick will kill you, be careful if you have subs i guess.
and i tried to make it as reusable as possible, unlike everything else i've done which is really good for one track.
so stealing, or "learning" as you might call it from discussions on the forum, i pieced together the best i could do. but ultimately limiting a lot of what i did to the fact i control it with a toy guitar with some 13 buttons(more to come, im going to hack a mouse or joystick to add some more buttons, cc's)
i basically split everything(loop wise) into 4 channels, drums, kick, melodic, rhythm
the kick gets its own channel, that way i can crunch it up and it stays constant while everyone else is slamming about with stutters and whatnot.
so 4 channels, what effects do i need? well a good old fashioned delay and distortion, that will do nicely. the gain goes up to 1.5X too, because i have a habit of turning everything up and up and up, so if i start at .7X, i'm giving myself room for later.
they pan too, but i dont really use that much.
each channels audio gets a fancy stutter deal, and the drums get a high feedback short time delay too.
after that, each has a button to randomly pick a new loop(doesnt seem to work all that well, some never come up, while others repeat themselves)
theres a button for me to trigger kicks when they aren't sequenced. and one to turn off the kick sequence.
thats about it really.
i think its heavily taken from hardoff's patches(really through these patches i was introduced to the whole stuttery world of breaks, and from there discovered breaks and distortion = fun), with bernielomax99's 16 step sequencer thrown in there.
so, there you go, enjoy my wonderful patch, make suggestions on what i should do to make it better, complain that everything i do sounds kind of the same.
(oh one thing though, i think all the delays maybe feed into the one? im not sure it just seemed like that towards the end, but im not sure)
also, this was my first real experimentation with that nifty draw on canvas feature.
adios chaps
edit: complimentary album art.
Java.lang.ArithmeticException: negative exponent
Hi everybody!
I'm facing a strange error when i try to generate Key-Pair to be used for encryption purposes.
Either in linux or in windows, it is working perfectly with SUN JDK.
But in RedHat GNUClASS+jamvm, it's wrong as follow.what should I to do ?
Thanks and waiting your replies!
-------------------------------------The error showing is:
genKeyPair failed: java.lang.ArithmeticException: negative exponent
java.lang.ArithmeticException: negative exponent
at java.math.BigInteger.pow(BigInteger.java:1001)
at gnu.java.security.key.dss.FIPS186.generateParameters(FIPS186.java:200)
at gnu.java.security.key.dss.DSSKeyPairGenerator.generate(DSSKeyPairGenerator.java:305)
at gnu.java.security.jce.sig.KeyPairGeneratorAdapter.generateKeyPair(KeyPairGeneratorAdapter.java:93)
at java.security.KeyPairGenerator.genKeyPair(KeyPairGenerator.java:289)
at cn.com.webinfo.security.RSA.generateKey(RSA.java:100)
at cn.com.webinfo.stest.MainRSA.main(MainRSA.java:23)
java.lang.NullPointerException
at cn.com.webinfo.security.RSA.generateKey(RSA.java:102)
at cn.com.webinfo.stest.MainRSA.main(MainRSA.java:23)
Generating private key is failure!
----------------------------------------my code:
MainRSA.java:23 RSA.generateKey("001","prikeyRSA.dat", "pubkeyRSA.dat");
public static boolean generateKey(String id, String priFileName, String pubFileName) {
try {
KeyPairGenerator keygen = KeyPairGenerator.getInstance("RSA");
SecureRandom secrand = new SecureRandom();
secrand.setSeed(id.getBytes());
keygen.initialize(1024, secrand);
RSA.java:100 KeyPair keys = keygen.genKeyPair();
RSA.java:102 PrivateKey prikey = keys.getPrivate();
PublicKey pubkey = keys.getPublic();
.........