Keyboard-readout machine
Ok, i finally took a first initiative on this one but without succes. What i did was indeed buy a second usb keyboard and attached that to my laptop. However, apparently (under winxp that is) all keyboard control is dealt with by the os. So if i press the shift key on one keyboard the second one also generates capitals. The same goes for shiftlock, capslock,...
I've been looking at the gumstix machines, but i'm not sure if it has a keyboard connection, or wether its linux version would support pd.
The search goes on.
A relativistic keyboard
This patch was something I first made several years ago in Max/MSP, inspired by Leon Gruenbaum's Samchillian controller. Here it is in cleaned-up Pd form:
http://www.lubbertdas.org/rela.pd
And here's an example of how to connect it to an instrument: http://www.lubbertdas.org/relaphasor.pd
Basically what you do is use the QWERTYUIOP keys (not sure if you need to change the patch for different keyboard layouts) to go up and down a scale by different degrees. The space bar repeats the last note, the - and = keys temporarily transpose the current note up or down a semitone, and the ` key turns sustain on and off. You can also change the musical key and scale.
It's hard to play a melody with this patch, but it's good for wanky prog theatrics, especially if you connect it to a more expressive-sounding instrument.
Modifications you may want to make:
-try adding keyboard shortcuts for certain key/scale changes, or to certain notes of the scale
-assign two keys to take you up/down one degree of the current scale without retriggering the note attack. This adds a great hammer-on/pull-off functionality to guitaristic shredding.
-figure out how to use a MIDI keyboard with it so you can play a note on the MIDI keyboard and go up or down from there on the QWERTY keyboard
EDIT: Forgot to mention that this probably only works right in Pd-extended, as it uses [sort] from Zexy.
Keyboard-readout machine
Yes the caps lock would only give you extra letter keys.
If you hacked the second keyboard so that every key was a Shift+<key>, or that the shift key was always down, that would give you a completely new keyboard(caps and symbols etc).
One thing I noticed, is that if you start the [key] help patch holding down the shift key, [key] get repeated messages. However, once you hit any other key while holding shift, that stops and you are good to go. Note that when you hold down shift for 8 seconds on windows, you get a pop-up about filterkeys. Just go into the settings for filter keys and turn off the shortcut to activate filterkeys.
also, take a look at http://www.instructables.com/id/Make-your-own-Roll-Up-Keyboard/
some DIY fun
Scanning through pixel values of an image
Hi.
I am having trouble with getting pix_data to scan though the image values of the picture.
I am open for suggestions if there is another way to do this.
Can anyone help me?
mvh.
evemgr
here`s my code
#N canvas 637 81 628 488 12;
#X obj 190 159 pix_resize 10 10;
#X obj 171 238 pix_data;
#X floatatom 200 337 5 0 0 0 - - -;
#X floatatom 245 337 5 0 0 0 - - -;
#X floatatom 291 337 5 0 0 0 - - -;
#X floatatom 289 258 5 0 0 0 - - -;
#X obj 200 290 unpack 0 0 0;
#X obj 171 418 pix_draw;
#N canvas 0 0 466 316 image 0;
#X obj 77 48 inlet;
#X obj 77 344 outlet;
#X obj 223 55 inlet;
#X msg 223 123 open \$1;
#X obj 223 100 openpanel;
#X obj 77 205 pix_image c:/lyder/lyd.jpg;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X restore 190 115 pd image;
#X obj 190 67 gemhead;
#N canvas 0 0 454 304 gemwin 0;
#X obj 130 159 gemwin;
#X obj 67 125 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 74 set destroy;
#X msg 204 65 set create;
#X msg 132 112 create \, 1;
#X msg 246 111 destroy;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X restore 422 273 pd gemwin;
#X msg 422 232 destroy;
#X obj 460 53 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 474 324 counterx 1;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 194 272 outlet;
#X msg 143 20 bang;
#X obj 81 58 select 11;
#X obj 273 272 outlet;
#X obj 195 110 metro 11000;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 1 1 5 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 3 0 10 0;
#X connect 4 0 6 0;
#X connect 4 0 3 1;
#X connect 4 0 9 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 8 0 1 0;
#X connect 9 0 2 0;
#X connect 11 0 3 0;
#X restore 210 186 pd counterx;
#N canvas 542 0 478 328 countery 0;
#X obj 192 270 outlet;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 81 58 select 11;
#X obj 131 15 inlet;
#X obj 194 110 metro 1000;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 6 0;
#X connect 3 0 10 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 5 0 4 1;
#X connect 5 0 8 0;
#X connect 6 0 4 1;
#X connect 7 0 0 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X restore 230 211 pd countery;
#X obj 422 191 loadbang;
#N canvas 661 149 482 332 maincounter 0;
#X obj 194 13 loadbang;
#X msg 148 12 bang;
#X obj 194 58 trigger bang bang;
#X obj 81 58 select 101;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 265 224 outlet;
#X obj 194 110 metro 1001;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 7 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 0 5 1;
#X connect 6 0 3 0;
#X connect 7 0 5 1;
#X connect 10 0 5 0;
#X connect 10 0 9 0;
#X restore 171 19 pd maincounter;
#X msg 89 176 bang;
#X msg 369 192 bang;
#X obj 263 84 loadbang;
#X connect 0 0 1 1;
#X connect 1 0 7 0;
#X connect 1 1 6 0;
#X connect 1 2 5 0;
#X connect 6 0 2 0;
#X connect 6 1 3 0;
#X connect 6 2 4 0;
#X connect 8 0 0 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 13 0 1 2;
#X connect 13 1 14 0;
#X connect 14 0 1 3;
#X connect 15 0 11 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 11 0;
Voice allocation
I've been working on a (4) voice allocation system. I built a very simple sine synth with an very basic AR envelope around it. The main purpose of this patch is to test the voice allocation.
Oh yeah, it's built to be played with the computer keyboard. Note that the keyboard layout is belgian-dutch, which means AZERTY.
Any suggestions to improve it are welcome.
cheers,
Domien.
Gemwin and keyboard
I can't answer the question exactly. But depending on the platform there's more than one way a keyboard signal can get to Pd or GEM. Objects that read the device directly like [key] in linux, take their input regardless of the focus of the window system, X-Windows in linux. Other times, if the object is reading from window events, then you have focus only when the mouse is in that window and then you get the input of the keyboard. Try different combinations of [keyboard], [mouse] and the low level [hid] to experiment with giving mouse and keyboard events different behaviours.
Gemwin and keyboard
hi, can the keyboard affect gem when gemwin is open and selected? I have tried though it seems the keyboard has no effect. If gemwin is open but a patch window is selected, however, the keyboard works as normal. Though, when gemwin open, or in fullscreen, it does not. I'm using Mac currently. I don't see why my computer's speed could halt keyboard operation here, and my computer seems fast enough otherwise. I'll be testing this with linux hopefully tonight.
Patch startup with gem fullscreen on top
I've been looking deeper, I didn't find any solution with some gemwin or internal message.
You can minimize pd main window and patches and send the gemwin message with netsend-netreceive or FUDI, or
you can resolve this problem with a dual head and putting the gemwin in the second monitor while pd main window and patches would be in the first one.
Your hardware equipment ?
I have an Athlon XP 1700+ with 1GB RAM and an original Creative Labs Audigy soundcard with an emu10k chipset. I run Fedora Core 3 with a PlanetCCRMA kernel. I use a Fostex Mixtab MIDI controller.
I have a Novation BassStation Rack monophonic analogue synth module, but a friend is borrowing it at the moment. I used to have a Korg X5 keyboard (back when I use my Amiga to make music, long before I heard of Pd), but it died. After that and before I got my non-obsolete computer I made a couple of tracks with synths borrowed from friends (Yamaha DD50, Roland EM10 maybe).
The sound reaches my ears through Spirit Absolute 2 monitors powered by a Samson Servo-170 amplifier.
I want to get a 5.1 surround sound setup soon, and an AMD64 laptop with 5.1 output, it'll be awesome. And a small MIDI keyboard would be fun, but I can't find one with a 3-octave keyboard and no expensive extra fancy controllers that I don't need, having the Mixtab.

