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!
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...)
How do I get dumpOSC, sendOSC and outher Opens Sound objects to work?
I think I have the same problem, on the Mac OSX 10.5.2. I downloaded the source tarball off sourceforge (0.39-3), went to the oscx directory, did ./configure with no problem I noticed, and then make. With make I got this output:
June -d, 2008 @ 01:39:42AM: ~/Documents/projects/boogiepants/Pd-0.39.3-extended/externals/OSCx
[jstoner@erzulie]> make
cd libOSC && make
cc -c -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src OSC-client.c
OSC-client.c: In function ‘CheckTypeTag’:
OSC-client.c:341: warning: implicit declaration of function ‘printf’
OSC-client.c:341: warning: incompatible implicit declaration of built-in function ‘printf’
ar srv libOSC.a OSC-client.o
ar: creating archive libOSC.a
a - OSC-client.o
rm -f OSC-client.o
cc -c -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src OSC-timetag.c
ar srv libOSC.a OSC-timetag.o
a - OSC-timetag.o
rm -f OSC-timetag.o
cd src && make
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o sendOSC.o sendOSC.c
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o htmsocket.o htmsocket.c
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o OSC-system-dependent.o OSC-system-dependent.c
OSC-system-dependent.c: In function ‘fatal_error’:
OSC-system-dependent.c:65: warning: implicit declaration of function ‘exit’
OSC-system-dependent.c:65: warning: incompatible implicit declaration of built-in function ‘exit’
cc -bundle -bundle_loader ../../../pd/bin/pd -flat_namespace -o sendOSC.pd_darwin sendOSC.o htmsocket.o OSC-system-dependent.o -lc -lm ../libOSC/libOSC.a
ld: file not found: ../../../pd/bin/pd
collect2: ld returned 1 exit status
make[1]: *** [sendOSC.pd_darwin] Error 1
make: *** [all] Error 2
any ideas?
Audio/Video Granulizer
the sequencer's cool but it's a pain to label since it's so squished. the bottom left numbers just show what steps you're viewing, since you can only view 16 steps at a time, and you select which 16 steps you're viewing with the thin, long hradio in the middle. click around that and you'll see which sets of steps you're editing (1-16, 17-32, 33-48, etc.) up to 256 steps total. in the middle bottom, that number is where you set how many steps you want - it defaults to 16. the bottom right is the tempo, and the box next to that is just a counter to show what step you're on when playing. the small size 4 hradio to the right isn't currently used, but that's there so you can switch between 3 other sequences in the same sequencer.
i really didn't clean that patch up enough - i just realized two of the inlets set the total number of steps... the leftmost inlet sets the bpms and the rightmost is a toggle for start/stop. also sometimes when you save a sequence that's last value is a nonzero, if you extend the sequence after that it'll fill the new steps in with that value instead of zeros.
ultimately it's pretty multipurpose, what i usually do is run the outlet into a [select 0] just to throw out the 0's (since maybe you want to sequence negative values sometimes). the explanation in the patch just tells how it works with that specific sampler - to sequence it it takes 0-7 to trigger the 8 different lookup points, and it wraps so you can send 8 as 0, 9 as 1, etc (i like to do it like that so i can still throw out the zero's and not have to scale the input over a value in the sampler).
i forget who it was but someone in #dataflow inspired this sequencer - i had started with a small 16 step sequecner, then just made it bigger until it was a huge 128 number box GUI lagfest... discussing ways around it someone suggested that you use a sort of switching system so you can only VIEW 16 steps at a time, but can shuffle around a larger sequence. ultimately it took a while to figure out how to set up but it was super rewarding, the thing is super handy and has save/load! buyakasha!
OSC in pd ext 0.39.3 OSX ??
/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin, 10): no suitable image found. Did find:
/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin: mach-o, but wrong architecture
OSC: can't load library
this is what i obtain...
Reactivision to reaktor patch
When I started using Reactivision, I really wanted to control Native Instruments Reaktor 5 with OSC but the messages weren't "simple" enough for Reaktor.
So I tweaked the TUIO client patch, for it to route simple OSC messages to reaktor.
I'm new to Pd so it might not be as perfect as you would expect.... but it works !
Instructions :
Open reactivision
Open the pd patch
Make sure you are receiving the TUIO messages ( the bang next to "TUIO client" will blink)
Start Reaktor
Stop the audio engine
System menu > OSC settings > click Activate
Make sure port 10000 is chosen as the local port
Start the audio engine
Go back to the pd patch and change the IP address in the bottom left "connect" box
click connect
go back to Reaktor, System > OSC settings. The OSC monitor should now receive OSC messages.
The History about a little video launcher patch...
hi, this is my beginning: i need a "thing" who launches two videos and two audios (pre-recorded, aleatory selected) of a list, in the moment that i make a noise (enoug noise) in a microphone, for that i make this simple patch:
----cut from here----
#N canvas 92 55 825 609 12;
#X obj 85 5 gemhead;
#X obj 345 161 pix_film;
#X msg 488 98 auto \$1;
#X obj 488 78 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 825 212 gemwin;
#X msg 805 105 create;
#X msg 892 182 destroy;
#X msg 848 149 1;
#X msg 853 178 0;
#X msg 753 81 border 0;
#X msg 710 155 dimen 2048 768;
#X obj 85 161 pix_film;
#X obj 85 218 pix_texture;
#X msg 192 92 auto \$1;
#X obj 192 71 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X msg 192 126 colorspace RGBA;
#X msg 488 120 colorspace RGBA;
#X obj 345 435 rectangle 0 0;
#X floatatom 419 328 5 0 0 0 - - -;
#X obj 394 405 /;
#X floatatom 465 328 5 0 0 0 - - -;
#X obj 444 405 /;
#X obj 374 290 unpack 0 0 0;
#X obj 85 260 translateXYZ;
#X obj 85 431 rectangle 0 0;
#X floatatom 159 327 5 0 0 0 - - -;
#X obj 134 401 /;
#X floatatom 205 326 5 0 0 0 - - -;
#X obj 184 400 /;
#X obj 114 284 unpack 0 0 0;
#X msg 153 372 60;
#X msg 203 373 50;
#X obj 345 216 pix_texture;
#X obj 345 262 translateXYZ;
#X msg 413 376 60;
#X msg 463 377 50;
#X msg 192 223 -5.5;
#X msg 318 100 open lib/video\$1.mov;
#X msg 8 102 open lib/video\$1.mov;
#X msg 488 225 10.8;
#X obj 1146 4 loadbang;
#X msg 488 45 1;
#X msg 192 46 1;
#X msg 488 167 0;
#X msg 192 174 0;
#X msg 682 447 open lib/audio\$1n.wav;
#X obj 993 124 adc~ 2;
#X obj 995 279 s sincro;
#X obj 957 61 s aleatorio_1;
#X obj 1047 91 s aleatorio_2;
#X obj 144 195 s fin_video;
#X obj 404 190 s fin_video;
#X obj 682 331 r aleatorio_1;
#X obj 957 5 r sincro;
#X obj 1047 4 r sincro;
#X obj 1146 39 s inicio;
#X obj 1024 192 r inicio;
#X obj 753 7 r inicio;
#X obj 805 34 delay 5;
#X obj 848 74 delay 5;
#X msg 936 441 open lib/audio\$1n.wav;
#X obj 853 356 r sincro;
#X obj 681 527 dac~ 3;
#X obj 997 527 dac~ 4;
#X obj 936 335 r aleatorio_2;
#X obj 682 483 readsf~ 2 221000;
#X obj 936 476 readsf~ 2 221000;
#X obj 318 14 r aleatorio_2;
#X obj 192 12 r inicio;
#X obj 134 348 r inicio;
#X obj 488 10 r inicio;
#X obj 401 349 r inicio;
#X obj 717 390 delay 5;
#X obj 971 389 delay 5;
#X obj 599 345 r sincro;
#X msg 599 403 1;
#X obj 624 16 r inicio;
#X msg 624 46 \; pd dsp 1;
#X obj 501 142 r fin_video;
#X obj 221 148 r fin_video;
#X obj 927 266 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 853 417 1;
#X obj 8 51 r aleatorio_1;
#X obj 994 156 hip~ 5;
#X obj 995 246 threshold~;
#X obj 957 32 random 4;
#X obj 1047 31 random 4;
#X msg 1024 220 set 0.6 1000 0 100;
#X obj 717 361 r fin_video;
#X obj 971 360 r fin_video;
#X obj 599 373 delay 6;
#X obj 853 390 delay 6;
#X obj 682 416 float;
#X obj 936 415 float;
#X msg 732 117 cursor 0;
#X connect 0 0 11 0;
#X connect 0 0 1 0;
#X connect 1 0 32 0;
#X connect 1 1 22 0;
#X connect 1 2 51 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 4 0;
#X connect 11 0 12 0;
#X connect 11 1 29 0;
#X connect 11 2 50 0;
#X connect 12 0 23 0;
#X connect 13 0 11 0;
#X connect 14 0 13 0;
#X connect 15 0 11 0;
#X connect 16 0 1 0;
#X connect 18 0 19 0;
#X connect 19 0 17 1;
#X connect 20 0 21 0;
#X connect 21 0 17 2;
#X connect 22 1 18 0;
#X connect 22 2 20 0;
#X connect 23 0 24 0;
#X connect 25 0 26 0;
#X connect 26 0 24 1;
#X connect 27 0 28 0;
#X connect 28 0 24 2;
#X connect 29 1 25 0;
#X connect 29 2 27 0;
#X connect 30 0 26 1;
#X connect 31 0 28 1;
#X connect 32 0 33 0;
#X connect 33 0 17 0;
#X connect 34 0 19 1;
#X connect 35 0 21 1;
#X connect 36 0 23 1;
#X connect 37 0 1 0;
#X connect 38 0 11 0;
#X connect 39 0 33 1;
#X connect 40 0 55 0;
#X connect 41 0 3 0;
#X connect 42 0 14 0;
#X connect 43 0 1 1;
#X connect 44 0 11 1;
#X connect 45 0 65 0;
#X connect 46 0 83 0;
#X connect 52 0 92 0;
#X connect 53 0 85 0;
#X connect 54 0 86 0;
#X connect 56 0 87 0;
#X connect 57 0 9 0;
#X connect 57 0 10 0;
#X connect 57 0 58 0;
#X connect 57 0 94 0;
#X connect 58 0 5 0;
#X connect 58 0 59 0;
#X connect 59 0 7 0;
#X connect 60 0 66 0;
#X connect 61 0 91 0;
#X connect 64 0 93 0;
#X connect 65 0 62 0;
#X connect 66 1 63 0;
#X connect 67 0 37 0;
#X connect 68 0 42 0;
#X connect 68 0 15 0;
#X connect 68 0 44 0;
#X connect 68 0 36 0;
#X connect 69 0 26 0;
#X connect 69 0 30 0;
#X connect 69 0 28 0;
#X connect 69 0 31 0;
#X connect 70 0 41 0;
#X connect 70 0 16 0;
#X connect 70 0 43 0;
#X connect 70 0 39 0;
#X connect 71 0 34 0;
#X connect 71 0 35 0;
#X connect 71 0 19 0;
#X connect 71 0 21 0;
#X connect 72 0 92 0;
#X connect 73 0 93 0;
#X connect 74 0 90 0;
#X connect 75 0 65 0;
#X connect 76 0 77 0;
#X connect 78 0 43 0;
#X connect 79 0 44 0;
#X connect 81 0 66 0;
#X connect 82 0 38 0;
#X connect 83 0 84 0;
#X connect 84 0 47 0;
#X connect 84 0 80 0;
#X connect 85 0 48 0;
#X connect 86 0 49 0;
#X connect 87 0 84 0;
#X connect 88 0 72 0;
#X connect 88 0 90 0;
#X connect 89 0 73 0;
#X connect 89 0 91 0;
#X connect 90 0 75 0;
#X connect 91 0 81 0;
#X connect 92 0 45 0;
#X connect 93 0 60 0;
#X connect 94 0 4 0;
----cut to here---
i'm sorry for space wasted, but is the 4:02 (...of course!),
the "thing" works, i have the video and audio libs in the apropiate site (they are 5 .mov files and 5 .wav, not very heavy content), but at the third clap in front of the mic it hangs, allways on the third, and a bit later a beatiful death blue screen (yes, i'm windozed, linux don't have drivers for my presonus firestation), i test it in two partitions (same machine), any ideas? Thanks for reading, interest, and.. for all, best regards.
jano
PD extended errors on osx
Hi
I am having trouble using pdp_v4l, pixelTango and osc patch on PD-extended .38 on mac os x (tiger)
If I try to load a PiDiP patch from the help file I get the following error message:
pdp_v4l /dev/video RGB24
... couldn't create
error: pdp_v4l: can't load abstraction within itself
pdp_v4l
... couldn't create
pdp_help_input.pd 0 0 4 0 (canvas->outlet) connection failed
pdp_help_input.pd 7 0 0 0 (message->canvas) connection failed
pdp_help_input.pd 13 0 0 0 (bng->canvas) connection failed
pdp_help_input.pd 35 0 0 0 (message->canvas) connection failed
If I try to put OSC object i get this error:
... couldn't create
OSC
... couldn't create
OSCroute object version 1.05 by Matt Wright. pd: jdl Win32 raf.
OSCroute Copyright 1999 Regents of the Univ. of California. All Rights Reserved.
OSC
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
dumpOSC 9999
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
And PixelTango crashes completely. Has anyone else experience these errors or maybe I have my start up path set up wrong or I need to add some thing?
I deeply appricate your help and advise but I am at a loss!
Thanks again
C++
Hi,
I am trying with OSC. I followd the ling you gave me. From there I followed the pd link to http://barely.a.live.fm/pd/OSC/, that it is not working right now. But I found that in http://barely.a.live.fm/pd/OSC/OLD are some files. From those files I tried OSCx.tgz and OSCx.0.15b1.tgz. I tried to followed the instructions and I had a problem with tne m_imp.h with both packages. I got
In file included from dumpOSC.c:71:
m_imp.h:17: error: syntax error before "t_symbol"
followd by a huge list of errors.
I also tried with the flies from [url=http://cvs.sourceforge.net/viewcvs.py/pure-data/externals/OSCx/#dirlist,
]http://cvs.sourceforge.net/viewcvs.py/pure-data/externals/OSCx/#dirlis t,
I downloaded them manually because I don´t know a more smart way to do that. I followd the instructions in the readme file. When I get to execute the command "make OSC" in the folder OSC I get
/usr/lib/gcc/i386-redhat-linux/3.4.3/../../../crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
OSC.o(.text+0x17): In function `OSC_new':
: undefined reference to `pd_new'
followd by many lines.
How did you install the OSC library? Any idea where is my mistake?
tx