KnobKraft-orm icon indicating copy to clipboard operation
KnobKraft-orm copied to clipboard

Support Yamaha FS1r

Open christofmuc opened this issue 4 years ago • 53 comments

The documentation is available, e.g. here: https://soundprogramming.net/manuals/Yamaha_FS1R_DataList.pdf

The FS1r also mimicks as a DX7, so maybe that should be done first.

It is currently not possible as an adaptation, but we need the code that I made for the refaceDX, which is a Yamaha and uses the exact same concept of addresses and stream dumps. So this is on hold until we get the right capability implemented.

christofmuc avatar Jan 09 '21 13:01 christofmuc

https://github.com/eclab/edisyn might be helpful, a full editor for (amongst others) the fs1r, Apache 2.0 license

markusschloesser avatar Jan 17 '21 16:01 markusschloesser

@markusschloesser The Edisyn docs go into detail about how it does not support Windows very well due to issues with Java MIDI on Windows. :(

mslinn avatar Oct 02 '23 01:10 mslinn

@mslinn I am aware, but mostly had it working a while ago, but yeah, that and the stupid Oracle licensing mess, is meh. What also kept me from using edisyn in the past, that it did not have a librarian, hence this GH issues, but iirc that has changed, not sure however if for all synths

markusschloesser avatar Oct 02 '23 01:10 markusschloesser

Actually, the implementation of the adaptations should by now allow to implement the FS1r, even if it is a complex synth. I made a refaceDX adaptation to test the Yamaha protocol, and I think they are all very similar to each other.

christofmuc avatar Oct 02 '23 12:10 christofmuc

The document can be found at the Yamaha site at https://usa.yamaha.com/files/download/other_assets/4/317954/FS1RE2.PDF

christofmuc avatar Oct 02 '23 12:10 christofmuc

i tried out the new plugin functionality of chatgpt and asked some (hopefully) good questions, this is the result: https://chat.openai.com/share/f2de7acd-8eff-4781-a04b-8f2b113dd62b Is this something worth proceeding with, or rather not?

markusschloesser avatar Oct 02 '23 23:10 markusschloesser

Hm, not too bad, but also still very generic and not really based on the FS1R. The main challenge with the Yamaha (and Rolands) is to actually understand the data format, as they are so convoluted.

We usually want to ignore multi modes and rather just have the synth in single mode, and then determine what parts of the messages make up a single patch. Mostly 4 voices here on the FS1R, but not knowing the synth I have no idea what I am looking at in the documentation, It has 4 different native bulk dumps - but which 4?

christofmuc avatar Oct 08 '23 20:10 christofmuc

you mean this? 3.2 Bulk Data FS1R transmits and receives 4 kinds of bulk data (1- 4, FS1R native) in addition to reception of Yamaha DX series' bulk data (5-6, VCED and ACED), with "Receive Bulk Dump = on" and Device Number contained in System Exclusive massages matches the FS1R Device Number setting. On reception of a request, FS1R transmits out the requested parameter change.

  1. Performance bulk dump
  2. Voice bulk dump
  3. Fseq bulk dump
  4. System bulk dump
  5. DX Series VCED bulk dump
  6. DX Series ACED bulk dump

Page 13 of the normal manual specifies this: image So 1. consists of 4 x 2. plus 3.

For now I would leave neglect 5. and 6.

I'll try to feed this into ChatGPT and report back (btw I also tried out Bard and right now it's imho completely BS)

markusschloesser avatar Oct 09 '23 19:10 markusschloesser

That's very similar to the Roland format with 1 performance and 4 tunes, and potentially sfx and other blocks added.

christofmuc avatar Oct 15 '23 11:10 christofmuc