Drumgizmo preset <-> snapshot

Hello everybody,

I’m still learning, so I wonder how these things relate:
I’ve setup drumgizmo and installed a drumkit (using VNC Engine) and created a drumgizmo preset for it. It works nice!
Is there a way to save/restore the current configuration using a snapshot? As far as I can see, the snapshot only starts drumgizmo, but it doesn’t restore my preset. Did I get anything wrong? Or should I just update and it will work? :slight_smile:

Please take me for a ride! :+1:

Hi @ey77

You are on the right track but currently it is a bit arduous to make this work. After saving the preset you have to use webconf SOFTWARE->LV2-Plugins and click “Search for new Plugins & Presets”. This takes a few minutes and probably breaks webconf and the Zynthian (kinda) so a reboot may be required but after this, the preset you saved will be available to the plugin and can be saved in a snapshot.

Aaah, ok, I just found your explanation for the pianoteq preset question and was already fiddling around. In drumgizmo I can only save a preset but not browse for an existing preset. Am I supposed to save that preset to a certain location? Like “captures” folder or so? Because I saved my preset in “zynthian/drumkits”. And after clicking “Search for new Plugins & Presets” I don’t know where I should be looking. I also did a reboot afterwards.
Thanks for your quick reply!

The “Search for new Plugins & Presets” adds any LV2 plugins or presets found. I can’t remember where it searches but the default location offered when saving from the GUI should be fine. Once presets are saved (and added via webconf search) they are accessible in the normal Zynthian GUI. When adding a new layer you will be offered the list of presets unless there is only one in which case that is selected by default. Within the layer’s control screen you can press “SNAPSHOT” button to access the presets.

1 Like

Ok, I’ve tried it several times:

  • I created a preset in drumgizmo (directly on zynthian using the Engines UI)
  • saved it (at some location and at the default location)
  • in webconf clicked “Search for new Plugins & Presets” (looks like zynthian reboots?!?)
  • drumgizmo is running, but no preset is selected
  • I remove the synth and add it again, but there is no preset available.

Is the preset supposed to show up in the library? It doesn’t.
I hope for some insights, to get better at “zynthian” :slight_smile:

The presets are normally saved in the “/root” directory. A lv2 preset is a bundle dir with ‘.lv2’ extensión (normally). You have to copy them to:

/zynthian/zynthian-my-data/presets/lv2

After this, click the search buton in the webconf .

Anyway, i will try to improve this ASAP.

Regards

Yes, that did the trick!
I moved my preset ‘.lv2’ folder to exactly that location, did the search again et voila! :slight_smile:

Thank you!:+1:

I’m attempting to do the same with no luck. Has anything changed? Whether using the VNC Engine or WinSCP I see the presets I have created but these presets do not show up in the Drumgizmo presets on the Z. I can load a preset and use it within webcinfig connected to Ethernet to computer but cannot use Drumgizmo as stand alone Z. Any thoughts? Thanks

Ok , if I save as a preset on the Z hardware itself it works and have to wait when loading a kit before playing it, otherwise it freezes.

Definitely need a progress bar or loading status.

I loaded the Muldjord kit from the Drumgizmo site. Playing it with a keyboard is extremely lagging in latency.

What vesion of Zynthian firmware are you running? There were changes recently to the loading status indication (which will be further enhanced in future versions). This may not have been applied to this part of the workflow but it is worth checking you are using the latest stable / testing version to know if the issue is present there.

This is what I have. How do I update?

Thx

I would recommend you to change to testing branch. The easiest way is downloading the latest testing SD-image:

https://os.zynthian.org/test/2023-11-02-zynthianos-testing-2311.zip

and burn it in another SD-card. It’s highly recommended to keep separated stable & testing SD-cards.

The best!

1 Like

Also, could you explain in detail your use case? It seems you are using the Zynthian as a Drums module and we’re really interested in improving zynthian in this area. Your feedback is highly valuable.

The best,

1 Like

OK! First, please, note that you are the first user that give us feedback about using DrumGizmo with zynthian.

  • This is bad for you, because there are some work to do to get a reliable integration.
  • This is good for you, because as a percussionist i’m really interested in improving zynthian as a drumkit module, and you can influence how this improvement is done.

Current drumgizmo integration into zynthian is “as a LV2 plugin”, but drumgizmo is a serious piece of software and it has a nice unix-style CLI that offers a number of advanced options, some of them related with to way samples are loaded or streamed from disk, what is probably causing the “lagging” issues:

https://www.drumgizmo.org/wiki/doku.php?id=cli-howto

I need to do some deeper research about it … :wink:

Regards,

2 Likes

OK! I’ve spent part of my day in testing drumgizmo and other options, reading forums, etc.

First, i’ve tried drumgizmo CLI version with the drumkit you told (Muldjord) and it sounds pretty well, without lagging. Pretty playable except that CPU reach the limit when playing hard, and this shouldn’t happen. Now i’ve downloaded the latest version and i’m compiling it to see if i can improve performance.
I’ve noted that the “standard” version has separated audio output for every “mic” you could put in your set. Crazy, but useful if you want to control 100% the mixed sound. Anyway, i would try limiting this to a stereo output.

Second, why drumgizmo and not SFZ? I can’t see the advantage, apart from the multi-channel output. Time & velocity randomization options can be added as external MIDI-FXs and for the rest of features, i can’t see any real advantage on using drumgizmo instead of SFZ. I mean, SFZ is capable of doing everything drumgizmo does, including roundrobin randomization, etc.

Indeed, many drumgizmo native drumkits, if not all, have been already converted to SFZ. For instance:

Finally, i’ve been investigating the possibility of loading Hydrogen drumkits, that is a popular format for drumkits in the Open Source world:

Hydrogen - Browse /Sound Libraries/Main sound libraries at SourceForge.net

We have 2 options here:

  • DrMr LV2, that is installed in zynthian, but GUI doesn’t work. It doesn’t seem to be maintained anymore and latest version is 12 years old.

  • LiquidSFZ (GitHub - swesterfeld/liquidsfz: SFZ Sampler) that seems to be actively maintained, but it’s not currently integrated in zynthian. It should be tested.

Kind Regards,

3 Likes

Ok Great. I’m excited to contribute.

Latency is much better with the Testing OS, its acceptable. Would be good to be able to adjust the latency somehow. Not sure if it is the same in Raspi as on PC. For example, I usually have the ASIO buffer on my audio interface set to 128 or below to achieve lowest latency depending on what the cpu can handle. I haven’t fully tested a full kit yet.

You answered my next question regarding the Channels of different mic samples used in the Muld Kit. Was going to ask how to access these. Not sure which sample I’m hearing but its one of the overhead mic samples. So, yeah need to figure how to switch/access those. That being said this is very overkill and not completely necessary I will explain below.

Was able to get the high hat to function somewhat. I get the high hat pedal foot sound and can control open and closed, get the open sound when pedal is not depressed but when closed I do not get the closed sound. It is continuous controller info. Not sure if that is the same as pitchbend info in midi which is how it might be received in the Z. But this is not totally necessary and could be used as a simple switch - pedal open = open sound , pedal depressed = stops open sound and plays closed sound.

I also was investigating Hydrogen and such.

What happened to Muti-Timbral midi mode in the testing version? I don’t see it.

Here is the scoop of what I would like to do with the Z -

Drum sound source I can play and record with my eKit or any trigger device. Which is really no different than a keyboard other than the High Hat control and the option to control each midi note volume.

Simple version - for playing and not critical for mixing.

Not necessary to have multiple channels of different mics like drumgizmo. A lot of drum software today the drums are already processed in the stereo field. So we only need one midi note per drum that plays 20 ( for example ) samples stacked and activated by velocity.

Not to insult anyone’s intelligence but just trying to be clear.

Midi note C1/36 plays a bass drum sample, 20 wave files played soft to loud for example. A sampler that plays stacked voices per note in essence.

Takes a lot less cpu.

Ultimate goal would be to record this midi / instrument info on the Z and build music adding synths etc.

There have been changes in this area. Good ones.
This thread explains how this is now organised.

Midi Capture . . .

The Zen of python Zen of Python covers this on the second line.

Really nice write up. Very helpful.

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Flat is better than nested.
  • Sparse is better than dense.
  • Readability counts.
  • Special cases aren’t special enough to break the rules.
  • Although practicality beats purity.
  • Errors should never pass silently.
  • Unless explicitly silenced.
  • In the face of ambiguity, refuse the temptation to guess.
  • There should be one-- and preferably only one --obvious way to do it.[a]
  • Although that way may not be obvious at first unless you’re Dutch.
  • Now is better than never.
  • Although never is often better than right now.[b]
  • If the implementation is hard to explain, it’s a bad idea.
  • If the implementation is easy to explain, it may be a good idea.
  • Namespaces are one honking great idea – let’s do more of those!

Yeah, that LiquidSFZ looks promising. How can I test that?

Latency is set in a very similar way to you ASIO driver. In webconf there is an audio settings option that has jack parameters. You can define the buffer size here. It is cryptic, being a parameter of a command line. There is a limit to how low this can go. It should be a power of two and does not take effect until jack restarts. I strongly recommend rebooting the whole device after changing this setting. (I think webconf offers reboot.)

If your pedal sends CC then it can be mapped to a controller but this may need to be a specific fibrin offered by the engine, i.e. a generic sample player may not distinguish between hihat control and other drums. You may find that a percussion specific engine like drumgizmo offers such a feature where linuxsampler may not.

I think SFZ format allow this kind of things and more

Regards

@riban Thank you excellent. It was set for 256. I brought it down to 128 and see what happens. I gotta have something or someone to blame for my poor timing!

@wyleu Thank you! Perfect.