OWL Firmware Release v12

Home Forums OWL OwlWare OWL Firmware Release v12

Tagged: , , ,

This topic contains 12 replies, has 3 voices, and was last updated by  Martin Klang 1 year ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #2399

    Martin Klang
    Keymaster

    New firmware release for OWL Pedal and OWL Modular now available for download:
    https://github.com/pingdynasty/OwlWare/releases

    To upgrade from a recent version of the firmware (v10 or later), follow the instructions at the bottom of this page:
    https://hoxtonowl.com/wiki/OwlControl

    New features include:
    – extended parameters: up to 24 parameters controlled by MIDI
    – incoming events: handle button presses and MIDI note on/off messages in the patch
    – outgoing events: send parameter and button changes as MIDI CC and note on/off messages
    – parameter defaults, ranges, smoothing, hysteresis, and non-linearity (exponential and logarithmic curves)

    There are now two ways of defining and using parameters:
    – registerParameter() and getParameterValue() – same as before
    – getParameter(), getFloatParameter() and getIntParameter() – new method

    With getXParameter() you can set a default value, the min and max value (for scaling), a stiffness and smoothness parameter (for hysteresis and smoothing), and the taper (linear, exponential, logarithmic).

    Along with the usual A to E parameters you can now define up to a total of 24 parameters, controllable by MIDI:
    – PARAMETER_F: Modulation / CC 1
    – PARAMETER_G: Effect Ctrl 1 / CC 12 (or pitch bend)
    – PARAMETER_H: Effect Ctrl 2 / CC 13
    – PARAMETER_AA to PARAMETER_AH: CC 75 to 82
    – PARAMETER_BA to PARAMETER_BH: CC 83 to 90

    To receive button changes there is a new virtual method: virtual void buttonChanged(PatchButtonId bid, uint16_t value, uint16_t samples)
    By implementing this method you will receive Pushbutton changes as well as MIDI note on/off messages. Having an event-based model makes it easier to manage button state in the patch. The ‘samples’ parameter gives the sample position (in the following audio block) at which the event belongs.
    Note on and off messages are received with a button ID greater than or equal to MIDI_NOTE_BUTTON (defined to be 128). The note velocity is scaled up to a 12-bit value, with a value of zero for note off events.

    We’ll be adding documentation and a few example patches over the next couple of days.

    Have fun!

    #2400

    Martin Klang
    Keymaster

    Here’s a simple patch that configures the OWL Modular as a MIDI interface, responding to MIDI note messages with gate, pitch and velocity (and vice versa)
    https://hoxtonowl.com/patch-library/patch/Midi_Note_Interface/

    And here is an 8-voice polyphonic subtractive synth voice that responds to velocity, pitchbend and modulation
    https://hoxtonowl.com/patch-library/patch/Poly_Sub/

    Both patches are fairly rough but serve to demonstrate the new MIDI functionality.

    • This reply was modified 1 year, 5 months ago by  Martin Klang.
    #2402

    Martin Klang
    Keymaster

    OwlProgram (for offline compilation) has now also got a v12 release:
    https://github.com/pingdynasty/OwlProgram/releases

    And so does OwlControl:
    https://github.com/pingdynasty/OwlControl/releases

    #2404

    JoseFuzzNo
    Participant

    Already running on my pedal. I didn’t try anything yet but if all works as expected, it is a huge improvement.
    I like the way NoteOn messages are handled. Thumbs up for that.
    And also, I noticed a drastic reduction in CPU usage comparing with v11.

    So, congrats for the great work.

    #2405

    JoseFuzzNo
    Participant

    PS: I suppose we will be needing the extra controls and maybe a keyboard in the webaudio tab, sorry for noticing 😀

    #2406

    Martin Klang
    Keymaster

    @josefuzzno yes quite right! Looking at the nexusosc library for widgets…
    http://nexusosc.com/

    #2407

    Martin Klang
    Keymaster

    Note that patches compiled for the previous version will not work with the new firmware.

    However any patch compiled with the new toolset should work with previous as well as current, and future, versions of the firmware.

    All online patches have been recompiled. If you are having problems with the user slot patches, or any other patches downloaded before last week, please grab a new version from the website.

    #2415

    jayrope
    Participant

    Thank you for the update. I noticed, that one of my patches (the bird generator) didn’t play on the website anymore, but when i compiled it again, it did.
    Just in case that indicates errors on other recompiled patches. Just compiling them again might do the trick.

    #2422

    JoseFuzzNo
    Participant

    Is there a way to select the MIDI channel? I suppose it is hardcoded within the firmware but, would it be possible to change the channel of the MIDI messages that are related to the patch (noteOn, noteOff, controllers G, H and from AA to BH)?

    #2423

    Martin Klang
    Keymaster

    @josefuzzno good question – at the moment, no. The OWL will receive messages on any channel, and send on channel 1.

    It would be fairly easy to make it configurable in the firmware. I imagine you would configure a channel, and the OWL would send and receive on this channel only.

    However since we use MIDI USB, the channel is generally not so important because each device has a separate interface.

    How did you intend to use this – in what scenario do you need to change the channel?

    #2424

    JoseFuzzNo
    Participant

    I’m using PureData with a Launchpad. PureData sends MIDI to the Launchpad. If I connect the OWL to the PureData MIDI output all the MIDI messages will reach both devices.

    In this case, the MIDI routing will be done by the patch, not the OS, and the only way I know is with the MIDI channel. If there is no interest on this I’ll just modify my firmware.

    I think just adding:

    int channel = ( message[0] & 0x0F >> 4 )
    if ( channel == SOME_MIDI_CHANNEL ) {...}

    in read() function on MidiReader.hpp should be enough, right?

    #2425

    JoseFuzzNo
    Participant

    Ok… I will answer myself.

    [midiin] and [midiout] objects have a method for selecting the MIDI port, the second inlet/outlet is the port number. I didn’t know!

    Sorry for the offtopic.

    #2583

    Martin Klang
    Keymaster

    Two things to add to this, rather belatedly!

    1) The default list of factory patches is here:
    https://hoxtonowl.com/mediawiki/index.php/Firmware/v12

    2) I’ve put up a list of OWL MIDI Mappings:
    https://hoxtonowl.com/mediawiki/index.php/MidiMappings

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.


Latest News

Links

Follow us on Twitter