MIDI activated envelopes
Sorry to repost about this, but there is something I'm not getting.
In Csound and SuperCollider (as in any VST instrument, etc.), there are standard, built-in mechanisms for MIDI-activated envelopes -- meaning playing synths from a keyboard.
In Csound, it's the 'r' family of line and envelope opcodes. In SuperCollider, it's the 'gate' parameter of the EnvGen UGen.
What these do is:
- start the envelope when you press a keyboard key,
- keep the sustain level as long as you hold the key,
- engage the release segment of the envelope when you release the key (ie Note Off MIDI message).
When I posted about this ealier, someone kindly pointed me to the [c_adsr] object in RjLib. But RjLib is part of neither Pd vanilla nor Pd extended.
Leading me to ask:
-
Is playing synths from a keyboard something that Pd people just do not do? Those who need this use Csound or SC?
-
Or do all Pd users immediately install the RjLib after installing Pd, and use RjLib all the time?
-
Or does Pd have another mechanism for MIDI-driven envelopes that I'm unaware of and that everybody uses?
Thanks very much.
I'd be very curious to know if other Pd users have asked themselves the same question.
Output non audio and non MIDI signals outside Pd
Hello,
Thanks for your help. Ok I see how to operate.
I'm wondering if it's possible to do such a Bome's MIDI translator, or MIDI stroke-like patch : with those two, the keyboard shortcut is sent "somewhere in the system", i.e. in a layer that is directly accessible by any active application. I don't think they use specific API for specific applications. This is my feeling as I used them with various applications without any additional stuff to install.
Thus do you think it will be possible to make an API between the MIDI->keyboard patch and any application ? an API taking the keyboard order, and putting it in "basic system layer=keyboard entrance" to where any application is constantly listening to ?
(you probably understand know that I'm not informatician... ).
Thanks bye
Play Koassilator Pro from midi keyboard
My goal is to play the notes of the Kaossilator Pro from an external midi keyboard.
The problem is that the Kaossilator Pro (Korg) can receive CC messages ONLY for the PadX - PadY controls. It does not understand midi notes.
So I decided to try to face that problem with puredata (it is my very first patch...)
I want to receive the midi in notes from my keyboard and convert them to the corresponding CC values and send them to the kaos pro.
In my settings, the kaos receives pad X values on CC#26. So, in order to play the notes, I have to send the following values:
1st note: 0, 2nd note: 10, 3rd note: 19, 4th note: 27, 36, 44, 53, 61, 70, 78, 87, 95, 104, 112 and 121, for the last note (with a 2 octaves scheme set on the kaos).
If I set the kaos in C major, the notes would be:
C4: 0, D4: 10, E4: 19, F4: 27, G4: 36, A4: 44, B4: 53,
C5: 61, D5: 70, E5: 78, F5: 87, G5: 95, A5: 104, B5: 112
C6: 121
The algorithm (in C++ style) is easy:
switch(midi note received from keyboard on Channel 1)
{
case 60: // Note 1 = C octave4 (in C major)
send value 0 to CC#26 on Channel 1;
break;
case 62: // Note 2 = D octave4 (in C major)
send value 10 to CC#26 on Channel 1;
break;
case 64: // Note 3 = E octave4 (in C major)
send value 19 to CC#26 on Channel 1;
break;
case 65: // Note 4 = F octave4 (in C major)
send value 27 to CC#26 on Channel 1;
break;
case 67: // Note 5 = G octave4 (in C major)
send value 36 to CC#26 on Channel 1;
break;
[...]
case 84: // Note 15 = C octave 6 (in C major)
send value 121 to CC#26 on Channel 1;
break;
default:
do nothing;
}
send midi note velocity to CC#27 on channel 1;
The problem I face is with the velocity.
For example, if I play one note on the keyboard, the patch sends the correct value to CC26 and also sends the velocity to CC27. If I release, velocity is set to zero (on CC27) and the sounds stops. That's OK.
BUT if I play one note(let's say a C), hold it, play another one (let's say D), then release C (and keep D on), the release of C will send a zero velocity signal on CC27 and sound will stop, even if D is still pressed... as a newbie with puredata, I don't really know how to face that issue. Does anyone have a solution for that?
use a counter maybe?
Furthermore, I have absolutely no idea whether there is a much easier way to implement a switch/case statement with puredata or if what I did is OK. The patch is attached.
Thanks in advance!
Using Pd in the classroom
You should be able to daisy chain MIDI keyboards using the Thru inputs. If each one is on a separate MIDI channel then you should be able to have sixteen keyboards connect to one MIDI input on your computer. You could use a MIDI to USB converter if you need it (most MIDI keyboards these days should have a USB out, though). So if you have two USB ports, that should be enough. Also, if you have keyboards with a wide enough range, you might be able to save a few bucks and just split the keyboard in Pd via [moses] so one kid plays on the low keys and another plays on the highs. Or maybe you can find a creative way to have one play the keys while the other fiddles the knobs/sliders.
I don't really know the best way of getting 20 headphone outs without using an expensive headphone distribution amp. Maybe someone else has an idea there. But as far as [dac~] is concerned, you can give it arguments for each output. So [dac~ 1 2 3 4] will create four inlets corresponding to the first four audio output channels.
Handy little oxygen8 midi middleman patch
hi guys! so i've had an oxygen8 for a few years now and i see them everywhere, so i'm sharing this handy little patch i made.
basically you're stuck with 8 knobs, and two sliders (modwheel and data entry). all this patch really does is takes the keyboard's input, numbers those 8 knobs and 2 sliders in sets of 10, and lets you switch between those sets with the hradio for up to 120 different controller values. the key input is passed straight through so even when you switch between various controls you can play the keyboard consistently.
even if you don't have an oxygen8, this patch will give you a little selfcontained set of sliders that you can use as a midi controller... so it's still useful for when you're not at home with your keyboard, or if you don't even have one.
basically all this patch does is take those 10 controls and lets you switch between 12 sets of them. it's useful for me in ableton so when i need to map more parameters than i have knobs for, i can assign more, and the numbering system is much easier to stay on top of than the default control values for those knobs (it's like 17, 80, 74, no consistency it seems).
on linux you should be able to jack the keyboard to pd's midi in, then jack the output to wherever you want. i'm currently on windows and i select usb keyboard in for input, and loopbe for output.
the numbers do nothing but change when you switch the hradio - the sliders are the corresponding controls (with the mod wheel as slider 9 and the data entry knob as slider 10).
come to think of it i don't think i tested the pitch bend wheel, i've been using this patch almost entirely for parameter controlling and not playing the oxygen8 notes at all. [notein] is patched directly into [noteout]
any questions/comments/ideas please, post them. this is a real quick patch i put together that worked almost better than i wanted it to but it can be very expanded upon. i was going to add symbols so you could tag/name all 120 controls but i was having trouble figuring out a way to store them and recall them, and send/receive to the symbols... so i just scrapped that.
basically all i do is make a tiny pd window and make [SCET], and just have that sitting at the bottom of the screen under my DAW (in this case ableton).
i haven't run into any conflicts yet for the most part but it's possible the controller numbering system might conflict with certain apps/synths/etc.
cheers guys!
Tilde on mac in PD?
in osx 10.4
To access Keyboard Viewer:
1. Choose Apple menu > System Preferences and click International.
2. Click Input Menu, then select the checkbox next to Keyboard Viewer.
3. Select the On checkbox next to the language whose keyboard layout you want to use.
4. Choose Show Keyboard Viewer from the Input menu on the right side of the menu bar (the one that looks like a flag).
Tilde on mac in PD?
This topic is a total joke.
There is a keyboard viewer and a character viewer in OS X. the character viewer displays all characters in the world where you can copy/paste them into your current document and the keyboard viewer shows where on your (local) keyboard that character is in any font. You can display both apps in the menu bar if only you activate (click) to do so in the keyboard control panel.
Seriously, if you don't know how to use your computer, how will you be able to do anything with it?
Tilde on mac in PD?
Hi,
I have Czech keyboard on my MacBook Pro and finally i found how to make it!!!
(no problem on Czech keyboard but i prefer U.S. for faster object insertion)
Try "Shift" and "\" (Left Shift + that key next to it on U.S. keyboard mode)
I hope this should work on your mac, i have my mac only short time and i've found the Keyboard Viewer as very usefull...
Cheers
MIDI weird issues with arduino + PD (not pduino)
i'm not shure this is your case because it seems you're using a midi software synth and a sensor but i know that "if you hear double notes when playing your MIDI keyboard, (slapback echo or flanging, the chances are that MIDI Thru in your sequencer and Local Control on your keyboard are not set up correctly. This causes the keyboard to sound two notes - the one you play on the keyboard and another being echoed from the computer...
On your keyboard you need to switch Local Control to Off. This disconnects the keys from the sound circuitry so sounds can only be played via messages arriving at its MIDI In" (http://www.practicalpc.co.uk/computing/sound/miditop5.htm)
but i'm not so shure this helps... what midi module are you using? is it hadware or software stuff? you can try to monitor icoming midi messages with midiox to check that everything is going right
Simulate MIDI keyboard functionality
Hello all,
This seems like a simple problem, but I'm having a hell of a time figuring it out. I want to be able to use my computer keyboard as a MIDI keyboard. What I essentially want to happen is while the "c" key is pressed, do this:
|60 100(
|
[noteout 1]
(but don't continually bang it!)
and when it is released, do this:
|60 0(
|
[noteout 1]
I can envision a simple logical test - 1=note on, 0=note off - but all of my attempts lead to the note on continually banged (I notice this in the key-help.pd file).
This all relates to a larger issue I'm having: how do you fire off one bang when continuous data is being received?
Any help is greatly appreciated.
hdez