unable to switch to current window (do you have one?), cannot render! - ERROR MESSAGE
@csunflowert Are you sending the message [create 1( into [gemwin] first....... see the gemwin-help file...... right-click the [gemwin] object and select "help".
David.
Patch that will play different chords with [midi] input
Hello dear PD patchrepo community !
I'm currently trying to make a PD patch that will basically produce different chords when I use different keys on my midi keyboard. I stumbled upon one patch which seems to be a good basis for my work so far but it's too limited ; I'm not very technical savy ( more of a musician actually ) but for my course ( bachelor in sound engineering ) I'm supposed to make a patch that generates chord when I play a note on my MIDI keyboard.
I'd like to generate different chords ( for example minor chords, major chords, and scales for example ) which would be triggered when I use keys on my midi keyboards; do you think this is feasible ?
So far this is what I got;
Just to make it clear for example I'd like my patch to generate a C major seventh cord by inputing the C key on my midi keyboard and add more versatility to my patch by adding extra functionalities such as being able to make a reversed chord too...
I'm struggling to build this patch and any help would be greatly appreciated !
Thanks a lot !
NoxSiren - Modular synthesizer system <- [v15]
NoxSiren is a modular synthesizer system where the punishment of failure is the beginning of a new invention.
--DOWNLOAD-- NoxSiren for :
-
Pure Data :
NoxSiren v15.rar
NoxSiren v14.rar -
Purr Data :
NoxSiren v15.rar
NoxSiren v14.rar
--DOWNLOAD-- ORCA for :
- x64, OSX, Linux :
https://hundredrabbits.itch.io/orca
In order to connect NoxSiren system to ORCA system you also need a virtual loopback MIDI-ports:
--DOWNLOAD-- loopMIDI for :
- Windows 7 up to Windows 10, 32 and 64 bit :
https://www.tobias-erichsen.de/software/loopmidi.html
#-= Cyber Notes [v15] =-#
- added BORG-IMPLANT module.
- introduction to special modules.
- more system testing.
#-= Special Modules [v15] =-#
- BORG-IMPLANT (connects ORCA MIDI system to NoxSiren system)
#-= Current Modules [v15] =-#
- VCO (voltage-controlled-oscillator)
- VCO2 (advance voltage-controlled-oscillator)
- WAVEBANK (additive synthesis oscillator)
- ADSR (Attack-Decay-Sustain-Release envelope)
- C-ADSR (Curved Attack-Decay-Sustain-Release envelope)
- CICADAS (128 steps-Euclidean rhythm generator)
- CICADAS-2 (advance 128-steps polymorphic-Euclidean rhythm generator)
- COMPRESSOR (lookahead mono compressor unit)
- DUAL-COMPRESSOR (2-channel lookahead mono compressor unit)
- STEREO-COMPRESSOR (lookahead stereo compressor unit)
- MONO-KEYS (virtual 1-voice monophonic MIDI keyboard)
- POLY-KEYS-2 (virtual 2-voice polyphonic MIDI keyboard)
- POLY-KEYS-3 (virtual 3-voice polyphonic MIDI keyboard)
- POLY-KEYS-4 (virtual 4-voice polyphonic MIDI keyboard)
- POLY-KEYS-5 (virtual 5-voice polyphonic MIDI keyboard)
- POLY-KEYS-6 (virtual 6-voice polyphonic MIDI keyboard)
- BATTERY (simple manual triggered machine for drumming.)
- REVERB (reverb unit with lowpass control)
- STEREO-REVERB (stereo reverb unit with lowpass control)
- RESIN (advanced rain effect/texture generator)
- NOISE (generates black,brown,red and orange noise)
- NOISE2 (generates yellow,blue,pink and white noise)
- COBALT (6-stage polyrhythm generator)
- SHAPER (basic shaper unit)
- FOLDER (basic wave folding unit)
- STEREO-FOLDER (stereo wave folding unit)
- DUAL-FOLDER (advance wave folding unit)
- POLARIZER (transform a signal into bi-polar, uni-polar, inverted or inverted uni-polar form)
- CLOCK (generates a BPM clock signal for sequencing other modules)
- CLOCKDIVIDER (a clock divider with even division of clock signal)
- CLOCKDIVIDER2 (a clock divider with odd division of clock signal)
- DELAY-UNIT (delay unit)
- STEREO-DELAY (stereo delay unit)
- CHORUS (chorus unit)
- STEREO-CHORUS (stereo chorus unit)
- SEQ (advance 16-step/trigger sequencer)
- KICK (synthesize kick unit)
- KICK2 (synthesize flavor of KICK module)
- KICK3 (synthesize flavor of KICK module)
- SNARE (synthesize snare unit)
- CLAP (synthesize clap unit)
- CYMBAL (synthesize cymbal unit)
- RAND (RNG generator for other modules parameters)
- FMOD (feedback modulation unit)
- AM (amplitude modulation unit)
- RM (ring modulation unit)
- LFO (low-frequency-oscillator)
- LFO2 (advance low-frequency-oscillator)
- COMBINATOR (combine two waves)
- COMBINATOR2 (combine three waves)
- COMBINATOR3 (combine four waves)
- STRING (Karplus-Strong string synthesis unit)
- STRING2 (advance Karplus-Strong string synthesis unit)
- DETUNER (parametric 4-channel detuner unit)
- CRUSHER (basic audio resolution unit)
- STEREO-CRUSHER (basic stereo audio resolution unit)
- DUAL-CRUSHER (advance audio resolution unit)
- FILTER (basic filter)
- VCF (voltage-controlled-filter)
- MAR (Moog-analog-resonant filter)
- VCA (voltage-controlled-amplifier)
- DUAL-VCA (advance voltage-controlled-amplifier)
- FMUX (multiplexer with fast A/D internal envelope)
- MMUX (multiplexer with medium A/D internal envelope)
- SMUX (multiplexer with slow A/D internal envelope)
- FDMX (demultiplexer with fast A/D internal envelope)
- MDMX (demultiplexer with medium A/D internal envelope)
- SDMX (demultiplexer with slow A/D internal envelope)
- MIXER (mix 1-4 possible waves)
- SCOPE (oscilloscope analyzer)
- MASTER (fancy DAC~)
- BOX (useless decorative module)
NoxSiren integrated modules menu system.

Closing patches without Pd crashing, hopefully in an elegant way...
Windows only Pd 32-bit only solution
(It relies on the windows keyboard/mouse apis).
gone.zip
The c file is there for anyone that can compile for windows... and I will have a go without any confidence at all.
Put input_event.dll and [input_event-help] into one of your Pd standard search paths.
It might need key numbers changing for your keyboard.
It sends Ctrl+W to the focused window....... so will need the [vis 1( message as provided...... to focus the window before sending the key events (if another patch has focus).
So it does exactly the same a clicking the red X to close the patch.
Your keys might not have the same numbers in your api so you might need to experiment using [key] and [key] doesn't return a value for Ctrl for me.
I used the value for Ctrl_R but I don't have that key on my keyboard.
The value for Ctrl_L did not work for me.
[input_event] can do mouse stuff as well...... see its help file.
For Linux and Mac there were suggestions for achieving the same result in the place where I first found the link to [input_event].......
http://codelab.fr/6655
In French but Google translate will give you a clue.... post back and ask if unsure.
David.
[key] ... resolve problem with OS repeating key numbers alternately.
[key] on my computer can send streams of key numbers that cannot be stopped with [change].
Pressing key numbers 3 and 4 and 5 at the same time can (not always) send 3 4 5 4 5 4 5 4 5......until released.
[key-debounce] key-debounce.zip creates a separate [change] in [bonkers] for each key...... from 0 up to 300 (probably excessive), which is reset by the [keyup] number for that key.
This should be useful if you are trying to make a virtual keyboard.
Vanilla only.
Here is a basic virtual polyphonic keyboard for testing...... virtual-keyboard.zip (requires synth or soft synth....... sends midi from Pd to the device you set in Pd settings).
Maybe someone will find a better solution?
David.
Scalar keyboard for Purr Data
I would like to share my little keyboard abstraction.

Visualizes MIDI notes in and sends out MIDI out from computer keyboard (polyphonic) and mouse. Tested and fully functional on Windows 10 with Purr Data 2.5.1 but sadly the overlapping scalars where very glitchy in vanilla so I did not bother fixing it.
audio error when external monitor is plugged in
Hi again, and thanks for your suggestions.
I tried lowering the gemwin fps from 60 to 20, which I believe is the default for gemwin, but that didn't help. I still got an audio error with crackling.
I also tried slowing down the flashes. Also, no luck.
What I did find out is that the error only occurs when the gem window is positioned on the other monitor; having been dragged with the mouse before I've set the patch in motion. This error also occurs if I drag the gemwin around while my patch is functioning with the metro without any monitor connected. In other words, it's clear that simply having the external monitor connected and functional is not the cause for the error. It seems to be an issue with coordinating the video signal with another monitor, or when the gemwin is being interfered with while the patch is in progress irrespective of the connection of an external monitor. This may not seem like a revelation, but at least I know it's not simply the presence of the second monitor attached to my computer that's causing the audio error. I'll keep trying things. Thanks for offering to run the patch on your own system. I'll upload it, but I don't know how useful it will be as you won't have all the audio that's probably encumbering the system. For that I'd also have to upload the sound files - about 8 cello samples. Anyway, here's the patch, and thanks for your help .Study no 3 draft4.pd
'Swallow' keyboard key press
Thanks David, I agree that midi keyboards and controllers are cheap and convenient. I also have touchOSC.
My quest with the qwerty keyboard is more for the sake of geekness than practicability.
With glovepie my script would use scroll lock as a toggle: when off it's a typing computer keyboard and when on events are swallowed and turned into midi messages. I then use the mouse to control what happens on the screen.
One of my uses is that I have a second qwerty keyboard connected to the PC that is lying on the floor (the computer doesn't make the difference between 2 keyboards). With just one scroll lock press then each third of the keyboard surface is mapped to one midi note: that's how I have a puzzling looking wireless effect footswitch! 
I also had a mouse footswitch in the same fashion, it's great fun to kick those interfaces. And they come for free as you can still make use of them when people discard them because some keys are defective..
I'm discovering Auto Hot Key now and it seems it may be the answer to my needs.
keyboards GUI for MIDI
@gsagostinho hahahaha Gilberto sorry for Guilherme ... 
I use externals binaries included in deken, but we have only linux 64 bits versions of ggee and cyclone compiled there. So I did only Linux 64 bits version of keyboards GUI, if someone have these libraries compiled in 64bits on MAC and/or WIN, please include binaries in the 64 bits version. 
ps.: @gsagostinho are named correctly now. 
32 bits (Linux, Windows, Mac):
keyboards-pd-vanilla-32bits.zip
64 bits (Linux Only)
keyboards-pd-vanilla-64bitsLinuxOnly.zip
Cheers
Questions: Batch Array Creation/Assign
@jjegede01 Hello again...... as @LiamG said recently........ abstractions.
This should get you on your way...... (open "keyboard.pd")
"read_from_abstr.pd" is an abstraction that contains an array which can be played by sending a message (in this case from the parent patch "keyboard.pd").
"put_dynamic.pd" shows you how to create and destroy the abstactions dynamically.
keyboard.zip
David.


