Creating Midi CC messages from the UI

  • Theo Verelst

    Theo Verelst - 2010-06-06


    I like using the Bristol software and I think it is great to have such an amount of Open Source and cool looking (and resizable!) interfaces, but I was wondering if it is possible to send Midi CC messages from the UI, as in that the knobs send messages (of a not system exclusive kind) and that they could be sent over a midi interface?

    I´m an advanced programmer, so I could search it out and maybe add that possibility to the code if it isn´t there yet.

    Thanks for the nice software!

    Theo Verelst

  • Theo Verelst

    Theo Verelst - 2010-06-06

    Oh, I forgot, I *can* connect quite fine the UI knobs to for instance the Kurzweil PC3 (midi CC) sliders, but I´d like to be able to reconnect them to various knobs, and send various CC messages back that way, so I can add more parameters to the available nine sliders, AND have agreat looking interface for analog simulations I´m working on on that machine ( ).

  • Nick Copeland

    Nick Copeland - 2010-06-06

    Hi Theo,

    At the moment this is not possible, the brighton GUI accepts MIDI CC to drive parameters to the engine and does not have an interface to drive MIDI to other devices. It was also not my goal to do this, brighton was designed to drive bristol - the audio engine.

    It could be done with a little bit of work. I was going to say no, I did not want to do it but then I had a look at your 'black box' and it does sound kind of interesting - is that what you want to drive? If it was a front end for your 'infinite infinity step drive' control then I might be pursuaded. If it is for Kurzweil then no, not my business.

    In the latter case, not my business, then brighton is probably not a good choice for another party to use. It is not documented, it was designed for bristol only, there are other tools out there and they are probably also supported. OpenGL is one possibility - 3D rendering of the different synths? This is something I would consider doing with brighton if I had time.

    Kind regards, nick.

  • Theo Verelst

    Theo Verelst - 2010-06-07

    Hi nick,
    I thought the communication with the Sound Engine was over some specialized midi sysex, and though so it shouldn't be too hard to replace (or add to) that by CC messages from some assignment list, I didn't want to create work for you, I was just wondering…

    Well, the "Black Box" has a pretty clean sound, except doesn't attempt to do Herz accurate filter tuning or resonance matching with some existing synth, it uses a Blackfin DSP andis Open Source, so it *can* be built by other people. Currently it has liek a few dozen of front-pannel adjustable parameters, and only note/pitch/modwheel Midi implementation, with an emphasis on extremely fast response, and it works reliable from all kinds of master keyboards, which is cool.

    I use the BlackFin devkit (with C compiler and IDE) which came with the (cheap) DSP board, which has a 20k (not M…) code size limit, so if I'd add midi editability I'd either have to squeeze that in somehow or progress to the GNU compiler and figure out a nice way to work with that for those wonderful screen knobs and a graphical gem.

    Clearly (having no money or US job as I'd want!) I do not work for Kurzweil, I just happen to have a PC3 around, which is a nice master keyboard with powerful Virtual Analog sound possibilities, I used it for a short video controlling Bristol ( ) which is nicely done I think, the middle mouse "learn" mode. So I though it could be nice to make a nice Moog simulation with the PC3, and drive it from the Graphical interface, or in general, to control other synths with as well, or even in parallel. Soundwise I have done more than a little work on analog simulations, so I naturally find Bristol interesting, and probably amoung the few software (PC) simulations which sound good enough to use for me (all the windows stuff I usually have to put aside as crap for "real" sounds), but I've worked (apart from my own synthesis) with the Kurzweil and am starting to get through to get good sounding analog results and thought it could be fun to play with that.

    Yeah, an OpenGL interface, possibly linked with CUDA (On Linux, I use Fedora 12/64 for that) to do fast computations would be powerfull.


  • Nick Copeland

    Nick Copeland - 2010-06-07

    > I thought the communication with the Sound Engine was over some specialized midi sysex, and though so it
    > shouldn't be too hard to replace (or add to) that by CC messages from some assignment list

    That is pretty much the lowdown. I use a sysex which encodes a few interesting pieces of information such as the engine emulator (it can run multiple), the operator (filter/env/etc) and its controller (cutoff, ADSR, etc), then a 14 bit value encoded as MSB/LSB. It is pretty generic MIDI, the only exception is that it goes out over a TCP connection rather than an ALSA RawMidi interface. Even that is not a big deal, the MIDI library supports ALSA rawmidi but I only use it for read operations currently. There is no reason why it could not be tailored to support MIDI CC rather than bristol sysex and send them out of an ALSA interface to a nice black box.

    To be honest, the hardest bit would be specifying the interface that configures which GUI device sends which MIDI CC. This isn't as simple as <middle mouse button>/move_control, it would need a config file of some sort as having it hard compiled would be a pain in the butt.

    I have to admit, I am not very motivated to do this for the PC3 - it has windows GUIs no? Even for your groovy black box I would be pushed for time, there are some big changes going on with bristol, then naturally there is work…

    Kind regards, ncik

  • Theo Verelst

    Theo Verelst - 2010-06-28

    Right, well the black box has been around for more than half a decade already, with no explicit requests for help with the Open Source DSP software in it (but with influence I´m sure).

    Indeed there´s a windoze editor for the pc3 but that doesn´t do much good, and the midi protocol isn´t availabe for sysex, so I thought it could be good to make some sounds of my own (as I did) and add Midi-CC controls, and then the nice Bristol interface could be fun.

    Did you write about your sound algorithms somewhere, I´d find that interesting to read!



Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks