New Plaits modes, including a DX7!

Final version 1.2 firmware with a small bugfix: Mutable Instruments | Plaits

4 Likes

Anyone know if this update is gonna port to vcv ?

I’ve heard that it will, maybe in not too long. But I can imagine there are some time consuming elements, particularly all the abilities to import new dx7 presets and the like probably require writing some new code for the different UI. But, that said, I do keep checking back every day just in case :slight_smile:

I’ve been procrastinating taking apart a patch that normally I would just duplicate in vcv rack and save for later.

Where did you hear that? Has a dev committed to doing it?

Oh, now that you say that, I realized I had misread a previous post and got the wrong idea. I thought this was posted from a dev who was taking on the task:

But I think it was just someone quoting Emilie.

So, apparently there is not someone tackling it!

1 Like

The source for the new Plaits models has just been uploaded by Émilie.

15 Likes

woahhhh, good catch!

1 Like

Actually it seems to be pretty simple to build yourself a custom version of Plaits / Macro Oscillator 2 including the additional 8 models. Just download AudibleInstruments-2 and the newest eurorack-master as well as the updated version of stmlib from git and put everything together into one directory. I have removed all the other modules except plaits to make my life easier, and adapted the makefile as well. There are some very minor compiler issues but they can be fixed pretty easily. Just be careful when you add the context menu for the additional types, the 8 new types start from 0-7 and not after the other already available 16 models.

I have only hacked a simple solution together via the context menu, no button presses etc yet, but I will look into this in the next couple of days and if anybody is interested I can provide a Windows build for the Plaits module only. (different plugin so that it does not override your existing ones)

There seem to be some Python scripts which convert SYX files into a C++ file so that Plaits can use them. I am not sure though if one can use their own SYX files without rebuilding the module.

7 Likes

Seems like a cool project!

Maybe you can use the plaits code to load settings by inputting an encoded audio signal to the “timbre” port ? that’s how the hardware works.


Patch bank editor

The editor is a good starting point, but unfortunately the “import via timbre modulation” is part of original Plaits code that is never used by the Audible Instruments port if I understand this correctly. It uses some kind of decoder to receive wave data from the cv input. I really try to avoid this and instead have a simple load file functionality in the context menu similar to the Fundamental Wavetable VCO/LFO.

There is only one workflow where this would not fit: automatically change the user data of Plaits via CV. One could e.g. store multiple sysex files in different wavs and then trigger their import into Plaits one after the other… I would be very curious if anybody ever attempted to do something like this with Plaits. Inside of VCV I would simply recommend to put multiple Plaits modules in your patch and switch between them.

In short, I have Plaits now working with the 8 new modes and also the colors fit. I have not added any new buttons yet, I wanted to keep it as close to the original as possible. Switching to the 8 new modes happens via context menu. I added sub menus for easier usage.

The custom data import part is not yet working, as mentioned above this is more complex then expected.

Edit: I just learned in a Youtube video that the buttons behave different now, I thought you need to press both to get into the newest modes, but actually both buttons are used to go back and forth between all 24 modes. I will adapt this as well, makes it even easier. :slight_smile:

6 Likes

Short update, I am still struggling with the decoding of the wave file and I will probably skip it for a different solution.

Some more insights in case anybody is interested. The plaits editor (Wavetable editor) is creating Sysex-Data, Wavetable data and WaveTerrain data depending on the editor. Afterwards you can download an actual audio file (wav) with the encoded information of the data in the editor. This is necessary to import it afterwards via the timbre modulation CV input of the Plaits hardware module (similar to how you update the firmware). But of course audio data is not really suitable for general data transmission, therefore the data in the wave file is created very “error-resistant”. Unfortunately this leads to a lot of overhead, for example the data in the editor is in all three cases (Sysex, Wavetable and WaveTerrain) exactly 4096 Bytes (4 KBs) but if you export it as wav it becomes around 3 MBs!

Instead of doing this encoding/decoding I will now try to enable the Plaits editor to export the data itself (the 4096 bytes) and allow the Plaits VCV module to import exactly this data. The only disadvantage would be that you could not use wav-data created by other people via the editor for the hardware Plaits in the current VCV Plaits version. Let’s see if this approach works out better. :slight_smile:

I am really impressed by the work done for the MI modules the deeper I get into them. :smiley:

10 Likes

Woahh, congrats, impressive work!!

Awesome Stuff . Been itching for the new modes to make it into Macro II ( or into a Macro III if easier ) so if you need any testers I’m game .

Greetings ! I’m trying to build it here on a Mac M1 (in Rosetta mode), I have a problem with a missing symbol:

[1.709 warn src/plugin.cpp:203 loadPlugin] Could not load plugin /Users/davephillips/src/Rack-2.3/plugins/plaits-plus: Failed to load library /Users/davephillips/src/Rack-2.3/plugins/plaits-plus/plugin.dylib: dlopen(/Users/davephillips/src/Rack-2.3/plugins/plaits-plus/plugin.dylib, 0x0006): symbol not found in flat namespace '__ZTVN6plaits11SixOpEngineE'

The symbol is found in eurorack/plaits/dsp/voice.cc but the object file doesn’t appear to be linking. Did I miss something ? Like yourself, I’ve reduced the code to nothing but Plaits. Did you make changes to files other than src/Plaits.cc ? All advice & suggestions appreciated ! :slight_smile:

Hi Dave,

I opened a new thread for this topic because these build and bug discussions don’t fit into here: Prototype for the new MI Plaits in VCV Rack

I am going to post updates in the other thread, feel free to ask your questions in there as well. Looking into your error message I assume that your Makefile does not include all the new directories. Simply have a look at https://github.com/tobiza/AudibleInstruments/blob/master/Makefile and compare it with your version. The SixOpEngine is part of “SOURCES += $(wildcard eurorack/plaits/dsp/engine2/*.cc)” for example.

Greetings, Tobi

1 Like