Numerology Store    Download  Video    Forum


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

Reply
 
Thread Tools Display Modes
  #21  
Old 12-30-2008, 09:59 PM
adamj adamj is offline
Numerologist
 
Join Date: Dec 2008
Location: San Francisco
Posts: 48
Default

+1 for OSC functionality

OSC hardware that I use: monome, iPhone (via touchOSC, OSCemote)
OSC software: Max/MSP, my own custom Ruby software

Things I would like to do with Numerology:

1) Trigger presets and control sequencing parameters via OSC messages from my hardware.

2) Generate sequencing patterns with my own software (I just posted about this over here: http://five12.net/showpost.php?p=572&postcount=9)

3) Control OSC-compatible synthesizers and effects, such as Future Audio Workshop's Circle Synth and MaxMSP patches, by generating sequenced OSC messages. And similarly, control synchronized generative graphics in Jitter, Quartz Composer, or Processing.

#1 and #2 would require Numerology to be an OSC listener, and #3 would require it to be an OSC generator.

For OSC generation I'm picturing something simple like a mononote sequencing module where I assign an address and port to the module and the value of the sliders is sent to the address (I realize the translation to OSC might be outside of the module, I'm just thinking about the use case). So I'd set port=5555 and address=/mysynth/filter/cutoff, and if the slider value if 0.5 then it would send /mysynth/filter/cutoff 0.5 to UDP port 5555. Slider ranges would typically go from 0.0 to 1.0 instead of say 0 to 127 like in MIDI. If I want to talk to another address I'd probably just setup another stack with an independent sequencer, but Numerology seems flexible enough that there would be reasons to put multiple OSC generators (each with their own address?) in a single stack.

For OSC listening, I think Circle Synth (http://www.futureaudioworkshop.com/circle/) provides a really good example of how OSC listening support should be done. If I twiddle a knob in that program, I can see what OSC message it listens to. Furthermore, it sends that OSC message on the outbound port when I twiddle the knob so I can build my own MIDI-learn-style system around this (although I could do without that functionality, or at least make it optional to save some CPU/network traffic). Circle is free to download and try (it goes out of tune after 10 minutes or so), so Jim you might want to play around with it for some ideas.

I'd also like to point out that once Numerology supports both OSC listening and generation, then you can have multiple people running Numerology on a network and interacting with each other, influencing each other's sequences and what not. That might lead to complete chaos but it could be fertile ground for some live sequencing improv performances.

What else... earlier in the thread Jim mentioned:
Quote:
- 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.
I'm not sure what you mean by "extract useful information", but I'd suggest rather than try to make some big complex OSC translator/mapping component you could just start with some predefined set of addresses (like Circle synth) and leave it up to the user to speak that protocol. If someone needs to map the stuff coming out of their iPhone they can use something like OSCulator. I'm not saying you should never do a built in translator/mapping component, but you could get a very useful first pass implementation by just having some predefined addresses that Numerology responds to. On the other hand, if you want to build on top of your CV system then maybe it makes sense. Ok I should probably stop now, I don't know how Numerology works under the hood...

Hope these ideas are helpful.
Reply With Quote
  #22  
Old 12-31-2008, 12:18 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,514
Default

Yes -- they are helpful. Thanks for the detailed post!

Cheers,
Jim
Reply With Quote
  #23  
Old 01-03-2009, 02:22 PM
sonomute sonomute is offline
Member
 
Join Date: Nov 2008
Posts: 74
Default

Quote:
but I'd suggest rather than try to make some big complex OSC translator/mapping component you could just start with some predefined set of addresses (like Circle synth) and leave it up to the user to speak that protocol. If someone needs to map the stuff coming out of their iPhone they can use something like OSCulator
I`m totally disagree with this.
In this case you will be able to use Numerology as a source of OSC data but not be able to control Numerology with OSC (and the main point of implementing OSC in NUM in my opinion is all those wonderful weird controllers like monome, lemour and a rest...)

Of course we can use Osculator, but what the point of OSC in Num if we still converting OSC to midi? And by the way, if someone needs to map the stuff coming whateverfrom to their Circle synth he can just use MIDI protocol, it working very good with this synth...))))

So, please, if there will be OSC in Num, just let it be proper way, don`t ask only for yourself...we all have different needs and tasks,don`t be so selfish.

Thank you.
Reply With Quote
  #24  
Old 01-04-2009, 01:46 AM
ehdyn's Avatar
ehdyn ehdyn is offline
Junior Member
 
Join Date: Nov 2008
Posts: 14
Default

Hoping for high band-width communication with SC and Reaktor + alternative controller support.
Reply With Quote
  #25  
Old 01-04-2009, 11:36 AM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,514
Default

Quote:
Originally Posted by sonomute View Post
I`m totally disagree with this.
In this case you will be able to use Numerology as a source of OSC data but not be able to control Numerology with OSC (and the main point of implementing OSC in NUM in my opinion is all those wonderful weird controllers like monome, lemour and a rest...)
More likely than not, there will be three options:

- A pair of 'plain but flexible' OSC In & OSC Out modules that essentially enable you to convert CV streams to OSC messages and back. You define the message.
- A "fixed" set of messages that covers all parameters for all modules in a project. This may also include some 'edit' commands (like add module, show stack, etc.)
- Some sort of 'learn' mode to make it easy to assign automate-able parameters to incoming OSC messages -- just like the MIDI learn facility.

That seems to cover all likely uses. The first option will be implemented first, then the others will follow.

Cheers,
Jim
Reply With Quote
  #26  
Old 01-04-2009, 01:04 PM
adamj adamj is offline
Numerologist
 
Join Date: Dec 2008
Location: San Francisco
Posts: 48
Default

Quote:
Originally Posted by sonomute View Post
I`m totally disagree with this.
In this case you will be able to use Numerology as a source of OSC data but not be able to control Numerology with OSC (and the main point of implementing OSC in NUM in my opinion is all those wonderful weird controllers like monome, lemour and a rest...)
I think you misunderstood. I asked for Numerology to support listening to OSC *and* sending OSC messages. If it can listen to OSC messages than it would support monome, lemur, etc. I definitely want this too! And if it can generate messages than it can control synchronized generative graphics and Max/MSP patches. Plus, you need to send back OSC messages to update the interface on a monome and a lemur. Controlling things with Numerology is just as important as letting it be controlled IMHO.

Quote:
Originally Posted by sonomute View Post
Of course we can use Osculator, but what the point of OSC in Num if we still converting OSC to midi?
Osculator supports OSC forwarding where you can map things from one address to another. No MIDI involved in this case. But avoiding another program would be preferable...

Quote:
Originally Posted by sonomute View Post
So, please, if there will be OSC in Num, just let it be proper way, don`t ask only for yourself...we all have different needs and tasks,don`t be so selfish.
Hmm, I genuinely want Numerology to have good OSC support useful to everyone. Jim wanted people's input on how they use OSC so he can make informed decisions, and I thought I was being helpful by taking to time to write up all that info.

Anyway, I don't disagree with you. The only reason I suggested he doesn't build a complex mapper *at first* is so he could provide basic OSC support sooner and we could give feedback to help make it even better. However, I concede that suggestion was not a good one. I am a Numerology newbie still learning the program, and I can see now that it would be best to have something to map arbitrary OSC messages to CV values.

Luckily Jim knows what he's doing. He said the first thing he'll provide is "A pair of 'plain but flexible' OSC In & OSC Out modules that essentially enable you to convert CV streams to OSC messages and back. You define the message." I think this covers both our needs. So it's all good
Reply With Quote
  #27  
Old 01-04-2009, 01:28 PM
adamj adamj is offline
Numerologist
 
Join Date: Dec 2008
Location: San Francisco
Posts: 48
Default

Quote:
Originally Posted by jim View Post
A pair of 'plain but flexible' OSC In & OSC Out modules that essentially enable you to convert CV streams to OSC messages and back. You define the message.
Hey Jim,
I think one of the rough spots with this feature will be how to map OSC messages to indexed parameters.

To give you an idea, the program TouchOSC for iPhone has a series of sliders that sends messages like this:
/multifader/1 value
/multifader/2 value
...
/multifader/16 value

I think the Lemur may do something similar (can anyone verify?)

It would make a lot of sense to be able to map input like that to the StepValue for a gate/interval/etc sequencer.

I guess at first we might have to setup 16 separate OSC input and ParamMod modules, one for each index? In the future, if there was a way to do this with one module, that would be much better. Maybe the incoming OSC address could be set to /multifader/$INDEX or something like that.

I wanted to bring it up now in case it affects how you're going to implement OSC features.
Reply With Quote
  #28  
Old 01-04-2009, 08:32 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,514
Default

Certainly using a plain OSC In/Out module to do sequencer steps would be tedious, thus the presence of the two other options. The best option, if you were using TouchOSC on the iPhone, would be the learn mode, or the "direct param" mode. In the latter case, the messages would be something like:
/stack1/MonoNote/PitchStep/1 <value>
/stack1/MonoNote/PitchStep/2 <value>
/stack1/MonoNote/PitchStep/3 <value>
etc...

Cheers,
Jim

(and yes, I do have an iPhone...)
Reply With Quote
  #29  
Old 05-18-2009, 11:16 AM
Sjoerd Sjoerd is offline
Senior Member
 
Join Date: May 2009
Location: Amsterdam
Posts: 263
Thumbs up

+1 for OSC support. :-) That would be AWESOME.

Quote:
Originally Posted by jim View Post
What existing hardware and software do you have that supports OSC?
How do you use OSC in your setup already?
What kind of OSC support would you like to see in Numerology?
I'm using multiple iPhone / iPod Touch devices, as controllers, with Mrmr (free, open source!) mostly, though I occasionally also use other apps (OSCemote, TouchOSC) for that. Good to see others here also using iPhones. While I'm quite comfortable with the multitude of existing generic solutions, perhaps we can think of some iPhoneOS/Numerology specific controller patches for / extensions to existing apps, or even a standalone app? (I have the SDK installed, and some good friends within the iPhone developer community. <puts thinking about this on to-do list>

I'm also working with Pure data, Max/MSP, where I use custom patches for manipulating the data streams from the controller devices, then sending manipulated data streams out (most often as MIDI, but preferably in OSC to maintain high speed, bandwidth, and especially resolution) to instruments / effects (both virtual and physical ones). So yeah, I'm all for native OSC support in audio/music apps.

I guess the main hurdle for a simple practical implementation is the flexible namespacing in OSC. If it takes some common conventions (i.e. reduction in flexibility) to make it work, I'm fine with that. If complex setups take a lot of tedious work to set up, no problem either. Whatever works.

I'll be happy to post more extensive information on (my) use cases, and help testing if needed. Need to read up bit more on what has been discussed already and get more comfortable with N2 before I start blabbering complete nonsense and make you all hate me.
Reply With Quote
  #30  
Old 05-18-2009, 02:21 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,514
Default

Quote:
Originally Posted by Sjoerd View Post
I'll be happy to post more extensive information on (my) use cases, and help testing if needed. Need to read up bit more on what has been discussed already and get more comfortable with N2 before I start blabbering complete nonsense and make you all hate me.
I should have a pro version beta sometime this summer with OSC support...

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:19 PM.


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