1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Using OSC to trigger notes

Discussion in 'Building With Reaktor' started by Banjo Man, Nov 13, 2014.

  1. Banjo Man

    Banjo Man New Member

    Messages:
    10
    Hello.

    I want to use OSC messages instead of MIDI to turn notes on and off, in order to be able to send Hertz instead of note numbers. I have lots of programming experience, and have used Pure Data a lot, but I'm not so familiar with Reaktor yet. If I open existing instruments and ensembles, I assume the MIDI note-pitch modules and the gate modules are the ones I need to replace; can anyone suggest a simple method for replacing them with OSC input?
    Thanks!
    Banjo Man
     
  2. John6455

    John6455 Member

    Messages:
    102
    If it is to be used with existing instruments that output notes in a standard MIDI format, ie note on and note off events, it would probably be best to make a separate instrument which converts incoming MIDI messages to OSC. That way you wouldn't have to retrofit the concept to every instrument you use. Its also easier to make updates to you separate instrument and replace older versions in ensembles. It sounds like you will also need to build the reverse, ie an OSC to MIDI instrument.

    The way I do it is with the channel message MIDI in module. That way you can convert notes, CC, pitchbend etc all from the one module.

    Is this going to be used to send OSC from computer to computer or internally? If its an internal thing, it isn't really worth the effort, and it comes with problems with initial states when opening your reaktor file. Ie, you may have to manually reselect the OSC sources and destinations when you reopen your file. Very frustrating.
     
  3. Banjo Man

    Banjo Man New Member

    Messages:
    10
    Thanks for the ideas, John.
    It's for microtonal music that isn't limited to 12 notes per octave. I've tried every possible MIDI configuration over the years and the standard simply isn't sufficient. One might have 3 instruments, each one playing 5 separate notes that must be on different MIDI channels because each note requires a different pitch bend value, and then bass lines, melodies and changing harmonies over that, so, if I used MIDI, I'd need many instances of whatever soft synth I used, and to synchronize the parameters of the synths between the different instances.
    I don't need to send OSC between computers, but I need to be able to send very specific frequencies, i.e. 261.626 or so instead of note number 60.
    Given that Reaktor is far more programmable than most synths, I could try sending several bytes for each note, through MIDI, but my sequencer is already programmed to use OSC and it's very customizable. Hmm.
    Thanks!
    Banjo Man
     
  4. John6455

    John6455 Member

    Messages:
    102
    Ok that makes sense. MIDI is certainly very 12EDO and keyboard centric in its operation.

    From what I have seen in most reaktor synths, the final pitch is determined by Note + Pitchbend, so you should be able to interface your own 32bit float value into the existing structure quite easily. It may vary from synth to synth though.

    I would suggest developing your own personal standard for notes. That would give you a common structure to pack and send notes, then unpack the info in a synth. Remember an OSC array can send multiple values in a single message, and it is up to you how you wish to interpret that.

    One important thing to check is I believe you can send 32 bit float values if you are using Reaktor's internal MIDI send/receives. (between instruments)

    You'll have to check how that can work for microtonal pitches. I know OSC is very tempting, but it can be frustrating if you cannot simply open your ensemble and start playing without having to go into menus and change OSC settings.
     
  5. Banjo Man

    Banjo Man New Member

    Messages:
    10
    The problem with MIDI pitch bend is that I need a different value for each note, even in the same channel.
    I don't mind having to set things up before working, if it's the only way.
    Now I'm thinking of sending OSC messages to determine pitch but still sending MIDI note-on/note-off messages to trigger notes.
    The problem is that I still don't know exactly which Reaktor modules to look for.
    1. Is there a way to search for particular modules in a patch? Even if it means opening something in a text editor, I'm perfectly fine with that.
    2. I see many patches that have an input marked P or G, leading into certain modules which also have MIDI notepitch and gates as inputs; are those simply alternate inputs for that information?

    Thanks!