Yamaha THR - Android editor

Discussion in 'Digital & Modeling Gear' started by filo01, Feb 4, 2016.

  1. filo01

    filo01 Member

    Messages:
    368
    Joined:
    Jan 13, 2013
    Location:
    Ostrava, Czech Republic, EU
    I saw this on Yamaha THR FB page, nice enhancement ;)

     
    JiveTurkey, Kano6, slugworth and 2 others like this.
  2. Al Varez

    Al Varez Member

    Messages:
    520
    Joined:
    Jul 28, 2014
    Yamaha couldn't do this?
     
    RolandKorg likes this.
  3. rewihendrix

    rewihendrix Member

    Messages:
    397
    Joined:
    Mar 12, 2014
    that's awesome.

    Makes it all the more strange that they couldn't put presets in the head version.
     
    aizenx, Anacharsis and slugworth like this.
  4. slugworth

    slugworth Supporting Member

    Messages:
    2,361
    Joined:
    Sep 1, 2011
    Location:
    ConUSA
    Awesome filo01, thanks for sharing this.

    I haven't had a chance to try it yet, but does anyone know... If you connect a THR10 with an Apple camera connection kit (CCK) to an iPhone or iPad, is the THR10 detected as a MIDI interface? If so, there are iOS apps that could also do this.
     
  5. StormJH1

    StormJH1 Member

    Messages:
    1,082
    Joined:
    Aug 29, 2012
    I haven't tried it either, but my assumption was no, since it doesn't operate as a class-compliant USB interface (no audio unless you have a specific Steinberg driver on PC). But maybe that's just the Audio - I hadn't heard before today that the editor was sending MIDI commands that could be received by the THR10, so maybe it would work on iOS also.

    Except that Yamaha is very purposefully anti-preset with their approach to modeling. You only get 5 on the THR10, and that's more limited than it seems because as soon as tweak any settings on a preset it reverts back to whatever settings the knobs all reflect. Seriously, I own the THR10 and love a lot of things about it, but they've pulled off a pretty neat Jedi mind trick convincing people that "less is more" with this amp. $150 will get you either a Mustang I or Digitech RP360, both of which come with DOZENS of great amp models and effects, plus the ability to plug into just about anything and record audio USB. The THR10 costs twice that and functions as a recording interface only on a computer and if all your drivers are lined up. It's also limited to 5 (or 6-8 depending on how you view it) amp models, though Yamaha will argue that they are better models than the bucketloads you get with other digital modelers.

    I love the idea of being able to pull out my phone because my THR10 software is on a specific computer in my house nowhere near the music room, and it's a pain to set that all up (though less of a pain than if it were a bigger combo amp). Given that the editor has different settings for changing out the reverbs from spring to room, for example, I wonder how effectively that translates to MIDI data and can be edited by that app.

    Yamaha themselves promoted this idea on their Facebook page, so you'd assume they're not TOO upset over it :)
     
    Frungi and rewihendrix like this.
  6. filo01

    filo01 Member

    Messages:
    368
    Joined:
    Jan 13, 2013
    Location:
    Ostrava, Czech Republic, EU
    Thank you, but author is Ɓukasz Halman, not me. I'm just an observer of THR FB page ;)
    Anyway, I've invited him to this forum so maybe we will get some more info right from the source.
     
  7. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    Hi guys,

    I'm the author of the video. I've had the amp for 2 years now and found out this stuff by accident really. I've tried to get THR Editor to work under linux/wine and found the midi interface in/out setting. Out of curiosity I launched midi monitoring software and it turned out that the communication is really easy to understand. Simple commands like "set delay on", "set delay time to 500ms" based on standard SysEx midi messaging format.

    I immediately thought about plugging it to my phone, but assumed it won't work out of the box, since THR isn't class compilant. That wouldn't be that bad since there is patch for linux kernel to make it working, so I could theoretically patch my s2 android kernel (since I'm running aosp rom), but to my surprise midi interface gets detected out of the box.

    The application I am using is called MidiCommander. I has a concept of "presets" which in practice means "send all settings one by one", but that is not a problem. It works perfectly fine. One problem is that this app allows knobs/drawbars to transmit values in 0-255 range and some settings on the thr require much wider range. I've contacted the author and perhaps he can enhance his app.

    I must say that I was partly inspired by this guy: http://mathis-wip.blogspot.com/2015/01/thr10c-preset-loading-with-linux.html. I though his work is great, but it would be much better if I could have something like this: http://www.instructables.com/id/Bluetooth-page-turner-pedal-for-sheet-music-apps/ and then use phone as man in the middle. Turns out it's all possible.

    For me this is all just funny discovery that finally allows me to access compressor or adjust delay/reverb which is not possible without connecting to the computer.
     
  8. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    I've actually written down all the possible commands and can get anything the editor can from the amp. You can get the spreadsheet from the link in the video.

    Concerning the reverb question. The sysex commands have following (hexadecimal) form F0 43 7D 10 41 30 01 xx xx xx F7. The F0 at the beginning is start of sysex, the f7 is the end. That's midi standard. Then 437D10413001 is the constant prefix which in layman words would be "hey! thr.. this for you". And then come 3 bytes which contain the actual setting you want to alter.

    So for enabling plate reverb with mix set to 50%, commands would be:
    1. Enable reverb: F0 43 7D 10 41 30 01 4F 00 00 F7 (4F - reverb switch, 00 00 - enable)
    2. Choose plate: F0 43 7D 10 41 30 01 40 00 02 (40 - choose reverb, 00 02 - plate)
    3. Set mix: F0 43 7D 10 41 30 01 4B 00 32 (4B - reverb level, 00 32 -> is hexadecimal 50)

    And that's it. Obviously in reality to get what you need, you have to send all reverb settings (time, pre, lowcut...) otherwise they are set to some defaults or previous value or whatever. That is what the amp (when you turn something) or the editor do. They would send following commands to adjust reverb:
    1. time
    2. pre
    3. lowcut
    4. hicut
    5. high ratio
    6. low ratio
    7. level
    8. choose plate
    9. reverb enable
     
    Kano6 likes this.
  9. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    Well, Mathis, author of the blog I posted above has already written code which can extract single patch from the file and translate it into the form that amp understands.

    If you look at this post:
    http://mathis-wip.blogspot.com/2015/01/thr10c-preset-loading-with-linux.html

    You'll see that the "patch" as it is sent to the amp is again a midi sysex command (F0 .... F7), but much longer this time. I bet it simply contains all the information that I send via multiple sysex's, but in one command. It's just a matter of working out what bytes are responsible for what settings, which should be pretty straightforward now as yamaha clearly wasn't trying to make it secret or complicated.

    However I don't think there will be any difference between sending one "patch command" vs sending multiple "settings commands" to the amp.
     
    iim7V7I7 likes this.
  10. Bag302

    Bag302 Member

    Messages:
    87
    Joined:
    Nov 17, 2008
    Is there a way to turn off cab sims with this app?
     
  11. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    Well, mathis has already built such footswitch. Read his blog.

    Official editor doesn't give such option, so no. But.. there might be some undocumented features that yamaha didn't tell anyone about.
     
    iim7V7I7 likes this.
  12. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    Care to elaborate? ;>
     
  13. Mcentee2

    Mcentee2 Member

    Messages:
    726
    Joined:
    Apr 5, 2016
    To o2o:

    Do you have a Midi Commander "settings file" already done to save recreating from scratch for a thr10c ?

    FaiIing that I would appreciate a quick run through to create a Midi Cmander Button.
    I installed MC but am having a hard time making out what midi parameters go where in the editor section.

    Thanks
     
  14. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    You can find my midi commander backup file here: https://drive.google.com/open?id=0ByMjgI3-DPShQmpIMktlNFVBX2M. Sadly I didn't have much time to work on for the last month, so it is what it is. I need to learn how difficult are the usb command to implement in android, I might write a proper thr app.
     
  15. Mcentee2

    Mcentee2 Member

    Messages:
    726
    Joined:
    Apr 5, 2016
    Many thanks - I had a good crack at this over the weekend, so your file will fill the gaps very nicely - well done and good job!

    I saw there is another THR Preset loader App in the Google play store, but its not an editor.
     
  16. Mcentee2

    Mcentee2 Member

    Messages:
    726
    Joined:
    Apr 5, 2016
    Many thanks for the file, at last I can see how the knob works with the sysex format!

    I am wondering about how to set up a control for the sysex parmeters that >255 decimal, ff hex.

    For instance, the Delay time needs two bytes 31 xx xx where you have "xx xx" being "0001 - 4e0f'

    Does this mean they split across the two bytes such that first byte range is "00-4e" and last byte is mainly 00-ff apart from a limit of 0f at the top end when the first byte is 4e ?

    If so then the sysex would only be able to control the first byte

    Crude Delay Time " .. .. .. 31 %V 00", max value 4e or 78 dec.

    I can't see a way of being able to fine tune this on the second byte without setting the first byte back to a fixed value, or anyway of setting two variables within one sysex.

    Any ideas ?
     
  17. Brackethead

    Brackethead Member

    Messages:
    11
    Joined:
    Jul 15, 2011
    Location:
    Los Angeles, CA
    Has anyone documented the MIDI commands for the THR100 head's footswitch? Does it even use MIDI? I would really like to be able to control the THR100 with my Boss ES-8.
     
  18. o2o

    o2o Member

    Messages:
    17
    Joined:
    Feb 5, 2016
    Sorry for such late reply, but had some "hospital time" and then long vacation.

    Well, you've hit the limit of what the midi commander can do. It only allows you to alter 1 byte in the sysex command and THR requires two for delay and some other settings too. I've talked about this with the application author, he might look in to that in the future, but no promises.

    You could try workaround this limitation by using some fixed values on 1 byte and only alter the other one, but that's not very practical.
     
    Last edited: Jul 17, 2016
  19. Condor

    Condor Member

    Messages:
    27
    Joined:
    Aug 10, 2016
    I wrote a native android editor for the thr. Attached a screenshot. I tested it only with my thr 10. You can send every parameter to the thr but currently only receive the main control knob values. The device sending much more sysex but i don`t parse all values yet. Its still beta. If interested i can send you the apk.[​IMG] There is also much more work to do to show the correct values of the parameters and not only the calculated seek bar values within the range. I plan to add some other features like store and read presets.
    https://s10.postimg.org/mrmw997q1/thr.png
     
    Last edited: Aug 10, 2016
    gustavz likes this.
  20. Condor

    Condor Member

    Messages:
    27
    Joined:
    Aug 10, 2016
    on my thr 10

    lamp on
    F0 43 7D 30 41 30 01 00 F7
    lamp off
    F0 43 7D 30 41 30 01 01 F7

    wide on
    F0 43 7D 30 41 30 00 01 F7
    wide off
    F0 43 7D 30 41 30 00 00 F7
     
    iim7V7I7 likes this.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice