October 10, 2024, 07:24:41 am
Welcome, Guest. Please login or register
News:

Arturia Forums



Author Topic: MatrixBrute Patch Visualizer  (Read 3629 times)

andreas69

  • Newbie
  • Newbie
  • *
  • Posts: 2
  • Karma: 1
MatrixBrute Patch Visualizer
« on: November 16, 2022, 06:09:20 pm »
Hi,
I made a Win10 application which displays the patch of the MatrixBrute. The patch is retrieved over Midi (USB-cable).
It would be nice if somebdoy want to test this software.



http://v.ram.free.fr/matrixbrute.htm




Processaurus

  • Newbie
  • Jr. Member
  • *
  • Posts: 84
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #1 on: November 20, 2022, 05:51:35 pm »
Wow! Thank you for sharing your work. Nice looking interface, too.

Brutefactor

  • Apprentice
  • *
  • Posts: 19
  • Karma: 4
Re: MatrixBrute Patch Visualizer
« Reply #2 on: December 01, 2022, 08:46:20 pm »
Great effort!

I had some ideas for my MBPV ( https://forum.arturia.com/index.php?topic=108585.0 ) to include similar features (get patches directly from MB, show button movement etc) but ran into a long break on developement after v.1 - time will show if I continue on v.2 soon or not (got inspired after testing your app!)

I suppose the data retrieved when you "get" a patch matches the data starting after this part of the serialized string (in a .mbp file) and it need to be converted from 1600 7bit to 1400 8bit values as described by mkoch.
22 serialization::archive 10 0 4 4 1600 12 FallingFifth 5 0 0 18 000000100100100000 0 0 16 1536 .....
and the header contains at least the name (here Init) and the slot (here 0F 0E = P15)
     [45] F0  00  20  6B  06  01  6A  23  52  0F  0E  00  04  40  00  02  20  7E  00  01  20  49  6E  69  74  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  F7 
     [10] F0  00  20  6B  06  01  6B  00  15  F7 
Note that there is 2 different formats (at least in data saved from MCC, probably also in the midi-data), depending on if the patch was created in firmware 1 or FW2. If uploading a FW1 patch to a MB running FW2 it will not be updated to FW2-format until the patch is edited & saved on the MB. I have decoded most of the format for both patch & sequence (based on mkoch's starting point). It's not a lot of overlaps in the two formats, but f.ex in FW1 each matrix button "is used" flag is stored as 2 bytes (16x16x2=512 bytes) but in FW2 it is packed 28x16 "is used" into 32 bytes (1 bit per button) to free up space for other things (more matrix buttons, custom LFOs). That will probably not affect your app as long as you just use data for the knows that accepts CC. I can publish my complete decoding later, just need to clean it up.


I also did some quick testing of your app and sum it up so far as follows:
in short: a bug when output channel <> input channel blocks data from app->Mb in some cases, see below

Working:
- Connects to MB and shows correct in / out midi channel (mine: 1 & 14)
- "Get patch" updates panel in app
- Knobs in app follows knob on MB

Not working (on my setup):
- Turning knob in app do not affect sound/setting on the MB:
  - F.ex master cutoff Sends this "BD 1B 15 --- BD 3B 0F", which is "CC on channel 14 for controller 27 MSB / LSB"
  - When testing with Reaper it records & plays pack movement of the Master Cutoff fine (but I had to put midich to 1).
  - Fix? I suspect you need to adjust the channel to what the app discovers as "Midi in channel" (on mine its 1), not the Midi out channel" (mine:14) which you probably use for updating knobs in the app. I confirmed this by changing my out channel to 1 on the MB, then app->MB knobs works!
- "Select patch":
  - Gets the correct name in "Preset"- window
  - Nothing is changed in app on panel <-- This is same cause as above, works if midi in and out is same channel!
 
Then a strange bug:
-Knobs updating in app suddenly stopped working
  - I could not reproduce with some tries, but I was doing sth like this
     - in app: selecting a few patches, then getting a few
     - pressing "panel", then unpress "panel"
     - Holding Preset, then turning a knob (to see value), then releasing
  - To fix, I turned MB off then on, and did disconnect+connect in app (did not try disconnet/reconnect app before turning off)   

mkoch

  • Apprentice
  • *
  • Posts: 46
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #3 on: January 13, 2023, 02:28:41 pm »
Hello,

does anybody know if a similar patch visualizer exists also for MicroFreak?

Michael

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #4 on: March 30, 2023, 05:09:43 pm »
I'm a bit late, Andreas,

I just installed it on Windows 11 and it works well.

It's more than a visualizer, it downloads a MB patch from the currently loaded preset bank and allows you to modify the current parameters (VCO volume, current filter, etc.).
You can't add VCO (eg. VCO3) if it's not in the current patch but it's quite useful as such.

Thank you very much!


PS. I'll try Brutefactor visualizer on linux. I didn't want to install java on Windows.
« Last Edit: March 30, 2023, 05:12:03 pm by francoise »

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #5 on: March 30, 2023, 11:18:35 pm »
I've been trying the Andreas Patch Visualizer (I would add editor) for two hours on Windows 11.

It's very straigthforward. You connect to MB, choose a patch (eg. M4), select and get the patch.
Then, you can modify the patch parameters. But you can't add a VCO if it's not in the patch and you can't change the effect (eg. from Reverb to Chorus) but you can modify the Delay, Regeneration etc.

I find it very useful.
You can see clearly hidden patch parameters like the Velo/vcf, Velo/vca, delay settings. It's great to tweak and explore an existing patch without turning knobs or moving slides. Obviously you can't edit the Sequence or the Mod panel.

I did not want to install the CTR (CTRL?) infrastructure and then the MB panel.
Dr Justice created a Cubase Pro panel. Alas I only have Cubase Elements.

Minor glitch: I once lost the mouse pointer. The app did not crash but the pointer was invisible. I simply shutdown and restarted the app. The modifications on the MB could be saved.
« Last Edit: March 30, 2023, 11:23:16 pm by francoise »

DrJustice

  • Super Doc
  • Administrator
  • Hero Member
  • *****
  • Posts: 1.046
  • Karma: 480
Re: MatrixBrute Patch Visualizer
« Reply #6 on: March 31, 2023, 12:36:35 pm »
...
PS. I'll try Brutefactor visualizer on linux. I didn't want to install java on Windows.

You don't need to install Java as such, just download it and place it in a folder so that the Java runtime can be invoked to run the visualizer. The MBPV manual has the details.

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #7 on: March 31, 2023, 04:15:21 pm »
Thank you, Dr.Justice.

I upgraded my Java (it is version  "1.8.0_361"), and launched "java -jar MBPatchViewer.jar"
The upgraded version is too old. Sdk 11 is needed.

From linux, it works perfectly after installing the JRE on Ubuntu 22.
It's quite different from Andreas program.
It is a full visualizer with Preset parameters, Sequences, Mod and  Custom LFOs when used.
But you can't edit the Preset parameters.

The sdk 20 installer (msi) on Windows contains 95,000 files. It's not small.
A simple JRE install (or appletviewer+jli.dll) is not available anymore:

"Traditionally, you would want the Java Runtime Environment (JRE), but this is no longer available separately with current versions of Java. Why? Oracle now expects all developers to include a Java runtime with Java-based applications. If the developer didn't do this, you are now forced to install the JDK."
https://superuser.com/questions/1431459/what-is-the-minimal-installation-possible-in-order-to-run-a-jar-java-file
« Last Edit: March 31, 2023, 08:59:14 pm by francoise »

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #8 on: March 31, 2023, 09:45:54 pm »
On the minor glitch:

Sometimes I loose the mouse pointer. It disappears completely from the application surface.
The app does not crash but the pointer becomes invisible. I simply shutdown and restart the app.
Any modifications on the MB can be saved.

Hint:
When (left) clicking on a control, the mouse pointer briefly disappears. Sometimes, it seems to stay invisible.

DrJustice

  • Super Doc
  • Administrator
  • Hero Member
  • *****
  • Posts: 1.046
  • Karma: 480
Re: MatrixBrute Patch Visualizer
« Reply #9 on: March 31, 2023, 11:34:03 pm »
...
The sdk 20 installer (msi) on Windows contains 95,000 files. It's not small.
A simple JRE install (or appletviewer+jli.dll) is not available anymore:

"Traditionally, you would want the Java Runtime Environment (JRE), but this is no longer available separately with current versions of Java. Why? Oracle now expects all developers to include a Java runtime with Java-based applications. If the developer didn't do this, you are now forced to install the JDK."
https://superuser.com/questions/1431459/what-is-the-minimal-installation-possible-in-order-to-run-a-jar-java-file
Thanks for the info! I'm not into Java so was not up to date on how they do things.

I have jdk-11 on my Win 10 PC which is 490 files at 285MB, for the purpose of running MBPV, and that's just a folder, no install (I don't like to have a full Java install either). It can be found here.

Sorry for the OT.
« Last Edit: March 31, 2023, 11:38:17 pm by DrJustice »

Brutefactor

  • Apprentice
  • *
  • Posts: 19
  • Karma: 4
Re: MatrixBrute Patch Visualizer
« Reply #10 on: April 01, 2023, 01:55:58 am »
Yes, you need java 11 to run MBPV, but it can be unzipped in your MBPV folder so you can run MBPV with java 11 without messing with your default java 8 installation.
I hate to do limitations like this, but concluded that requiring java 11 as a simple download+unzip was an acceptable compromise to not use some new java features that made coding easier - why fight progress? java is at v.21 now, so I'm 10 versions behind...

As Dr. Justice mention you can follow the guide in the manual https://github.com/MatrixbrutePatchViewer/MBPV/blob/main/MatrixbrutePatchViewer_manual.pdf on page 3 under "Example installation" and unzip the java11-folder where-ever you want, then modify the .bat and run it.

As you mention my app is quite different from Andreas's app, as he is interacting with the MB, my app is just reading the MCS-files to show most of the details of each patch (I set myself a limitation to just read, never write from/to the MB (to avoid bricking a MB that is not mine - or even worse, mine!...)- but I see a lot of use cases where f.ex being able to quickly arrange & create a new 256 patches file from multiple files would be useful. That is just rearranging files of patches inside a zip structure and should be very low risk).

I have some visions of a v.2 of MBPV that could also grab data directly from the MB and also update parameters in real time when turning knobs on the MB, instead of getting it from the arturia app files. It has been on hold for a year+, but might be picked up any time when coding inspiration > use MB inspiration!
Unfortunately Arturia decided to cripple the MB regarding which knobs are read/write from midi to a quite small subset of the knobs. So in short: what you actually can modify from midi is quite useless (if you really want to control it all - an who wouldn't!)

If you have any good suggestions for improvements or new features in MBPV I would really like it if you shared it!
If it's easy you will have it done in a few days :-)

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #11 on: April 01, 2023, 02:50:29 pm »
Thank you both, Dr.Justice and Brutefactor.

I uninstalled Java 8 (it may be unnecessary).
I downloaded the JDK-11 from the link given in the MBPatchViewer (same as Dr.Justice's link). It's not big and can be placed on any drive.

I extracted the "openjdk-11+28_windows-x64_bin.zip". Placed MBPatchViewer in the \bin directory, from this directory I launched ".\javaw -jar MBPatchViewer.jar" (N.B. In Windows 11, an exe has to be launched the linux way in the terminal with the .\ prefix).
Et voilą!

MBVP does not get the patches in memory. It works with banks on the disks.
If you want to use it as an editing tool you must load the same bank as the one in the MB. Then it gives you all the details to start editing: the preset parameters settings, the note in the sequence, the mod values. It's a patch radiography. You can start from scratch and replicate any existing preset.

MBVP allows you easily to find brass, lead, bass, etc. presets, presets with specific kind of mod or presets with sequences without loading Midi Control Center.
« Last Edit: April 01, 2023, 09:30:25 pm by francoise »

Brutefactor

  • Apprentice
  • *
  • Posts: 19
  • Karma: 4
Re: MatrixBrute Patch Visualizer
« Reply #12 on: April 01, 2023, 09:28:50 pm »
Yep, just put this in a mbpv.bat file (changing the paths to match your java folder and mbpv folder), and it will start without a dos-window being open.
start c:\mbpv\jdk-11\bin\javaw -jar c:\mbpv\MBPatchViewer.jar

I find MCC a little annoying, as it's no way to choose the midi-device it should connect to (I have to plug MB USB directly into the PC and turn of the external midi interface). Also it tent do hang if nothing is connected. But MCC do have better searching/filtering as you can tick Types and Characteristics to find f.ex Keys and Leads that are Ambient or Soft. It will list all hits from all preset-files it knows.

This is something I also has noted as a feature to implement in MBPV. The info is decoded from the file format but not shown or usable anywhere in MB now.
Would also be nice to be able to load multiple preset-files into MB, and search/filter in all of them with a way to also find duplicates (identical data & name or identical data but different name). Also patches with same name but different data might be interesting. Filtering within the currently loaded set should not be a big thing to implement now, same for showing type and characteristics for the currently selected patch.

francoise

  • Jr. Member
  • **
  • Posts: 80
  • Karma: 2
Re: MatrixBrute Patch Visualizer
« Reply #13 on: April 01, 2023, 09:45:26 pm »
It's true that MCC can sort by Type and Characteristic. And it's not specific to a hardware; it does the same filtering on the Microfreak.

The MCC, like Andreas' Visualizer, is exclusive (in Windows?): the connection will be lot if another application or controller is used, for instance I have a K37 hooked on the MB midi in port.

Brutefactor

  • Apprentice
  • *
  • Posts: 19
  • Karma: 4
Re: MatrixBrute Patch Visualizer
« Reply #14 on: April 01, 2023, 09:59:31 pm »
Yes, very annoying. Think Behringer's SynthTool suffer from the same thing, is useless if you have >1 behringer connected or not connected directly.
I might look into filtering in MBPV during easter, I have holidays & got some inspiration  :)

 

Carbonate design by Bloc
SMF 2.0.17 | SMF © 2019, Simple Machines