Any LV2 Arp Solina, Roland RS type string machines [SOLVED!]

Here are the perc snapshots. And the rhythm demo :wink:

Perc.zip (4.3 KB)

2 Likes

What internal files are updated in the zynth when a user changes which plugins are enabled? I assume some json file or similar config file?

1 Like

Take a look to /zynthian/config/jalv :wink:

Guys ā€¦ you are a really powerful community! :love_you_gesture: :love_you_gesture:

The new string-machine recipe is now added to official list and will be included in next SD images. Those wanting to install, simply access by SSH and execute these commands:

update_zynthian.sh
$ZYNTHIAN_RECIPE_DIR/install_string-machine.sh

After that, you have to enable the new ā€œstring machineā€ plugin from the webconf. And donā€™t forget to click the ā€œsearch new pluginsā€ button !! :wink:

Enjoy!

4 Likes

Snapshots are great ā€¦ but we really need a ā€œSave Presetā€ feature in zynthian-UI.
Could somebody open a new "feature request in the tracker? :wink:

While my lowly Pi 3B+ is certainly no Pi 4, Iā€™m surprised how well this runs. Yes I can get some buffer underruns if I push it but for many uses the polyphony is just fine even on the stock Zynthian V3.

Yeah, a Pi 4 is in the near future for me. :grinning:

JPCIMA,

Awesome job! This really brings back some of that divide-down awesomeness without the bulk. :smiley:

3 Likes

Thereā€™s a button for that? :smiley:

Hello, so these are current news on development:

  • the presets are in, with kind courtesy of @sm7x7
  • itā€™s not a bad state for a release, so I think to make it happen in mid January along with a couple other updates.
  • I think to add an adjustable polyphony limit to make the CPU use cleanly bounded. In this settings, excess voices are going to replace oldest ones instead of adding up.
  • I have to benchmark several components and check how performance responds with/without vectorizing instructions. Many individual parts are created in faust and built with -vec flag, but I donā€™t know even if Rpi CPUs supports the vectorization.

Other things will be under study for future versions, like to analyzing bass and brass solina circuits. The brass one is about figured out I think, bass is lots more complex.
(I donā€™t have a real instrument to check it at my side, so Iā€™m not much sure about anything and my EE skill is not fantastic)

3 Likes

If it helps for analysing the bass and brass sections of the real stringer, I do have somewhere the .wav samples from the Vermona Strings machine I own some time ago, so I may share it with you. Also, here is itā€™s page with the video examples: https://encyclotronic.com/synthesizers/vermona/piano-strings-r1552/

BTW, some months ago Iā€™ve pulled a trigger and bought a WALDORF STREICHFETT module. Played with it, loved to death, and then returned it back. It was really out of my budget then. NOW I see I didnā€™t lose anything but gained ALOT - your soft stringer is THE THING! Love it!!

Yes, if you have some dry sounds of the machine, I appreciate that you share them.
No promise made, but I can have possibly a better idea of what to aim for.

I donā€™t go for accuracy of emulation after a particular machine.

Also Iā€™ll check if your machine, the Vermona, has some schematics around.
Arp and Eminent are those I took for my reference.

1 Like

Here is the schematics of the Vermona Piano Strings keyboard (taken from this site - https://www.vermona.com/en/support/vermona-heritage/)

Yes thanks, Iā€™ve grabbed this exact document, as well as a couple of others. (Elka, Roland)

I modified string-machine to accept a polyphony limit, as a parameter of the program.
Then, it can ensure CPU to not exceed a limit; default is 16, which could be still a bit high for the Piā€™s capacities.

In addition, I removed flag -vec from faust builds which is shown to be actually a net speed loss. There is some observable improvement on the PC, which may be more significant even on a platform like ARM.

I posted a series of measures, if these are of any interest.

1 Like

Rebuilt just fine. Indeed it seems you have improved the performance and/or the polyphony cap is doing itā€™s job. A MIDI sequence that caused buffer underruns yesterday does not today when set for 16 note polyphony.

I leaned on the keyboard with the polyphony set to 24 and was able to get an occasional underrun.

This is quite good for a RPi 3B+. There are a number of engines on the Zynthian that donā€™t achieve this kind of polyphony on a RPi3.

The one strange new behavior I noted was that when running the Zynthian MIDI file player, the first note would stick as though no note off had been sent. When stuck notes were cleared with a Panic, all subsequent notes from the player seemed to hit their note-off events just fine. Stuck notes were not happening with the previous build.

This may have something to do with the Zynthian MIDI player, but other engines on the Zynthian do not do this. I was unable to reproduce these initial stuck notes using just a MIDI keyboard though.

The preset names are much appreciated. Nice job on those sm7x7 :grinning:

One request would be that the Chorus rates would allow for lower speeds.

String Machine is an excellent addition to the Zynthian synth stable! :+1:

2 Likes

The one strange new behavior I noted was that when running the Zynthian MIDI file player, the first note would stick as though no note off had been sent.

Itā€™s a complete new revision of the voice manager, I will have to recheck it for mistakes.

It has a little difference with the previous: there is possibility to trigger multiple times a same midi key. Itā€™s an addition that makes possible a future MPE implemention, if I add it ever.

Say, if MIDI is sending a sequence for a same note [NoteOn, NoteOn, NoteOff], the old revision would release the note, and the new one not.

One request would be that the Chorus rates would allow for lower speeds.

This yes, itā€™s a triviality to add it. Iā€™m pretty sure I obtained these rates from a documentation, theyā€™re original. In the Solina, the slow and fast LFO are labelled Chorus and Vibrato, which they arenā€™t in the software, but itā€™s the same.

Itā€™s no doubt the rate domains were deliberately chosen as independent.

Itā€™s a possibility to extended 3-9 Hz to 1-9, and 0.3-0.9 to 0.1-0.9

ps: Happy new year :slightly_smiling_face:

1 Like

Happy New Year in return! :slightly_smiling_face:

Yep seen this.

BTW, what is the right way to update already installed stringer for the new revision? Perform the above mentioned installation recipe again? Or uninstall the old one first?

Just re-run the install recipe, the make install will copy the newer version over the older one.

Great, thanks!!