Yamaha AN200 Panel

Home Forums General Panels, Components, Macros Yamaha AN200 Panel

Tagged: ,

Viewing 18 posts - 1 through 18 (of 18 total)
  • Author
    Posts
  • #115783
    inteyes
    Participant
      • Topics: 2
      • Replies: 12
      • Total: 14

      Hello!

      This is my attempt to create Yamaha AN200 panel. Since original software (like AN Expert Editor) cannot give me possibility to tweak parameters while synth busy in a DAW, i decided to try to make the panel by myself.

      Things achieved:
      – basic functionality realized
      – (almost) all available sound forming parameters in one place (hidden, sysex only etc)
      – simple dependency control logic

      Future plans:
      – Storing and loading presets
      – Modulation matrix
      – Free EG (maybe)

      I’m new to Ctrlr, so dumb errors are possible.

      And honestly, I need some help with few moments:
      1. Can somebody advice where I can read about storing (opening, saving and so on) preset banks within Ctrlr?
      2. Is there any methods in Ctrlr (lua) suitable for drawing arbitary lines and converting them into array of values? That would be handy for implementing Free EG functionality.

      Thanks in advance, any help appreciated!

      Attachments:
      You must be logged in to view attached files.
      #115787
      Possemo
      Participant
        • Topics: 14
        • Replies: 638
        • Total: 652
        • ★★★

        looks nice! Probably most complicated thing to do when you want to store/load presets is to read/write the sysex dump of a complete patch. Some synths are quite easy while others are really challenging. On some devices there is no or incomplete documentation of the dump. Then it gets really hard.

        When you have the dump in a Lua table or in a Lua memoryblock it isn’t very complicated to save/load it to disk. As an example I would look at the panels from Carl Licroy, e.g. this one: http://ctrlr.org/power08-editor-for-dsi-prophet08/

        Of course you can just save a bunch of parameters and fire them one by one to the synth, maybe with a delay in between if the synth crashes when hitting with CC’s or sysex too fast. But for a definitive solution you will have to handle the sysex dump.

        What do you mean with “Free EG”? A random generator? You can generate random values easily with Lua. Why would you need graphic lines for this? There is no problem generating random lines with Lua though.

        #115788
        inteyes
        Participant
          • Topics: 2
          • Replies: 12
          • Total: 14

          Thank you very much, Possemo! I’ll learn this panel more detailed soon.

          I’m not afraid of tinkering with sysex data, especially since patch structure is well documented in the manual. It’s time consuming, but not impossible to make it right I guess.

          As for Free EG – that’s not exactly such kind of thing. AN200 have thing called Free Envelope Generator (screenshot attached to this message). With it you can draw any shape by hand and use it as an envelope for different controls. Can be pretty handy sometimes.
          What I want is to draw shape by hand on canvas and convert it into array of values – internally AN200 uses 192points array with levels from -127 to +127 for each point. So it would be great if you pointed me to suitable methods.

          Attachments:
          You must be logged in to view attached files.
          #115790
          Possemo
          Participant
            • Topics: 14
            • Replies: 638
            • Total: 652
            • ★★★

            Ah I see, this free EG is a nice feature. I have never done such a thing but I guess it should be possible with a uiCustomComponent. That will definitely need advanced scripting skills. Attached a demo panel with a mouse draggable envelope. There you can see how you handle mouse movements/events. I have no idea how you could read out what pixels are on/off. I’d probably do it separated – fill a table with values while the mouse moves and draw points in the customcomponent separately.

            Attachments:
            You must be logged in to view attached files.
            #115792
            inteyes
            Participant
              • Topics: 2
              • Replies: 12
              • Total: 14

              Thanks for your help once again! That’s a good material to start with. It’s time to dig deeper 🙂

              update: Yes, drawing works like a charm, cool!

              • This reply was modified 4 years, 8 months ago by inteyes. Reason: update
              • This reply was modified 4 years, 8 months ago by inteyes. Reason: update
              #115832
              goodweather
              Participant
                • Topics: 45
                • Replies: 550
                • Total: 595
                • ★★★

                Hi, you can also look at my Pro2 panel. I have there patch and librarian.
                As for my other panels, everything is based on a memory block that I’m filling when reading/saving a patch file.
                It is easy to manage either by single byte or range.

                About the FREE EG, yep, you should use a uiCustomComponent then the various drawing capabilities offered by Juce graphics class (https://docs.juce.com/master/classGraphics.html) but also other classes.
                Check also the DEMO – Render panel provided by Roman with Ctrlr (in Ctrlr installation directory)

                #115833
                inteyes
                Participant
                  • Topics: 2
                  • Replies: 12
                  • Total: 14

                  Hi goodweather, thank you! I’ll be creating a preset management soon, that info will come in very handy.

                  Meanwhile I finished (kind of) Free EG implementation, modulation matrix and FreeEG data sending. Work not finished, but my yamaha delivers more fun to me than ever already 🙂

                  Thank you guys, your advices are very helpful! I’ll keep working on panel.

                  Attachments:
                  You must be logged in to view attached files.
                  #115836
                  dnaldoog
                  Participant
                    • Topics: 4
                    • Replies: 480
                    • Total: 484
                    • ★★

                    I’m impressed! (Especially with the work on the Free-EG you’ve done) – Excellent!

                    I got the panel connected and working on a PLG150-AN installed in a MU100R.

                    #115837
                    goodweather
                    Participant
                      • Topics: 45
                      • Replies: 550
                      • Total: 595
                      • ★★★

                      Héhé…now I could be interested!
                      I have a PLG150-AN card in a Motif ES8 but never used it as the process for using it was just heavy and not intuitive at all. Took me long time to have Yamaha’s editors working at all on Win10 but still, way of working was not good (need to save then to send)… Then finally dropped this and did something else with my other synths.
                      So, I may try this in the coming months 😉

                      Which setup did you use for your MU100R to have the PLG150-AN card responding?

                      #115842
                      dnaldoog
                      Participant
                        • Topics: 4
                        • Replies: 480
                        • Total: 484
                        • ★★

                        Hi Goodweather,

                        I installed:
                        YAMAHA AN200 Editor for Windows (XGworks V3.0/V4.0 plug-in)
                        into XGworks 3.0.7E and connect to the MU100R through an Edirol FA-66 audio interface to a Roland A-880 Midi Patcher and then through a MOTU midi timepiece MTPAV (non usb version). So it’s pretty convoluted! The AN Expert Standalone Program doesn’t connect to midi ports in Windows 10, so you have to do it this way.

                        XGworks can see the MU100R and PLG150-AN no problem after that. If I disconnect the XGWorks I can then connect this panel in Ctrlr.

                        I haven’t tested MIDI out from the MU100R/PLG150-AN, so limited testing.

                        Have you ever worked with the interface of the MU100R? It’s so confusing, but there is a way to connect to the PLG150-AN card using the buttons. How to do that keeps eluding me every time I switch it on, but the XGworks can connect to it easily anyway.

                        Regards,

                        #115867
                        inteyes
                        Participant
                          • Topics: 2
                          • Replies: 12
                          • Total: 14

                          Hi guys, new version ready.

                          What’s done:
                          – Loading *.syx bulk dumps from AN200
                          – Loading separate presets
                          – Slight UI rework
                          – Sending all the panel data to the synth via sysex
                          – Fixed Free EG line tool behaviour
                          – Fixed some parameters boundaries
                          – Other fixes

                          EDIT: Oh, I forgot to return parameter “Panel -> Global delay for MIDI messages” to default (zero). For now you can set it manually, I will correct this in the next release

                          Thanks for everyone who involved into testing and advising!

                          • This reply was modified 4 years, 8 months ago by inteyes.
                          Attachments:
                          You must be logged in to view attached files.
                          #115887
                          dnaldoog
                          Participant
                            • Topics: 4
                            • Replies: 480
                            • Total: 484
                            • ★★

                            Again, it’s great.

                            How did you embed all the preset values within Ctrlr?

                            You are retrieving the values using by converting csv to a lua table. That’s interesting (and clever). Is there any advantage to this compared with just holding all preset data in (large) lua tables? That’s what I did for the SR-JV80-04 sysex in a panel I did http://ctrlr.org/roland-jd990-super-editor/.

                            Regards,

                            #115888
                            inteyes
                            Participant
                              • Topics: 2
                              • Replies: 12
                              • Total: 14

                              Hello, thank you dnaldoog!

                              Actually I don’t think this method have any great advantages compared to method you mentioned. It’s just the first thing which came into my mind based on my knowledge of lua and Ctrlr. I have some experience with programming on freepascal, but to lua and Ctrlr I’m a total newbie, so my methods might be far from perfect 🙂

                              Preset bank values are stored as stateData within Ctrlr (as csv string). They are saving while Ctrlr shutting down and restoring while Ctrlr startup. On the one hand this method can give possibility to change default soundset without changing code at all. On the other hand – there is no default patch bank hardcoded somewhere in the panel.

                              PS: Wow, great panel! Thanks for the link, I can learn a lot from it.

                              #115905
                              inteyes
                              Participant
                                • Topics: 2
                                • Replies: 12
                                • Total: 14

                                Hi everyone!

                                Fourth version of the panel ready.

                                What’s done:

                                – JayB soundset set as default (allowed by JayB)
                                – Some boundary values corrected
                                – Saving programs within panel
                                – Slight UI rework
                                – MIDI Global Delay parameter returned to normal
                                – Effects data sending via sysex implemented
                                – Added startup timer to prevent odd popup behaviour (thanks dnaldoog)
                                – Some bugfixes and boundary corrections

                                That’s not so many significant changes, but this version seems like more stable one. Next release will not be that soon because according to the manual there are a lot of typing and digging needed. What I wish is to implement saving and loading single programs from and to disk. Also I will try to implement saving all the sounds from plugin into single sysex dump file.

                                So, see you soon, hope next time all of that will be done.

                                Attachments:
                                You must be logged in to view attached files.
                                #115964
                                inteyes
                                Participant
                                  • Topics: 2
                                  • Replies: 12
                                  • Total: 14

                                  If someone interested in future updates, from now I will be uploading new versions in a topic at the “download panels” section (http://ctrlr.org/yamaha_an200/).

                                  There is some progress since previous release:

                                  – Sending full soundset to AN200 (replacing existing soundset with panel’s one) –
                                  – Storing single programs to internal AN200 memory
                                  – Saving / loading single patches as *.syx files
                                  – Saving bulk dumps as a *.syx file. Resulting file can be loaded into panel or can be sent to device directly by midiox (or stuff like that)

                                  #115972
                                  Possemo
                                  Participant
                                    • Topics: 14
                                    • Replies: 638
                                    • Total: 652
                                    • ★★★

                                    cool, I wanted to suggest that your panel seems to be mature enough for putting into the panels section. The panel progresses at fast pace, you got my respect!

                                    #115973
                                    goodweather
                                    Participant
                                      • Topics: 45
                                      • Replies: 550
                                      • Total: 595
                                      • ★★★

                                      Very nice panel so, as Possemo said, respect and welcome to Ctrlr panel makers’ community (if that one is existing, hahaha… 😉 )

                                      #115974
                                      inteyes
                                      Participant
                                        • Topics: 2
                                        • Replies: 12
                                        • Total: 14

                                        The hardest part was to find proper starting point, and thanks to you I found it. Thank you guys, I really appreciate your help!

                                      Viewing 18 posts - 1 through 18 (of 18 total)
                                      • The forum ‘Panels, Components, Macros’ is closed to new topics and replies.
                                      There is currently 0 users and 99 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