Yamaha AN1X

With phase 4, the sys req dump parsing works. As does the patch request button parsing for the common sections. The scene one controls will not parse, not even the PEG and Porta on the lowest % setting.

The patch select functions will freeze up the E1 every time, needing a restart. I have tried with the most minimal MioXL routings to avoid feedback or other issues. Just E1<=>AN1x and DAW→AN1X. There is no routing set up in the E1.

A little later, the preset stopped parsing altogether, even after restarting. It had somehow got corrupted on the CF card. After erasing the preset slot and resending, system and common parsing functioned again.

Testing Phase 4 again today - it is all the same. System and Common will parse, but nothing from Scene 1 will. The various % parse amounts make no difference, and the length of time the E1 ‘MIDI In’ indicator lights up appears to stay constant. This might mean that the same dump is always being sent, just the system and common. I have directly cabled the E1 to the synth to rule out the MioXL and rptMIDI.

The patch select functions still crash the E1.

I have found one bug so far:

Mod Matrix / Layer Page:
SPLIT POINT is out by 1 semitone. E1 value ‘C 3’ selects ‘C#3’ on the AN1X.

There are two VCO sync parameter labels that could perhaps be changed to mirror those used by the synth.

‘FM MOD SRC’ → ‘FM SRC 1’
‘VCO1 FM SRC’ → ‘FM SRC 2’

It all doesn’t sound too got. THe weird thing is that we are not sending anything particular back to AN1X. IN the beginning I had some AN1X ‘MIDI’ errors shown, but that was because I made some incorrect MIDI Sysex messages. I no longer had this on phase 4.
It looks more like the AN1X can’t cope with too many requests after one another. You may notice that specifically when turning a mod matrix amount… the synth really lags behind. I may have to build in some delays between subsequent instructions, or skip values alltogether for those commands that cut the sound anyway to ease off the traffic.

As for the E1 freezing, I ask @martin to guide us.

I have not had any controls cause the sound to break up or cut away.

The Matrix controls do lag, except in the two common slots for some reason. But this is not a problem, as it is not something that needs to be snappy on the synth display. Set it fast on the E1, and a second later the synth display updates to show it.

The Reverb Time, high damp, diffusion, ER<>Reverb, HPF, and LPF controls are still giving the SysExData Error, but they do parse correctly.

As you say, maybe a bigger delay between Common dump ending and the Voice Scene 1 request could get scene 1 to dump and parse?

Sorry, wasn’t available during the past days.
I had the AN1X crash once too now. better be careful.

The reverb parameters are now corrected; they ware supposed to send 2 data bytes, and I had only foreseen 1. We should have no more SysExData Error.
I’ve also added a 15ms overall lag and a .7s instead of .56 s delay between requesting common dump and voice scene dump.

I’ve improved the way ‘PW’, ARP Velocity, ARP Gate and Swing are shown, adding “%” in the format.

I’ll continue testing

1 Like

Mod Matrix / Layer Page:
SPLIT POINT corrected

VCO sync parameters relabeled
‘FM MOD SRC’ → ‘FM SRC 1’
‘VCO1 FM SRC’ → ‘FM SRC 2’

1 Like

It is all working nicely, except that voice scenes will still not parse on any % setting, even the lowest. System, common, and fx will parse with no problems. I have the E1 directly cabled to the AN1X, so its not down to MIDI gremlins. Is it parsing voice scenes correctly for you?

Yep that is working, alltough still not consistently. I’m getting a battery low warning on the Yamaha, so not sure what is causing it.

Anyways, in phase 4 the parsing of System and Common (which also includes FX) is done via the standard E1 parsing method.
The parsing of the voice scenes is handled differently. Can you debug the following please:

  • While keeping the E1 connected to the PC (so you can update the E1), enable the new ‘Debug’ mode in the system page. That should send a lot of data to the Web Editor, visible below the lua code.
    If the Voices are being parsed, it is done as follows:
  • midi.onSysEx is triggered (print on line 440 "sysex message received on interface= ")
  • if all conditions are met, the scene 1 should be received (print on line 446 “current scene 1 received”)
  • once all of the scene 1 sysEx is assigned to the table sysExScene[1] and the Scene parameter 111 is NOT set to Scene 2, this will invoke function assignParam(1)
  • when assignParam is invoked, it will generate a print on line 413 ("line 400 : assignParam for scene ")
  • for each parameter that is now assigned one of the received sysEx bytes (j), a print is made on line 432 ("scene “…”, assigning j = “…”, to parameter “…”, a value of "…)
  • ocne all parameters (a selected by “% of SCENE”) are done, it will print line 452 “current scene 1 assigned”
    Can you debug and see how for you get ?

I’ve published a phase 5 too: this one parses all 3 scenes (1, 2 and morph), but Yamaha doesn’t offer a reply for the Morph scene for all presets. That might be something I’ll drop later on.

In the preset edit window, Lua Editor page, I’m seeing nothing appear below the Lua code when debug is activated on the system page. Nothing appears on the ‘debugger’ or ‘midi console’ pages either. Am I lookin in the wrong place? It is definitely connected to the E1, via USB. The webpage says the E1 is online. Do I need to update to phase 5 first?

Can you check the following:
Ensure the PC “sees” the E1:


While you are in the lua editor, send the preset to the E1 ,via the green encircled arrow

Then below, one should see this appear:

When, while keeping the editor open, you enable “Debug” on the preset itself in the system page , and you’ll see all sorts of messages being added :slight_smile:

Phase 4 page, connected:

In the Lua editor after pressing the green ‘send to electra’ button, no writing appears at the bottom:

Enabling debug on the electra produces no data either. Maybe the W10 browser I use (Brave) has a problem?

Happy new year! Unfortunately I can’t help you on that one….

Happy New Year! I found the problem with the Lua Editor log, it will not work when Electra MIDI 3 i/o is being used any other app on Windows 10. I had Bitwig open which by default opens and uses the Electra Bitwig preset. Closing Bitwig allows the editor log to start working.

With debug activated, when I press the E1 physical buffer request button, and the % control is set to ‘+VCF’, the editor log shows the following data. The Log Level is by default set to ‘Critical’. Do I need to change that to another setting? The preset is still just parsing the system and common buffers.

14:21:13.816 lua: L360: midiValue 512, origin 1
14:21:13.817 lua: L360: midiValue 512, origin 1
14:21:13.818 lua: L360: midiValue 64, origin 1
14:21:13.818 lua: L360: midiValue 4, origin 1
14:21:13.819 lua: L360: midiValue 0, origin 1
14:21:13.819 lua: L360: midiValue 0, origin 1
14:21:13.819 lua: L360: midiValue 0, origin 1
14:21:13.820 lua: L360: midiValue 127, origin 1
14:21:13.820 lua: L360: midiValue 0, origin 1
14:21:13.821 lua: L360: midiValue 0, origin 1
14:21:13.821 lua: L360: midiValue 1, origin 1
14:21:13.822 lua: L360: midiValue 1, origin 1
14:21:13.822 lua: L360: midiValue 1, origin 1
14:21:13.823 lua: L360: midiValue 8, origin 1
14:21:13.823 lua: L360: midiValue 4, origin 1
14:21:13.823 lua: L360: midiValue 64, origin 1
14:21:13.824 lua: L360: midiValue 2, origin 1
14:21:13.824 lua: L360: midiValue 12, origin 1
14:21:13.825 lua: L360: midiValue 41, origin 1
14:21:13.825 lua: L360: midiValue 42, origin 1
14:21:13.826 lua: L360: midiValue 43, origin 1
14:21:13.826 lua: L360: midiValue 44, origin 1
14:21:13.827 lua: L360: midiValue 45, origin 1
14:21:13.827 lua: L360: midiValue 46, origin 1
14:21:13.828 lua: L360: midiValue 47, origin 1
14:21:13.828 lua: L360: midiValue 48, origin 1
14:21:13.829 lua: #
14:21:13.830 lua: sysex message received on interface= 0 with a length of 39.0
14:21:13.832 lua: L168: genericHide parNum..4
14:21:13.833 function ‘runFormatter’ does not return value
14:21:14.450 lua: L360: midiValue 68, origin 1
14:21:14.450 lua: L360: midiValue 101, origin 1
14:21:14.452 lua: L360: midiValue 116, origin 1
14:21:14.452 lua: L360: midiValue 114, origin 1
14:21:14.452 lua: L360: midiValue 111, origin 1
14:21:14.452 lua: L360: midiValue 105, origin 1
14:21:14.453 lua: L360: midiValue 116, origin 1
14:21:14.453 lua: L360: midiValue 32, origin 1
14:21:14.454 lua: L360: midiValue 32, origin 1
14:21:14.454 lua: L360: midiValue 32, origin 1
14:21:14.455 lua: L360: midiValue 20, origin 1
14:21:14.455 lua: L360: midiValue 1, origin 1
14:21:14.456 lua: L360: midiValue 4, origin 1
14:21:14.456 lua: L360: midiValue 0, origin 1
14:21:14.457 lua: L360: midiValue 0, origin 1
14:21:14.457 lua: L360: midiValue 128, origin 1
14:21:14.458 lua: L360: midiValue 138, origin 1
14:21:14.458 lua: L360: midiValue 8, origin 1
14:21:14.459 lua: L360: midiValue 60, origin 1
14:21:14.459 lua: L360: midiValue 0, origin 1
14:21:14.460 lua: L360: midiValue 114, origin 1
14:21:14.461 lua: L360: midiValue 0, origin 1
14:21:14.461 lua: L360: midiValue 4, origin 1
14:21:14.462 lua: L360: midiValue 0, origin 1
14:21:14.462 lua: L360: midiValue 0, origin 1
14:21:14.463 lua: L360: midiValue 64, origin 1
14:21:14.463 lua: L360: midiValue 1, origin 1
14:21:14.464 lua: L360: midiValue 0, origin 1
14:21:14.464 lua: L360: midiValue 0, origin 1
14:21:14.465 lua: L360: midiValue 0, origin 1
14:21:14.465 lua: L360: midiValue 0, origin 1
14:21:14.466 lua: L360: midiValue 0, origin 1
14:21:14.466 lua: L360: midiValue 0, origin 1
14:21:14.467 lua: L360: midiValue 0, origin 1
14:21:14.467 lua: L360: midiValue 0, origin 1
14:21:14.468 lua: L360: midiValue 49, origin 1
14:21:14.468 lua: L360: midiValue 14, origin 1
14:21:14.470 lua: L360: midiValue 30, origin 1
14:21:14.470 lua: L360: midiValue 5, origin 1
14:21:14.470 lua: L360: midiValue 20, origin 1
14:21:14.470 lua: L360: midiValue 40, origin 1
14:21:14.471 lua: L360: midiValue 52, origin 1
14:21:14.471 lua: L360: midiValue 66, origin 1
14:21:14.472 lua: L360: midiValue 68, origin 1
14:21:14.472 lua: L360: midiValue 68, origin 1
14:21:14.473 lua: L360: midiValue 10, origin 1
14:21:14.473 lua: L360: midiValue 0, origin 1
14:21:14.474 lua: L360: midiValue 0, origin 1
14:21:14.474 lua: L360: midiValue 50, origin 1
14:21:14.475 lua: L360: midiValue 4352, origin 1
14:21:14.475 lua: L360: midiValue 4378, origin 1
14:21:14.476 lua: L360: midiValue 2176, origin 1
14:21:14.476 lua: L360: midiValue 2197, origin 1
14:21:14.477 lua: L360: midiValue 4352, origin 1
14:21:14.477 lua: L360: midiValue 4378, origin 1
14:21:14.478 lua: L360: midiValue 0, origin 1
14:21:14.478 lua: L360: midiValue 0, origin 1
14:21:14.479 lua: L360: midiValue 128, origin 1
14:21:14.479 lua: L360: midiValue 137, origin 1
14:21:14.480 lua: L360: midiValue 0, origin 1
14:21:14.480 lua: L360: midiValue 0, origin 1
14:21:14.481 lua: L360: midiValue 0, origin 1
14:21:14.481 lua: L360: midiValue 54, origin 1
14:21:14.482 lua: L360: midiValue 0, origin 1
14:21:14.482 lua: L360: midiValue 0, origin 1
14:21:14.483 lua: L360: midiValue 0, origin 1
14:21:14.483 lua: L360: midiValue 25, origin 1
14:21:14.484 lua: L360: midiValue 0, origin 1
14:21:14.484 lua: L360: midiValue 5, origin 1
14:21:14.485 lua: L360: midiValue 0, origin 1
14:21:14.486 lua: L360: midiValue 10, origin 1
14:21:14.486 lua: L360: midiValue 256, origin 1
14:21:14.486 lua: L360: midiValue 321, origin 1
14:21:14.487 lua: L360: midiValue 0, origin 1
14:21:14.487 lua: L360: midiValue 79, origin 1
14:21:14.488 lua: L360: midiValue 0, origin 1
14:21:14.488 lua: L360: midiValue 18, origin 1
14:21:14.489 lua: L360: midiValue 0, origin 1
14:21:14.489 lua: L360: midiValue 46, origin 1
14:21:14.490 lua: L360: midiValue 1, origin 1
14:21:14.490 lua: L360: midiValue 0, origin 1
14:21:14.491 lua: L360: midiValue 16, origin 1
14:21:14.491 lua: L360: midiValue 1, origin 1
14:21:14.492 lua: L360: midiValue 0, origin 1
14:21:14.492 lua: L360: midiValue 1, origin 1
14:21:14.493 lua: L360: midiValue 7, origin 1
14:21:14.493 lua: L360: midiValue 50, origin 1
14:21:14.494 lua: L360: midiValue 0, origin 1
14:21:14.494 lua: L360: midiValue 100, origin 1
14:21:14.495 lua: L360: midiValue 0, origin 1
14:21:14.495 lua: L360: midiValue 100, origin 1
14:21:14.496 lua: L360: midiValue 1, origin 1
14:21:14.496 lua: L360: midiValue 1, origin 1
14:21:14.497 lua: L360: midiValue 6, origin 1
14:21:14.497 lua: L360: midiValue 64, origin 1
14:21:14.498 lua: L360: midiValue 43, origin 1
14:21:14.498 lua: L360: midiValue 0, origin 1
14:21:14.499 lua: L360: midiValue 0, origin 1
14:21:14.499 lua: L360: midiValue 0, origin 1
14:21:14.500 lua: L360: midiValue 10, origin 1
14:21:14.500 lua: L360: midiValue 0, origin 1
14:21:14.501 lua: L360: midiValue 0, origin 1
14:21:14.502 lua: L360: midiValue 0, origin 1
14:21:14.502 lua: #
14:21:14.503 lua: sysex message received on interface= 0 with a length of 1651.0
14:21:14.504 function ‘runFormatter’ does not return value
14:21:14.504 lua: L168: genericHide parNum..111
14:21:14.505 lua: L168: genericHide parNum..194
14:21:14.506 function ‘runFormatter’ does not return value
14:26:17.567 lua: L360: midiValue 0, origin 2
14:26:17.569 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:17.787 lua: L360: midiValue 64, origin 2
14:26:17.788 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:19.797 lua: L360: midiValue 0, origin 2
14:26:19.799 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:20.134 lua: L360: midiValue 64, origin 2
14:26:20.136 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:21.425 lua: L360: midiValue 0, origin 2
14:26:21.427 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:21.674 lua: L360: midiValue 64, origin 2
14:26:21.676 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:25.078 lua: L360: midiValue 0, origin 2
14:26:25.080 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:25.401 lua: L360: midiValue 64, origin 2
14:26:25.402 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:27.102 lua: L360: midiValue 0, origin 2
14:26:27.105 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:27.176 lua: L360: midiValue 64, origin 2
14:26:27.178 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:30.917 lua: L360: midiValue 0, origin 2
14:26:30.919 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:30.990 lua: L360: midiValue 64, origin 2
14:26:30.992 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:31.093 lua: L360: midiValue 0, origin 2
14:26:31.095 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:31.152 lua: L360: midiValue 64, origin 2
14:26:31.154 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:34.086 lua: L360: midiValue 0, origin 2
14:26:34.088 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:34.453 lua: L360: midiValue 64, origin 2
14:26:34.455 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:41.554 lua: L360: midiValue 0, origin 2
14:26:41.556 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:42.082 lua: L360: midiValue 64, origin 2
14:26:42.084 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:46.541 lua: L360: midiValue 0, origin 2
14:26:46.544 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:46.630 lua: L360: midiValue 64, origin 2
14:26:46.632 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:47.040 lua: L360: midiValue 0, origin 2
14:26:47.043 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:47.099 lua: L360: midiValue 64, origin 2
14:26:47.101 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:47.950 lua: L360: midiValue 0, origin 2
14:26:47.952 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:48.038 lua: L360: midiValue 64, origin 2
14:26:48.040 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:48.229 lua: L360: midiValue 0, origin 2
14:26:48.231 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:48.904 lua: L360: midiValue 64, origin 2
14:26:48.907 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:26:51.237 lua: L360: midiValue 0, origin 2
14:26:51.239 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:26:51.721 lua: L360: midiValue 64, origin 2
14:26:51.723 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:16.295 lua: L360: midiValue 0, origin 2
14:27:16.298 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:17.145 lua: L360: midiValue 64, origin 2
14:27:17.147 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:17.658 lua: L360: midiValue 0, origin 2
14:27:17.661 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:24.804 lua: L360: midiValue 64, origin 2
14:27:24.806 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:25.904 lua: L360: midiValue 0, origin 2
14:27:25.906 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:26.622 lua: L360: midiValue 64, origin 2
14:27:26.625 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:28.574 lua: L360: midiValue 0, origin 2
14:27:28.577 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:29.469 lua: L360: midiValue 64, origin 2
14:27:29.471 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:30.305 lua: L360: midiValue 0, origin 2
14:27:30.307 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:30.672 lua: L360: midiValue 64, origin 2
14:27:30.674 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:31.801 lua: L360: midiValue 0, origin 2
14:27:31.803 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:32.271 lua: L360: midiValue 64, origin 2
14:27:32.273 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:32.946 lua: L360: midiValue 0, origin 2
14:27:32.948 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:35.410 lua: L360: midiValue 64, origin 2
14:27:35.413 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:35.836 lua: L360: midiValue 0, origin 2
14:27:35.838 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:40.472 lua: L360: midiValue 64, origin 2
14:27:40.475 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:40.575 lua: L360: midiValue 0, origin 2
14:27:40.577 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:40.986 lua: L360: midiValue 64, origin 2
14:27:40.988 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:53.045 lua: L360: midiValue 0, origin 2
14:27:53.048 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:53.426 lua: L360: midiValue 64, origin 2
14:27:53.429 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:27:53.778 lua: L360: midiValue 0, origin 2
14:27:53.781 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:27:53.999 lua: L360: midiValue 64, origin 2
14:27:54.001 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:28:02.816 lua: L360: midiValue 0, origin 2
14:28:02.819 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:28:03.315 lua: L360: midiValue 64, origin 2
14:28:03.317 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:28:25.702 lua: L360: midiValue 0, origin 2
14:28:25.705 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:28:26.025 lua: L360: midiValue 64, origin 2
14:28:26.028 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:28:36.926 lua: L360: midiValue 0, origin 2
14:28:36.929 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:28:37.219 lua: L360: midiValue 64, origin 2
14:28:37.222 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127
14:28:44.613 lua: L360: midiValue 0, origin 2
14:28:44.616 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 0.0, max 127
14:28:47.753 lua: L360: midiValue 64, origin 2
14:28:47.755 lua: pair 1: control nr 324 (RIBBON X) affects parameter 47, type 0, value 64.0, max 127

I have also had the thought that maybe we are using different firmware versions in our synths. Mine has the latest, which is V1.04.

Which does yours use? You can check by holding down 0, -, and + buttons until the welcome message finishes whilst powering on.

According to an AI search (take it with a pinch of salt), there were five versions, 1.00 to 1.04. The biggest changes were between 1.00 and 1.01. After 1.01, the sysex format was stable.

I’ll post a summary below:

Yamaha AN1x Firmware Revision History

The AN1x had a relatively short but significant firmware update cycle. The primary versions were:

  • V1.00: Original shipping firmware.

  • V1.01: First major update. This was a significant bug-fix and feature enhancement release.

  • V1.02 - V1.03: Minor intermediary updates, primarily for stability.

  • V1.04: The final and most common version. Considered the definitive firmware.

The update from V1.00 to V1.01 was the most critical. Yamaha released it to address numerous issues reported by early adopters. Updates from V1.01 to V1.04 were more about refinement.

Key Feature Changes & Bug Fixes Relevant to MIDI/SysEx

While comprehensive patch notes are lost to time, community consensus and user manuals point to these key changes:

V1.00 to V1.01 (The Big One):

  1. Sequencer Memory Increase: The big-ticket feature. Pattern memory was doubled (from 8 to 16 patterns per bank) and Song memory significantly increased.

  2. MIDI Clock Sync Fixes: Improved stability when syncing the arpeggiator and sequencer to external MIDI Clock.

  3. System Exclusive Dump Fixes/Changes: This is the most likely culprit for your issue. Early firmware (V1.00) had known bugs and inconsistencies in how it formatted or responded to certain SysEx dump requests. V1.01 standardized and corrected these routines. If your developer’s AN1x is on V1.00 and yours is on V1.04, they are likely sending/receiving slightly different data structures.

  4. Voice Editing & Parameter Response: General stability improvements in real-time parameter changes via MIDI CC and SysEx.

  5. Arpeggiator & Controller Fixes: Various bugs related to latch mode and real-time control were addressed.

V1.01 to V1.04:

  • Further refinements to sequencer timing and MIDI sync.

  • Minor bug fixes related to system stability.

  • It is generally believed that the SysEx implementation was stable from V1.01 onward, meaning V1.04 should behave identically to V1.01 in this regard.

With your battery low level warning, if you have not changed the battery on the motherboard since buying the AN1X, it may be very old and need changing. The Test mode accessed when reading the firmware version also allows the display of the battery voltage, which should be around 3V. Press the + button one time to see the battery voltage whilst in test mode. My battery is new and reads 3.08V.

An AI search has come up with the suggestion that a permanent low voltage warning, even with a new battery is a bug of the original V1.00 firmware.

Based on the available information, there is no definitive specification for the exact voltage that triggers the low battery warning on the Yamaha AN1x. The warning system is a known issue, and the consensus points to upgrading the firmware as the primary solution.

:warning: About the Low Voltage Warning Issue

It is well-documented among users that some AN1x synthesizers show a “low voltage” or “low battery” warning prematurely, even when the backup battery is new or has sufficient charge . This is a known glitch related to the original firmware, not necessarily an accurate reflection of the battery’s actual voltage.

:wrench: The Solution: Firmware Update

The most effective fix is to upgrade the synthesizer’s operating system to version 1.04 . According to discussions in synth forums, this update specifically corrects the erroneous low voltage warning .

  • What it fixes: The v1.04 firmware resolves the premature warning bug and also addresses an audio glitch with tempo-synced delay effects .

  • How to check your version: You can check which firmware is installed by pressing the +, -, and 0 buttons simultaneously while powering on the synth .

:light_bulb: Battery Replacement & Precautions

If you need to replace the battery due to a legitimate failure, here is the key information:

Battery Type Notes & Compatibility
Original Spec CR2450y (a 3V battery).
Common Replacement A standard CR2450 is widely reported to fit and work correctly.
Alternative Fit A DL2430 or CR2430 also fits perfectly, though its capacity (and thus lifespan) may be lower.

Hi @Red_Hector,

I’ve decided to say goodbye to my AN1X. how much I do like the sound of it, I find the scene implementation a tad too complex to remember how it acutally works.
Also the channel implementation with 2 inbound and 2 outbound channels goes beyond my own brain’s memory capabilities. :slight_smile:

So I find myself lossing my workflow “zen” mode with the AN1X.

that being said AN1X phase 5 will be the last version made of the preset. And the only version kept.

No worries. Aura intend to make a AN1x librarian/editor plugin, which I will be able to control using the E1 Bitwig template.

Maybe give this one a try… github - QAN1xEditor

1 Like