shooking / ZoomPedalFun

A collection of tips and tricks for Zoom B1On, B1XFour and G1XFour pedals.
Creative Commons Zero v1.0 Universal
66 stars 3 forks source link

G1x Four to B1x Four help? #38

Closed 3eby4b closed 1 month ago

3eby4b commented 9 months ago

yo!

I've just found this whole fun side of zoom pedals, and i currently own an unmodified Zoom G1X Four and I would like to be able to use some effects from a B1x Four on it.

I've downloaded the Zoom ZD2 editor and added some effects to the pedal (at least, ZD2 tells me that they are on it), however they did not appear for me to use when I'm making patches. I've kept most of the original G1x effects but added some of the B1x effects, namely the darkglass emulations, and they do not show up in the drive/distortion section of the effect library - both in the official effects manager and on the pedal itself.

I'm guessing my issue is that I need to put a B1x preset onto the pedal so it recognizes that there is a new effect, would that most likely be it? Or is it not possible to use some effects from both pedals; do I need to remove every G1x effect and instead install the B1x effects only? I would prefer not to have to remove every G1x effect because I use this pedal for both guitar and bass, but it's not my only effects pedal for guitar so I can remove all the G1x effects if it's the only way to get the bass effects to work.

I have watched the youtube videos and haven't figured anything out yet, but if I missed something in them just let me know.

thanks :> /bee

shooking commented 9 months ago

hi Bee

I'm guessing my issue is that I need to put a B1x preset onto the pedal so it recognizes that there is a new effect, would that most likely be it?

Or is it not possible to use some effects from both pedals; 

do I need to remove every G1x effect and instead install the B1x effects only?

I would prefer not to have to remove every G1x effect because I use this pedal for both guitar and bass, but it's not my only effects pedal for guitar so I can remove all the G1x effects if it's the only way to get the bass effects to work.

So answering questions:

  1. No you dont need to put B1X Four presets onto G1XFour for newly added FX to be recognized
  2. Yes you can use compatible FX from both pedals on either one - there is a BDL file that we (the community) think changes frequency response but for the moment let's ignore that
  3. No you do NOT have to remove every FX - the only reason I showed this on one of my videos is because some Brazilian users explained the B1XFour was double the price for them as a G1XFour. Then wanted to know how to make the G1XFour think it was a B1XFour.
  4. I personally use the G5n "as is" but with some B3n and B1XFour FX (and some A1XFour) - I mostly play bass,. I use the G5n because of the control surface but I also built my own B1XFour extender - I see Zoom are not brining out the CDR+ ... so maybe they understand their is more mileage in these product
  5. if you can find a cheap GCE-3 they can be decent for home experimentation - alas they only have headphone output - I see it is possible to convert to line out and it is (with a microprocessor) pretty much remote controllable.

Hope this answers your questions

What Mungwell and co found is the Zoom identifies itself and patches with some binary bits. So the older Zoom Guitar FX tool WONT show some FX - it knows you modified it. They show as missing FX. Tonelib wont show them either. But they should show in the pedal itself. Hence why I wrote a crude editor - I am old and using a 22" touchscreen at hand height allowed me to save my old back from bending down to adjust a parameter. But once set I tend to leave well alone - just move presets or turn an FX off live.

Hope this helps - if you need some better explanation I can try to make a specific video to show it. Oh the Zoom normally needs to be power cycled between patching new FX and it showing up. And if you run out of memory then the new FX doesnt fit - not sure it Mungewell's zoom-zt2 let you know this. Remove bomber for some extra space - unless you really love that FX :-)

3eby4b commented 9 months ago

Thanks for the quick response! But they should show in the pedal itself. They do not show on the pedal when I scroll through the available effects in edit mode - zoom-zt2 tells me that the files get moved but the pedal somehow doesn't agree. I've power cycled a couple times and nothing has changed.

I'm not home at the minute so I can't mess around with the pedal, but I'll take some more effects off when I get home and see if that empties enough space to clear up the issue. I'll leave an update if it works or not, but it's my best guess. I've already removed bomber ;) but I'll take off some more.

Thank you! I know I'm heading in the right direction now :]

shooking commented 9 months ago

ok so the only other advice I can offer is try my Python software. I made a Docker version of it for Raspberry Pi4 and another one for Linux. But you can also run it directly from the ZoomPedalFun.

My Pi4 got toasted (by a bloody update) - so I plan to add a new image to it soon and start again. My python takes sometimes 3 attempts to connect - I will try to fix that - then it goes off an renders what it sees on your petal. I also plan to cache a DB to make it faster.

I renderer FX that are on the pedal but Zoom Guitar Lab wont show. But odd that is doesnt show on the device. If it aint there then I wont see it either.

3eby4b commented 9 months ago

I'll try that as well later :) that's the zoomzt2_shooking.py file, yes?

shooking commented 9 months ago

nope - the b1xfour001.py

You can tell I am a little bit Asperger's - I looked at the README - no where do I say "run dis program" ;-(

That calls the zoomzt2_shooking.py - this is derived from an older version of Mungewell's program (a sort of fork) - at one point I need to see if he merged in some of the features I needed.

The program calls that one, interrogates the attached pedal (hence sometimes needs to be run 3 times) - gets list of FX, gets the patches, creates list of FX and their groups, then renders the patches and allows you to change values in real-time (alas midi numbers not the displayed - but that might come in a future).

I attached this to a 22" ProLite T2252MSC and a Pi4 - then I can display PDF scores, state of the pedal etc and setup patches as I like - then I put them onto the G5n (factory, bass and A1XFour mix) and gig with them.

Let's get your rig debugged and working.

3eby4b commented 9 months ago

Alright, thanks for the clarification! Like I mentioned, I'm not at home at the moment so I can't play with the pedal, but once I get home this evening I'll mess around with the program, see what I can get to work, and keep you updated if I need anything else. I really appreciate all the help so far!

3eby4b commented 9 months ago

Is it required to run the program with a raspberry pi? I am attempting to run it on a mac thru terminal and it is not working. I've just installed all the dependencies with pip, but it just stops before popping up any windows. It can identify what the pedal is, but then cancels out. here's what it gives me:

STARTING INIT (126, 0, 6, 2, 82, 110, 0, 13, 0, 50, 46, 48, 48) {'model': 'G1X Four', 'numPatches': 50, 'bankSize': 10, 'ptcSize': 760, 'version': '2.00', 'gce3version': 0, 'maxFX': 5} b'Filename doesnt exist\n'FINISHED INIT Something wrong - expected to have created allfx.json and allpatches.json Try replugging pedal into Pi. Ensure you only have one Zoom connected.

I've tried to run it multiple times, and it either gives me that or a long string like this:

STARTING INIT (126, 0, 6, 2, 82, 110, 0, 13, 0, 50, 46, 48, 48) {'model': 'G1X Four', 'numPatches': 50, 'bankSize': 10, 'ptcSize': 760, 'version': '2.00', 'gce3version': 0, 'maxFX': 5} b'Traceback (most recent call last):\n File "/Users/B/Downloads/ZoomPedalFun-main/python/mypedal/../zoomzt2_shooking.py", line 1263, in <module>\n main()\n File "/Users/B/Downloads/ZoomPedalFun-main/python/mypedal/../zoomzt2_shooking.py", line 1133, in main\n config = ZT2.parse(data)\n ^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 404, in parse\n return self.parse_stream(io.BytesIO(data), **contextkw)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 416, in parse_stream\n return self._parsereport(stream, context, "(parsing)")\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 4213, in _parse\n obj = self.subcon._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 2392, in _parse\n subobj = sc._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 2770, in _parse\n return self.subcon._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 2236, in _parse\n subobj = sc._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 2770, in _parse\n return self.subcon._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 2843, in _parse\n obj = self.subcon._parsereport(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 428, in _parsereport\n obj = self._parse(stream, context, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 964, in _parse\n return stream_read(stream, length, path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/construct/core.py", line 178, in stream_read\n raise StreamError("stream read less than specified amount, expected %d, found %d" % (length, len(data)), path=path)\nconstruct.core.StreamError: Error in path (parsing) -> header -> a\nstream read less than specified amount, expected 4, found 0\n'FINISHED INIT Something wrong - expected to have created allfx.json and allpatches.json Try replugging pedal into Pi. Ensure you only have one Zoom connected.

3eby4b commented 9 months ago

I tried on windows and it gave me a similar error. it tries to point to a file directory that isn't there, I guess? I don't know how to tell it where to look instead if that is actually the issue.

3eby4b commented 9 months ago
Screen Shot 2024-02-13 at 5 28 40 PM

I can see that it creates a folder with a backup of all pedals but it seems to stop after getting FLST_SEQ both times I've tried this

Screen Shot 2024-02-13 at 5 29 32 PM
shooking commented 9 months ago

hi there. Yes the original Python was tested on a Pi4 - I choose it because it was cheap (before Pandemic and BS Chip shortages!)

I dont have access to a Mac. I could try it on Windows later but I suspect I assumed Linux style paths.

In essence it is working - in that you see it trying to communicate with the pedal and it MUST be doing that given the output you are getting.

It does create a sub directory - you could comment out the code that deletes that content.

IIRC Mungewell uses an older version of Construct - I modified to use the later version but that program might be subject to change.

It should read the FLST_SEQ.ZT2 If you dont rerun the program - see if this still exists in MyPedal directory

try "strings FLST_SEQ.ZT2" and see if it finds the new FX you added - if not then the original zoom-zt GUI didnt manage to copy it onto the pedal.

I use TkInter to render the info - let me try later on Windoze to see if I can get it working.

It is trying to generate allfx.json and allpatches.json

Again if it gets to allfx.json search for the New FX you loaded - not there? Then it didnt make it to the pedal.

Thanks for posting stacktrace - it might also give me a clue as to why I have to run it 3 times to get it working.

3eby4b commented 9 months ago

I did not see the FLST_SEQ.ZT2 file at any point in the MyPedal directory, it looks like it has the error while trying to get it from the pedal - at least to my untrained eye lol I can double check later and see if I can work something out to access it. I'll also try reinstalling the dependencies, I may have installed the wrong things :/ I also removed more effects, and the injected ones still hadn't shown up. Mungewell's zoom-zt2 tells me that it's at 96% memory.

I have access to a Pi 3b at home so I can also run the program on that, since it was built for linux I'm assuming it'll run a lot smoother.

3eby4b commented 9 months ago

IT WORKED! I see the effects on the pedal! I don't know why, but I somehow had to reinstall all the effects three times, but they have finally shown up!

try "strings FLST_SEQ.ZT2" and see if it finds the new FX you added - if not then the original zoom-zt GUI didnt manage to copy it onto the pedal.

I think that was it, zoom-zt2 not updating the FLST_SEQ.ZT2 file correctly and that's what messed up your program: having the pedal say one thing and FLST_SEQ say a different thing. Thank you so much for all the help, even if it was just my fault for goofing up and overcomplicating it. I really appreciate it :)

shooking commented 9 months ago

Yeah sometimes there is a "3rd times a charm" with these pedals.

The important part you clearly can see is if the FLST_SQL.ZT2 doesnt see it (the table view?) then that FX isnt on your pedal. And even if it sees it there are GUARD.ZT2 files that seem to prevent certain FX from working even if loaded and finally if you choose a too powerful FX from another pedal or a series of A1X ZD2 then they wont work as expected if at all.

That's why I got me a G5n as my master controller. Folks were selling them off cheap - I think mine as £110.

Thanks for reaching out - I have a lot of external "stuff" going on for the past year - you have given me the momentum to assign some "me" time to pedals etc.

So hopefully now the Bass FX you want can show up on the pedal and optionally in the later Zoom Guitar Lab (I think 7.x started to render the new FX - seeing what Zoom have done with the CDR+ release I suspect they might productionize some of the stuff Mungewell, Nomadbyte, myself and others have done - that would be cool).

nomadbyte commented 8 months ago

...zoom-zt2 not updating the FLST_SEQ.ZT2 file correctly

@3eby4b if that's really what the problem was, then you should report it on the @mungewell repo Issues.

In general, the zoom-zt2 tool has gotten to a stable state, working as intended, provided it's used properly with supported devices. G1X FOUR and B1X FOUR are supported. It may change soon to accommodate the new generation of ZD2-based pedals.

shooking commented 1 month ago

closing as complete. I did make a Rapsberry Pi docker image and an x86. I believe these run on the M1 Macs with no issue