Generate MIDI clock messages from PD
I am trying to sync through MIDI my PD patches and some hardware equipment. The reason is that PD generates music and I jam to it with instruments connected to effects and samplers. The problem is that those samplers and effects are BMP dependent and need this information to perform.
How can I send MIDI clock messages from PD?
I can't seam to find a way of doing this with [midiout] and [noteout].
I am using Win7.
p.s. I believe I found some hints that on linux using [midiout] it is possible to do this, but is this exclusive for linux or possible on Win too?
Midiout out channel?
Hey There,
I'm running a [seq] object into a [midiout], and im trying to change the midi channel [midiout] uses. I tried using a midiformat, but the midi notes dont seem to pass through it. I also tried using a noteout instead, attached to the [seq] object. But in the help it says that noteout doesnt work supposedly. Do you perhaps have any idea how I can change the midi channel for midi out?
Hopefully the attached screenshot will help me explain myself.
Thanks
http://www.pdpatchrepo.info/hurleur/Screen_shot_2011-05-15_at_02.26.55.png
Writing a a incoming variable number into a string that being output
Im trying to route my incoming control values from my wireless control into a custom midi string that being output via [Midiout] but i am unsure how to write this is looks something like this.
[numerical data coming into PD]
|
(i will use "CV" to stand for the incoming data)
|
string that is being output as data comes in via message
[240, 67, 16, 62, 127, 1, 28, 0, 0, 0, 0, 0, "CV",247]
| 0
| |
[drip]
| 0
| |
[midiout]
i just not sure how to represent the incoming variable data inside my message
any help would be much appreciated.
Send and receive global and local far down the rabbit hole + questions
@billystiltner said:
I guess I should have said vanilla except for my own externals.
That is, in fact, what I thought you meant.
There are some things in PDX that would make things so much nicer like the graphical envelopes, and image, but do all of these work well on all operating systems?
Well, no, but that's not exactly across the board. There's a lot in Pd-extended. The majority of it is cross-platform. If it's an issue, you can always just test on other OS's. Besides, I don't really know of much software that is exactly the same across all platforms.
Is anyone aware that midiout on windows is broken? song position pointer and continue do not work. This was tested not with the latest version of PD but an earlier version. start and stop do work though as well as midi clock.
Case in point. [midiout] is vanilla.
Sysex
thank you! i've been trying for AGES to get Pd to communicate via sysex with my korg microkontrol and didn't realise sysexin / midiout would work.
One problem I encountered, however, was that not every piece of software and hardware recognises the decimal-formatted sysex output from Pd. Midi Monitor recognises it, for example, but Sysex Librarian doesn't, and neither does my microKontrol.
As a workaround, I'm routing the sysex output from Pd into a Max patch which contains a midiin object connected directly to a midiout: although the sysex data isn't being changed in any way, when it's sent out by Max it's recognised by all my software and hardware (including the microkontrol). It's a bit of a hack, but is relatively straightforward and means that i now have full in/out sysex functionality from Pd.
PD vanilla 0.42-5 - PortMidi midiout 'loses' (re-orders) bits
WinXP Pro SP3
Pd version 0.42-5
17-Jan-07 version of PortMidi
hey everyone,
I've been working with PD vanilla 0.42-5 - PortMidi midiout last night, trying to figure out why it wouldn't work with my AKAI MPD 24 properly. Here's what I found:
Patch (as attached:)
240, 71, 0, 104, 49, 0, 11, 8, 0, 0, 72, 97, 108, 108, 111, 32, 32, 32, 247
|
midiout
And to check the results, i used: midiout -> Midiyoke -> MidiOX (all latest versions)
Problem
The message I sent (which was a valid MPD 24 SysEx message, double-checked several times from MidiOX directly) was DEC
240, 71, 0, 104, 49, 0, 11, 8, 0, 0, 72, 97, 108, 108, 111, 32, 32, 32, 247
and should convert have converted to HEX
F0 47 00 68 31 00 0B 08 00 00 48 61 6C 6C 6F 20 20 20 F7
instead, it comes out HEX
F0 47 00 68 31 00 02 08 00 00 52 61 6C 6C 1B 20 20 20 F7
- with 3 wrong HEX pairs.
What happens
I looked a bit at the first number, DEC 11 that should come out HEX 0B but comes out HEX 02
here's how it behaves in reverse engineering:
when i send DEC 0, 1, 2 or 3, it comes out HEX 0
when i send DEC 4, 5 6 or 7, it comes out HEX 1
see table:
DEC .. DEC -> HEX
00 .. 03 -> 00
04 .. 07 -> 01
08 .. 11 -> 02
12 .. 15 -> 03
16 .. 19 -> 04
20 .. 23 -> 05
24 .. 27 -> 06
28 .. 31 -> 07
32 .. 35 -> 08
36 .. 39 -> 09
40 .. 43 -> 0A
44 .. -> 0B
etc.
When you look at the BIN, it becomes obvious what's happening:
DEC (BIN) .. DEC (BIN) -> HEX (BIN)
00 ( 0) .. 03 ( 11) -> 00 ( 0)
04 ( 100) .. 07 ( 111) -> 01 ( 1)
08 ( 1000) .. 11 ( 1011) -> 02 ( 10)
12 ( 1100) .. 15 ( 1111) -> 03 ( 11)
16 (10000) .. 19 (10011) -> 04 ( 100)
20 (10100) .. 23 (10111) -> 05 ( 101)
.. two bits at the end are truncated.
It wouldn't surprise me if we found them somewhere in the other 'wrong numbers' ofthe original message.
When I manipulate the numbers to come out correctly in MidiOX, my MPD 24 will happily accept the sysex and execute it so the probelm is definitely not MidiOx or Midiyoke.
Questions
- can anyone confirm this?
- is anyone currently maintaining PortMidi, so this could maybe get fixed?
thanks
groovelastig
http://www.pdpatchrepo.info/hurleur/sysex-conversion_vanilla.pd
How to trigger ableton clips??
I working on patches that interface with my Korg PadKontrol so I pulled out a piece that might help you out... this is just for sending out note data, if you what to send CC data (to control the sliders in ableton) then use [ctlout] instead of [noteout]
-Kai
Midiout
In my last post I made a mistake.
Midiout is a universal out of raw MIDI data. This only works on Linux. Since I am on using windows, I am not sure exactly how to send messages through [midiout].
If you are are on windows(i know) or mac(i think) you wil nedd to use the [noteout] to send note data [ctlout] for controler info [prgout] for program changes etc.
So if you want to send MIDI note 60 at velocity of 100 to channel 2 you can
[60 100(
|
|
[noteout 2]
or you can leave [noteout] blank and include the channel in the meassage.
Check out the reference files for noteout for full use desciption.
Midiout
Ok,
thanks for all this information.
To link between the two programs, I already use Midi Yorke, it work fine.
But I don't know what is the difference between the midiout object and the noteout object...
And I don't know how to specify a channel for each midi object. For example, if I want to use the channel number 2, do I write "midiout 2", or something like that ?
Midiout
As far as I know, you will need to specify one channel per midiout.
To route between two programs on the same machine try LoopBe1(windows only i think) from http://www.nerds.de/en/loopbe1.html
I use it in some kiosks with heavy use. Free for non-commercial application.
It sets up a virtual MIDI driver which you can select as a MIDI out device in PD, and I assume a MIDI In for fruity loops.
I know it works with PD, Director(with MIDIioXtra), and Reason 4.
However, I have had trouble with it if using the midiout object. Works fine with noteout, ctlout, etc.