Replies: 6 comments
|
Hmm, I wonder what Chris will say, but on the first though, I believe there is no user friendly way to share patches between two synths at the moment. Even if one has two pieces of the same synth and wants to manage both of them as separate instances of the same synth, there is no other way to do it then to replicate the adaption, change the name + tweak detection / channel so KnobKraft doesn't confused them. But once that's done, each of the two is simply a different synth from KnobKraft's point of view, each with its own independent set of patches. So the easiest way is probably a single adaption and therefore a single patch database for both and then only connecting one of them at the time. That way, sharing of patches should be possible. If there are some slight differences in the sysex for the same patch on either synth, that could be custom handled in the adaption, based on MIDI channel, device ID, or some other identification of the SY/TG. |
|
I am a bit out of my depth offering advice, but am wondering if this could include the Yamaha TG33 as well. I think its very similar (possibly more basic too). You might be able to get even more people on board by including the SY22/35 as well, but I'd be super happy with just the TG33, personally. Thanks! Also, if you need someone to help test on the TG33, I might be able to help with that. |
|
@RadekPilich Thank you for your thoughts. I've made a start on the SY77 adaptation and aim to structure it similar to the Sequential adaptations using a common class which can be adapted for variations of the SY- and TG-class synths. So, @SartreWasRIght, that means a TG33 version would be possible (and SY22, TG55, SY55 etc). While there is a lot in common between the SysEx message formats of these synths, there are also a lot of differences. Supporting all these synths will require a lot of time (which I probably don't have) and effort. The SY35 brings back memories though - it was my first ever synth and I gigged it for my first band's first and only gig! |
|
For the Roland Synths, I had decided for option 1. The Rolands are backward compatible, e.g. the Roland JV-1080 patches are understood by the XV-3080. The code is structured such that the XV-3080 adaptation uses the JV-1080 implementation to support those patches, but declares the name as XV-3080. So any patches imported with the XV-3080 are labeled internally in the database as XV-3080, and the JV-1080 implementation would not see it. The same patches could be imported by the JV-1080 adaptation, but those would be treated completely separately. I would assume most people own only one of the various synths, so combining adaptations like the SY77/TG77 into one might make sense, I don't find Option 2 to be ugly or hacky. We have a few examples where there are just a few bytes difference in these pairs so it the adpatation can dynamically adjust to the real device detected. I think this is a feasible approach. There are some ways with export/import to transfer patches from one adaptation to another without loosing the metadata, but that is only for one time migration really interesting. |
|
Thank you all for the feedback. I've submitted PR #551 for review/testing. |
|
@SartreWasRIght I've added a TG33 adaptation to PR #551. Perhaps you could test it and provide some feedback? Most of the adaptations in that update are based on the synth reference manuals and untested on real hardware (except SY77). Getting feedback from people with access to the hardware will be a big help. (Pls note I'll be unresponsive for the next week due to work travel.) |
Uh oh!
There was an error while loading. Please reload this page.
Hi, I'm considering creating an adaptation for the Yamaha SY77 which has a rackmount sibling, the TG77. I believe they have identical synth engines and SYSEX implementations (I need to properly read the docs though...) but the two synths have different internal (read-only) voices, so there is a difference and it's a way to distinguish between them. I'm uncertain how best to implement this in Knobcraft. I'd appreciate feedback from other users before I start diving into code.
Option 1 - distinguish between them so they are seen as 2 different synths.
What are the pros/cons of this?
I could implement a
Yamaha_xx77_common.pyfile plus separateYamaha_SY77.pyandYamaha_TG77.pyadaptations to provide distinctname()functions.Would it be possible to share patches between them though? Perhaps a
compatibleWith()feature would be nice, to define synths with compatible SYSEX files.. but that's a bigger feature for another day, I guess...Option 2 - treat them as the same device with a combined name.
This seems a bit hacky/ugly...
Doing this would mean dumps of internal voices would be different. Users with both synths may find that problematic.
Option 3 - implement the SY77 only because I have one and won't be able to test the TG77 myself
Considering the similarity of the two it doesn't seem right to implement one without the other, but it's an option.
Feedback on this from someone who knows the code well would be a big help. Thanks!
All reactions