![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: KeyTimbre via OSC and OSC feedback not happening |
bar|none Member |
![]() ![]() ![]() Hi, so I spent the day writing a patch to connect the Snyderphonics Manta Touchplate to pacarana via OSC. Huge success. Basically it uses OSCBonjour to find and automatically configure the Manta to talk to the pacarana. I can automate vcs parameters fine using messages like /vcs/Rate or whatever. I am also able to use the other methods to map to custom OSC messages etc. I have two questions though. so I know that pacarana can respond back to me. I can control the VCS params from MAX fine, but when I change the values directly in the VCS, I'm not getting osc message feedback coming back to MAX. Any ideas? What is the significance of this number BTW? /osc/response_from 62348 Question #2: One of the key features I wanted to see in OSC was the ability to control more per Note characteristics at high resolution such as KeyTimbre like the Continuum does. The Manta for example has continuous per pad pressure data that is transmitted after a key press and would be perfect for controlling KeyTimbre. I fail to see how I can do this though. Seems that KeyTimbre, KeyDown, KeyPitch are not available through OSC. Is that true. The other way I tried was via Midi over OSC, sending to Andrew Capons Kyma MAX Object. Channel pressure and Aftertouch generate invalid message entries in the MAX log. Any ideas how to do this? I haven't tried PacaMidi beta yet but will test that next. Not sure though if pacarana will respond to these midi params or not. [edit] Ok, I tried just sending midi directly to pacarana with polyphonic aftertouch and channel pressure, but couldn't get anything hooked up to it. What is MIDIKeyTimbre mapped to? Continuum only? Thanks Chris [This message has been edited by bar|none (edited 06 March 2010).] [This message has been edited by bar|none (edited 06 March 2010).] IP: Logged |
Douglas Kraul Member |
![]() ![]() ![]() Hi Chris, MIDI control requires a mapping, normally specified by the global map fie but you can have a sound-specific one using one of the mapping script sounds. Check out the contexts of the global map file to gain some insight over what MIDI events are mapped. For example I know that after touch is assigned; not sure about polyphonic aftertouch though. BTW PacaMidi supports all legal MIDI messages. As far as the OSC parameter changes not being signaled back, did you send the parameter at least once? I believe that value changes are only returned if the listener has sent the OSC message at least once. See if that is why you initial OSC solution did not work as intended. One challenge with OSC though is that it has no concept of polyphony per say. Its tough to do per-note changes once the note begins without managing the polyphony completely on the sending side. Doug IP: Logged |
bar|none Member |
![]() ![]() ![]() Douglas, Thx for the response. Ok, I found that aftertouch maps to MidiChannelPressure and hence to !ChannelPressure. Polyphonic Aftertouch (Poly Key Pressure) doesn't seem to map to anything. I'm hoping for some polyphonic control of !KeyTimbre or other. In MAX for example the poly key pressure takes a list of note + value, so as long as the note is still on, then it should apply to that particular note only. My midi monitor calls this message aftertouch so I guess I'm not sure the terminology between aftertouch and pressure except that one is polyphonic and the other is not. As far as the OSC feedback, I did send the outgoing messages at least once but still don't get the feedback for some reason even though I did get the /osc/response_from back from Kyma on the port I specified in /osc/response_to. [This message has been edited by bar|none (edited 07 March 2010).] IP: Logged |
SSC Administrator |
![]() ![]() ![]() The argument for response_from is the port number you used to originally send the respond_to message. At this time we do not have an OSC mapping for note events, but we hope to add one in the near future. IP: Logged |
bar|none Member |
![]() ![]() ![]() That's the strange part. I sent for example /osc/response_to 8000, then I get a message back on port 8000 /osc/response_from 62827 or some other high port # like 55049, 59858. It changes every time. 8000 is being sent as an int. if I send it as a float, I get no response from the pacarana. I tried just in case it was a conversion issue. As far as Note events. Yes please, this would be wonderful since all these great controllers that can send polyphonic data and nothing that can respond to it except Kyma hopefully soon. I'd be plenty happy if it was pure OSC but if it has to be midi then the poly aftertouch/pressure would work. [This message has been edited by bar|none (edited 07 March 2010).] [This message has been edited by bar|none (edited 07 March 2010).] IP: Logged |
Douglas Kraul Member |
![]() ![]() ![]() The port number your receive back from the Paca(rana) with the /osc/response_from message is the Mac port that was used to send the respond_to message. When you use high level networking facilities in something like Max (or even objective-C writing to the OSX APIs) the transmit port number is not something you normally worry about. What happens is OSX assigns one from a pool, which is why the number you are seeing appears to be random from run to run (it will remain constant as long the port is open). For most uses the utility of the respond_from message is simply to let your application know that the Paca(rana) is paying attention. One possible use for the returned port number is in the situation where you have multiple senders on the same Mac but for some reason you want to use only a single respond_to port. Doug IP: Logged |
bar|none Member |
![]() ![]() ![]() Thanks Douglas. Makes sense. I wonder why I don't get feedback in MAX though. I send the respond_to message with a port for example 8002 which MAX is listening on. Then I change a value in the vcs using OSC as I know feedback won't come unless the parameter has been changed at least once. Then I move the fader in Kyma and Kyma does not send the feedback to 8002. IP: Logged |
SSC Administrator |
![]() ![]() ![]() Do you know if you are using the same port to send the OSC controller message as you used for the respond_to? IP: Logged |
bar|none Member |
![]() ![]() ![]() No I'm not. It was my understanding that the respond_to tells the pacarana which port I'm listening on. Should I try the same port # as pacarana is listening on? It's 9000 I believe. IP: Logged |
SSC Administrator |
![]() ![]() ![]() In order for the Paca(rana) to send responses to different applications running on the same computer (for example, if you are using OSCulator and PacaMidi at the same time), the Paca(rana) must keep a separate response port number for each source port from which it receives a message. Is it possible for you to use the same source port number for all of your messages to the Paca(rana)? IP: Logged |
ChristianSchloesser Member |
![]() ![]() ![]() Is there a way to use PolyAftertouch with Kyma now? With MIDI or OSC? I did not get it? all the best IP: Logged |
bar|none Member |
![]() ![]() ![]() quote: You mean same port as vM2/PacaMidi use? No because, the port would be bound already by them. It is totally possible for just my app to use a consistent port yes. I don't understand what you mean by source port though. That is usually hidden. I send to the port pacarana is listening on 9000, whatever port was used to send the message I have no access to listen on. It's internal to MAX for instance. Is that what you meant? Wouldn't it make sense that the pacarana responds on all ports that were communicated in a respond_to message? That's the way monome autoconfig works actually. Could you explain the way it works because I'm not sure from your question how it actually expects the handshake to work. I'm on vacation for a week, so it will take me awhile to get back to this thread. thx, Christian: I don't think poly aftertouch is available. I was asking about it as well.
IP: Logged |
SSC Administrator |
![]() ![]() ![]() By source port, I mean the port number from which you send OSC messages to the Paca(rana). When you open a socket without specifying the port number, the operating system will assign the socket a unique port number. This number will stay the same for as long as the socket is left open. In order for the Paca(rana) to send responses to different applications running on the same computer (for example, if you are using OSCulator and PacaMidi at the same time), the Paca(rana) must be able to map a source IP and port number to a destination port number. In the Paca(rana), the IP address of each device that has contacted it has a table of response port numbers. The Paca(rana) indexes this table using the source port number of the message to determine where to send the response. So, if you use a consistent, unique source port, everything will work for you. IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.