Numerology Store    Download  Video    Forum


Go Back   Five12.net -- Online Forum for the Numerology Music Sequencer > Numerology > Feature Requests

Reply
 
Thread Tools Display Modes
  #11  
Old 11-25-2008, 07:51 AM
sonomute sonomute is offline
Member
 
Join Date: Nov 2008
Posts: 74
Default

Hello again.

I also think if you will add OSC support to Numerology it will move it to the next level and more people working in areas of computer music/sound art will be interested in it.

I`m using for the moment TouchOSC software for Iphone, which is kind os multi touch control surface(client) sending osc messages to computer(host).

Because OpendSoundControl by it`s nature network protocol Numerology must be able to work as network server/host. Basic parameters defining host must be- host name (i think it will work even without name, but in case somebody using couple of different progs it can be handy),IP adress, port. Protocol means something universal, kinda language, it has structure, and since host understand this language and can reroute messages it gets from client to different parameters of it`s own it is no matter what other software in use.

More about protocol here:
http://opensoundcontrol.org/

also you can find there a lot of different libraries for most of programming languages to implement OSC in your projects.

I will be glad to assist you in searching information and testing if you need such a help. I`m not a programmer, even if i have some basic knolege about Python as well as Max/Msp, PureData, Supercollider and some others...

We can build example patches for max and PD for people who want to start to use numerology with their soft.

Also, i`m sure that people from Monome community will be happy to use their beautiful controllers (OSC based of course) with numerology, it is very similar paradigm in a way...

http://monome.org
Reply With Quote
  #12  
Old 11-25-2008, 05:24 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,491
Default

Quote:
Originally Posted by steff3 View Post
>>
How about an expandable list of messages
>>

Well, just to make sure I understand that - you mean you assign messages to pitch so that pitch A triggers one command/message and pitch B another? And therefore you can also use the velocity as another value?
Something like that, each entry in the table would have (at least):

• A minimum note number
• A maximum note number
• An OSC message (OSC address, type tag, args)

Anytime the module gets a note on message, it looks up any OSC messages that respond to that note and sends them. I would implement an expression so you could insert velocity values into the OSC message. For example, in "/some/device/name ,f <V>" the "<V>" would be replaced with the velocity value. Of course, pitch values could be used also, making it easy to generate OSC 'note' commands.

Also, I could easily extend Numerology Note messages to include "extra values", such as CC values from the Mono/Poly note, so then you could generate OSC messages with multiple values. A Note message would then look like this:

[Note On, <note number>, <velocity>, <cc1>, <cc2>, <cc3>]

The appeal to me of using Notes to trigger OSC messages is that it allows a great deal of reusability of what we have already: a lot of ways to generate and process notes.

Now, this does not preclude the existence of a CV/Gate based module to generate OSC, I think that has its place also, but the note based approach makes it much easier to pack lots of messages into one module, trigger multiples of them with single events, etc.

Quote:
Originally Posted by steff3 View Post
It depends how readable it is. I think this is a very important point - having already the whole Max/MSP-cluttering, x message-channels and so on, I think it is important that readability is better than if I would do the same in Max (which can be basically down, but ...)
Besides that, if you get the message command on pitch and another value on velocity - that is about the same as you get in the Matrix sequencer - as there is also a velocity. (ok, there you might have the problem that all commands in one step only have one velocity like with poly note).
Of course, readability (and usability) is very important. I don't know exactly what this module would look like but it would just be some sort of table, with columns for the note range, and the OSC message itself.

Quote:
Originally Posted by steff3 View Post
I think - like with 'MIDI/CV' seq (well, they output to MIDI) it would be great if there were also different approaches to OSC-related sequencers. For me one concern would be to have a readable measure-based approach.
I like more the idea of triggering behaviour/gestures etc. - so to send a single value with that command might not always help at all. Instead I might use a tag to trigger a pre-recorded or designed 'behavioural sequence' so to say. (e.g. something in ftm or so)
ftm??

I much prefer to keep OSC generation outside of a sequencing module -- Not only are sequencing modules a lot of work to build and maintain (despite lots of reusable code), embedding OSC generation inside a module would subvert the benefits that come with modularity. I did implement some 'embedded' behavior with CC messages in the NoteSequencers, but only as a convenience, and only well after the standalone CC Gen module had been created. I expect OSC's presence in Numerology will evolve in a similar manner: first a small set of key modules to cover a large range of applications, then later augmented by some built-in behaviors, once a set of standard usage patterns have evolved.

Quote:
Originally Posted by steff3 View Post
Another concern is - but very theoretical at this point as I think one has to see that in an actual project - if and how Numerology could be integrated into a subnetwork that does debug messaging. Lately I really start to set up such networks to print out the messages to see if there is an error in the scheduling etc. So one could pin the debugging at the border between Max and Num but that might not catch all problems. Well, I think something like that has to be seen in an actual project - but maybe some others also have their approaches and want to share ....
Well, that just argues for a log. Numerology already has one for me to debug with, but here I'm thinking more of a user log -- a window that you can open and see events like MIDI, OSC, Transport start/stop etc.

Cheers,
Jim

Last edited by jim; 11-25-2008 at 05:27 PM.
Reply With Quote
  #13  
Old 11-26-2008, 03:44 AM
steff3 steff3 is offline
Member
 
Join Date: Nov 2008
Posts: 75
Default

>> ftm??

faster than music

http://ftm.ircam.fr/index.php/Main_Page

generally speaking it is a Max/Pd etc. extension to deal with matrices, tables etc. You can make, manage and use multidimensional sets of data - like gestures. motion paths etc. it is a bit like the Max 'coll'-object - but more powerful .....


What you describe there is pretty much a Look Up Table - if I am not totally mistaken. ('it looks up any OSC messages that respond to that note and sends them') So, it seems it is what I did until now with MIDI - just with higher resolution and now the LUT is within Num and no longer within Max.
the higher resolution is of course beneficial.



>>I much prefer to keep OSC generation outside of a sequencing module --

Of course open modules would be great - you have one module for CV/MIDI or OSC - you go for that with maybe an settings in the extended settings options or with an extra module. And of course modularity within this palettes is also very diserable.

But then OSC has dimensions that MIDI/CV do not have - like text string commands, tags etc. And those help readability. I think they are not the 'one and only' thing, but it would be really great to support them this way.
And Max/MSP-Jitter and Pd etc. do have modalities that are beyond MIDI and CV - visuals, matrices, etc. (However the thing they fall short is the support for a great readable meter based timeline)

I made a mockup - is it possible to paste it here?

thanks
Reply With Quote
  #14  
Old 11-26-2008, 12:44 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,491
Default

Quote:
Originally Posted by steff3 View Post
>> ftm??
I made a mockup - is it possible to paste it here?
thanks
Yes. I just bumped up uploadable image sizes to 1000x1000, 1MB total file size.

Jim
Reply With Quote
  #15  
Old 11-26-2008, 01:02 PM
sonomute sonomute is offline
Member
 
Join Date: Nov 2008
Posts: 74
Thumbs up

I`m really sorry to interrupt, guys, it looks like you have very interesting conversation here but if you allow me to say...

OSC is a protocol, MIDI is a protocol.

There is no need to make ANY special modules for OSC, it`s just sounds strange...it is the same thing as to do "special modules for MIDI", see what i mean? Most of modules in it "special for MIDI" )) Just add support for OSC to your program, it is so great and will become even greater! Add access to all parameters of every module in every rack, give them names, for example Stack1/MonoNote1/Gate/1 0.46 and so on, let the software send all the data to specific port and allow to make changes in this data from external sources...no need in super complicated modules in this case, it is very easy to manipulate OSC data in max/msp for example

My point is- if you will build special module for OSC it will not be full support of OpenSoundControl, more like "limited support of OpenSoundControl"...what?why limited??

Just take a look at first part of Wwinfrey post, that`s what we really need here...only still no need for "OSC" module.

I hope i`m not insulting anybody...Just trying to clear things...

I`m MA student of "sound in new media" program of Helsinki university of art and design, it does not mean that i`m smarter than somebody else, just studying software design prototyping in specific area of music, interactive and performative art.

And it will be really cool to hear some answer to my post in "silly questions" (oh, sorry-General questions. Presets and timeline not functional only in demo mode or it`s bug?

Thank you! This is wonderful piece of music software, i will buy it right after it will leave beta stage(hopefully with OSC implemented))
Reply With Quote
  #16  
Old 11-26-2008, 01:55 PM
steff3 steff3 is offline
Member
 
Join Date: Nov 2008
Posts: 75
Default

Ok,

>> Yes. I just bumped up uploadable image sizes to 1000x1000, 1MB total file size.>>

how? the image button in the message editor wants a link - no upload ...


>>sonomute:
OSC is a protocol, MIDI is a protocol.

There is no need to make ANY special modules for OSC, it`s just sounds strange...it is the same thing as to do "special modules for MIDI", see what i mean? Most of modules in it "special for MIDI" ))
>>

Interesting, I partly disagree. And no, I do not see what you mean .... You are right that OSC, MIDI - and also CV if you like - are somehow protocols. As Jim once pointed out - Num does not generated MIDI but 'CV' and translates that. And of course - there are special modules for MIDI - lots of them - the CV 2 MIDI modules or MIDI 2 CV (Note Gen, CC Gen, MIDI To CV - if that is not exactly special purpose modules to translate between two protocols and support features of each protocol?). There is a whole punch of extra modules for MIDI and some modules (e.g. in the NoteSeqs) have those special functionality built into them.
And you can use program change messages, because it is part of the MIDI protocol and implemented in different ways into Num. And you can use MIDI clock, because it is part of the protocol and is implemented.

So what speaks against adding support for things that are part of the OSC protocol? hmmm .....



Anyways - if we look at the matrix sequencer - you have the column with the note numbers and note names and there is a switch in the extended settings to switch to custom names. This would make it easy to look into the row and everytime a step is active - instead of sending the MIDI note number or pitch CV - have the possibility to take that custom name and send it via OSC. Also the Mute button if the MatrixSeq would be hand for conditional relations. (though readability might be a concern in the Matrix interface).

This was generally the idea behind my mockup. I made the custom name field wider so that you can enter a longer name/tag/command (without getting the chopped off) in there which gets triggered each time a step is set.
Now, there is the question how to add the full message - and I think it would be logical to add an OSC input/output and some OSCprepend and OSCroute modules (sorry, it is pretty much how those are called in Max/MSP).
But maybe it it would be interesting to also be able to compose a longer message in the extended settings of the seq. Or have multiple OSC tag outputs on the back and use other OSC message modules.

Thanks for considering ....

best

Last edited by steff3; 11-26-2008 at 02:00 PM.
Reply With Quote
  #17  
Old 11-26-2008, 04:28 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,491
Default

Quote:
Originally Posted by sonomute View Post
I`m really sorry to interrupt, guys, it looks like you have very interesting conversation here but if you allow me to say...

OSC is a protocol, MIDI is a protocol.

There is no need to make ANY special modules for OSC, it`s just sounds strange...it is the same thing as to do "special modules for MIDI", see what i mean? Most of modules in it "special for MIDI" )) Just add support for OSC to your program, it is so great and will become even greater! Add access to all parameters of every module in every rack, give them names, for example Stack1/MonoNote1/Gate/1 0.46 and so on, let the software send all the data to specific port and allow to make changes in this data from external sources...no need in super complicated modules in this case, it is very easy to manipulate OSC data in max/msp for example
I'll definitely be doing something like that -- responding (and optionally sending) a fixed set of messages for all 'remote-able' parameters, but there are definitely cases where having a separate module makes more sense.

For instance:

- You may want to generate OSC 'controller' messages to send to a device (software or hardware), derived from a CV signal in Numerology -- which could be any combination of sequencer CV's or LFO's, envelopes, etc. Having the OSC equivalent of the CC Gen module is the most suitable choice here.

- Or, you may have an OSC device where you have some number of messages that you want to be able to trigger on an "as necessary" basis. If it is just one or two messages, then a "trigger this OSC message when I get a gate" module would be sufficient, but for larger groups of messages, using Notes seems like an ideal technique, as it re-uses an event mechanism that many modules in Numerology already support.

- Or, you may have an OSC device that sends messages, and you want Numerology to be able to detect them and extract useful information. For that case, you would want an OSC equivalent of the MIDIToCv module.

Quote:
Originally Posted by sonomute View Post
My point is- if you will build special module for OSC it will not be full support of OpenSoundControl, more like "limited support of OpenSoundControl"...what?why limited??

Just take a look at first part of Wwinfrey post, that`s what we really need here...only still no need for "OSC" module.

I hope i`m not insulting anybody...Just trying to clear things...
No problemo -- better to get the detailed feedback on this feature now rather than later... (also see comment below)

Quote:
Originally Posted by sonomute View Post
I`m MA student of "sound in new media" program of Helsinki university of art and design, it does not mean that i`m smarter than somebody else, just studying software design prototyping in specific area of music, interactive and performative art.

And it will be really cool to hear some answer to my post in "silly questions" (oh, sorry-General questions. Presets and timeline not functional only in demo mode or it`s bug?
I just responded, see my post there...

Quote:
Originally Posted by sonomute View Post
Thank you! This is wonderful piece of music software, i will buy it right after it will leave beta stage(hopefully with OSC implemented))
Cool -- Also, I'd like to mention that I'm very happy with the feedback I'm getting on this thread. Although the OSC spec is a pretty easy read, since I don't have much experience actually using OSC, I am depending somewhat on those of you that have more experience with it to point me in the right direction.

Which, btw, does anyone know of any conventions in the OSC world for sending notes, or is it always ad-hoc?

Cheers,
Jim
Reply With Quote
  #18  
Old 11-26-2008, 06:06 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,491
Default

Quote:
Originally Posted by steff3 View Post
Ok,

>> Yes. I just bumped up uploadable image sizes to 1000x1000, 1MB total file size.>>

how? the image button in the message editor wants a link - no upload ...
Weird, I'll look into it....

Quote:
Originally Posted by steff3 View Post
Now, there is the question how to add the full message - and I think it would be logical to add an OSC input/output and some OSCprepend and OSCroute modules (sorry, it is pretty much how those are called in Max/MSP).
But maybe it it would be interesting to also be able to compose a longer message in the extended settings of the seq. Or have multiple OSC tag outputs on the back and use other OSC message modules.
Can you give me a specific use case where you need to modify the OSC address string? I can see that it might be necessary, but concrete examples will help me out a lot, in terms of coming up with a solution appropriate to Numerology...

Best,
Jim
Reply With Quote
  #19  
Old 11-27-2008, 12:48 AM
steff3 steff3 is offline
Member
 
Join Date: Nov 2008
Posts: 75
Default

hello,

>>
Can you give me a specific use case where you need to modify the OSC address string? I can see that it might be necessary, but concrete examples will help me out a lot, in terms of coming up with a solution appropriate to Numerology...
>>

Well, the suggestion for OSCroute and OSCprepend where more motivated by the idea to to move message routing (which prepend is) out of the sequencer module into an extra module - especially when you might use one seq for generating messages for different receivers.

To be honest, I do not know if dynamic routings inside Num are useful. I could come up with examples - e.g. I use a stack in Num to generate a pattern which is triggering different events in Max/MSP-Jitter (sounds, visuals, maybe light control, etc.) and according to some conditions you keep that pattern but change what is triggered or generated by it (and therefore addressing other modules within the Maxpatch - but if it is really the right thing to change the address in Num or if it would be better changed within Max/MSP? I mean that really depends on the overall design I think. I think - as the condition might be processed in Max it might also be more readable to do those things there.

EDIT: Well, this could be interesting if you are working with patches distributed over several computers - in such cases CPU might be tight and also the network communication might already be pretty intense so that it might be good to not send information first to one place to reroute it there but to do it in the place it is generated. (Over the last years I was working with tracking systems which generated a huge amount of information and therefore it became really necessary to only sent the information that was actually need in one place to keep the system from getting stressed ....)

Sorry for the confusion.

best

Last edited by steff3; 11-27-2008 at 01:56 AM.
Reply With Quote
  #20  
Old 11-27-2008, 01:21 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,491
Default

Quote:
Originally Posted by steff3 View Post
Ok,

>> Yes. I just bumped up uploadable image sizes to 1000x1000, 1MB total file size.>>

how? the image button in the message editor wants a link - no upload ...
There are two ways to submit images; by inserting an image link into a message (which is what you found), and by attaching an image. When you are editing a message, look down for the "manage attachments" button, there you can add images and zip files to your post. Images are limited to 1000 x 1000, 1MB in size. I have tweaked the board settings so that attached images are displayed inline.

Cheers,
Jim
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 06:39 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.