Generic Sysex Recorder Utility for Ableton Live

Home Forums General Panels, Components, Macros Generic Sysex Recorder Utility for Ableton Live

Viewing 17 posts - 1 through 17 (of 17 total)
  • Author
    Posts
  • #26204
    toneburst
    Participant
    • Topics: 1
    • Replies: 1
    • Total: 2

    Hi,

    just investigating possibilities here.

    I’m wondering if it might be possible to create a generic sysex data recorder VST/AU plugin using CTRLR, to work around the lack of sysex support in Ableton Live.

    Such a plugin would be able to accept arbitrary sysex data sent from a synth or other MIDI device, and record the received data such that it could be saved with a Live set and later dumped back to the device.

    I’d envisage a control to initiate ‘listening’ for sysex data, and another to send the received data back out to the hardware. There might also be an option to save the sysex to a file on disk.

    It wouldn’t need to be able to interpret the saved data in any way, but could be used to build up a library of device-specific presets, using Live’s own preset-management system.

    Anyone any thoughts on whether this would be possible and/or desirable?

    Cheers,

    a|x

    • This topic was modified 7 years, 11 months ago by toneburst.
    • This topic was modified 7 years, 11 months ago by toneburst.
    #27759
    jasefos
    Participant
    • Topics: 13
    • Replies: 76
    • Total: 89

    I would be very interested in such a tool!
    Just thought I’d add my voice here so I can see updates on this thread.

    Cheers!

    --> Music: www.soundcloud.com/jasefos
    --> DAW: OSX10.10.5 with Live 9.6 x64, UA Apollo Quad
    --> Controllers: Push 2, KeyLab61, Maschine mk2, MCU Pro, 2xMCU-Ext
    --> Synths: Cyclone Bass Bot TT303, ESQ1, MKS80/MPG80, Matrix 6R, Matrix1000, Mopho, 05RW, DW8000, Virus TI Polar, Voyager Electric Blue, MiniBrute, AN1X, K5000s, FIZMO, ASR10 rack, Kenton ProSolo (controls Sequential Pro-One, Yamaha CS15), Prophecy, EMX1, MonoTribe, SP1200, DX100, KARP Odyssey

    #30758
    Tommy de B
    Participant
    • Topics: 0
    • Replies: 3
    • Total: 3

    I would like this 🙂

    #30762
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    If I’m not wrong Ctrlr only stores the value of each modulator with the project (Atom, I would like to know this for sure, you stated several times that Ctrlr stores the current state of the panel, but this is not totally clear to me), so unless you assign the sysex dump values to different modulators the data will not be restored with the project.

    Of course you can save to disk any incoming sysex dump, but later when you open the panel this data will have to be recalled manually (or maybe you can devise a clever way to load the sysex file on startup and send it to the synth).

    #30763
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    Yes Ctrlr saves the value of modulators (programs) inside each project, to save some other arbitary data would be very simple using Lua, you could just add some data to the blob of memory that is passed to the host when saving a project and read it back when loaded again.

    IF such a feature can find some use i see no problem in adding it, it’s fairly simple.

    #30764
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    So you say that some other data can be saved with the panel but it’s not implemented yet? Of course it will be welcome (with an example, please).

    It’s something some of us really needed, and I thought it was not possible.

    #30765
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    It would be possible now i think but in a very complicated way, but i can make it very simple with just two lua calls. I’ll implement that and add an example asap.

    #30767
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    Wow, a step closer to make multitimbral panels without thousands of modulators, if we can save each part in memoryblocks in the project.

    The only remaining problem is automation.

    #30817
    toneburst
    Participant
    • Topics: 1
    • Replies: 1
    • Total: 2

    So it would be possible to make a generic vst/au Sysex recorder with Ctrlr? That’s great, atom! I think it’s what a lot of Live users have been waiting for for some time….

    Ideally, of course, I’d like to build proper editors for all my synths, but this would at least give me patch recall, if not automatable controls…

    A|x

    #31431
    Tommy de B
    Participant
    • Topics: 0
    • Replies: 3
    • Total: 3

    This is super handy in ableton 🙂
    Synths with a lot of knobs don’t really need an editor (although this would be nice too offcourse). With my nordrack1 totall recall would be really great!
    Thanks Atom :))
    If i find time i might try to make some panels alswell, but for a non programmer like me that could be hard.. have to dig into the manual 🙂

    #31635
    msepsis
    Participant
    • Topics: 219
    • Replies: 732
    • Total: 951
    • ★★★

    I thought about this too, but wouldn’t you need to disable the MIDI ports of the synth in the DAW in order to allow it to be available to the VST this “syses recorder” panel resides? that would make it somewhat moot 🙂

    Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

    #31719
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    I added the code to save custom data when saving projects in DAW, you get a Lua call and you can add any data in a form of a ValueTree, and you get it back when the project is loaded.

    #59576
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Hi, is there example somewhere how to do such dump to value tree and recall it back? I wan to create a Panel without modulators only to save current state of the device into DAW project.

    • This reply was modified 6 years, 9 months ago by daimondamps.
    #59996
    Puppeteer
    Participant
    • Topics: 16
    • Replies: 185
    • Total: 201
    • ★★

    I’m half way through building a panel to initiate and receive arbitrary SYSEX dumps and to compare them on the screen while I do some testing with the PC3. I’ll be happy to share it when I’ve got it working properly and it might be quite easy to modify it to serve this purpose.

    Not sure on my timeline as yet, I’ve got a heap of stuff on my plate right at the moment, but hopefully by the end of the year.

    The Puppeteer
    http://godlike.com.au

    #60009
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    This is a very basic example. Let’s say you have a MemoryBlock called PatchData you want to save. You have to create a method for “Called when Ctrlr state is saved”

    saveValueTree = function(stateData)
    
    stateData:setProperty("RefName", PatchData:toHexString(1), nil)
    end

    To restore data on project loading, create another method for “Called when Ctrlr is loaded”

    loadValueTree = function(stateData)
    
    stringHexData = stateData:getProperty("RefName")
    PatchData:loadFromHexString(stringHexData)
    end
    #60029
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Thank you both.
    I found this thread http://ctrlr.org/forums/topic/statedata/
    There also is some info about ValueTree.

    #68121
    t2k
    Participant
    • Topics: 1
    • Replies: 4
    • Total: 5

    I implemented something like this, you can read about it in my post:

    Generic Sysex Record and Send

Viewing 17 posts - 1 through 17 (of 17 total)
  • The forum ‘Panels, Components, Macros’ is closed to new topics and replies.
There is currently 0 users and 55 guests online
No users are currently active
Forum Statistics
Threads: 2,495, Posts: 17,374, Members: 77,605
Most users ever online was 12 on January 22, 2019 3:47 pm
Ctrlr