B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

Hi,

Bart Brouns and me started the development of a MIDI amp and stretch plugin to generate swing and shuffle rhythms. And we were both surprised about the almost limitless options to improve dynamics already on MIDI level. Now it's time for the first release of B.Schaffl.

Image

Key features:
* Stretch or compress any MIDI signal
* Create swing and shuffle rhythms
* Create pre-generator dynamics
* Use tempo rubato
* MIDI filters
* Smart quantization

Take care, it's a pre-release. Some features may be removed or replaced until the release of the final version. New features may be introduced. Work is still in progression. Any ideas are welcome.

Project page / contribution: https://github.com/sjaehn/BSchaffl
Releases: https://github.com/sjaehn/BSchaffl/releases
Preview video: https://www.youtube.com/watch?v=5oPtBPAgvmY

Acknowledgments
* Bart Brouns for the original idea plus subsequent ideas about principle and features
* Robin Gareus for ideas to technically solve *rubato*-related problems

Try, enjoy and have fun
Sven Jaehnichen
Basslint
Established Member
Posts: 1516
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 385 times
Been thanked: 299 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by Basslint »

This is really great and much, much needed! Thank you a lot! :D
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
consint
Established Member
Posts: 4
Joined: Sun Sep 29, 2019 10:40 am

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by consint »

This is a great idea, thank you very much for that! The ability to save and load presets would be another really nice feature. A random generator could also be very helpful.
sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

consint wrote: ↑Tue Jun 23, 2020 5:22 pm The ability to save and load presets would be another really nice feature.
This should already work with all hosts which support the LV2 preset feature. Carla, Ardour, ..., and even jalv.

The plugin only uses LV2 features. Thus, it's only the hosts task to save/restore presets and plugin states.
consint wrote: ↑Tue Jun 23, 2020 5:22 pm A random generator could also be very helpful.
I already thought about it. Adding randomness to get more natural playing. If you want, you can add it as an "issue" on the github project page.
tavasti
Established Member
Posts: 2057
Joined: Tue Feb 16, 2016 6:56 am
Location: Kangasala, Finland
Has thanked: 373 times
Been thanked: 209 times
Contact:

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by tavasti »

Reading description I was suspicious, but after watching demo video, omg this is great!

Linux veteran & Novice musician

Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM

sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

tavasti wrote: ↑Tue Jun 23, 2020 7:52 pm Reading description I was suspicious, but after watching demo video, omg this is great!
The same for me. As the programmer. It was really exciting. When Bart asked me, I thought: well, a swing plugin. Nice. I can do it. But during coding I slowly understood that you can do a lot more with it. It was a big surprise. And a lot of fun! :-)
Basslint
Established Member
Posts: 1516
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 385 times
Been thanked: 299 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by Basslint »

Any plans to implement something akin to the "humanize" function found on some drum machines?
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

Basslint wrote: ↑Tue Jun 23, 2020 8:40 pm Any plans to implement something akin to the "humanize" function found on some drum machines?
The simplest humanize function would be the introduction of some randomness as @consint mentioned above. ;-)
stanlea
Established Member
Posts: 700
Joined: Wed Apr 25, 2012 9:49 pm
Has thanked: 41 times
Been thanked: 23 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by stanlea »

sjaehn wrote: ↑Tue Jun 23, 2020 9:34 pm
Basslint wrote: ↑Tue Jun 23, 2020 8:40 pm Any plans to implement something akin to the "humanize" function found on some drum machines?
The simplest humanize function would be the introduction of some randomness as @consint mentioned above. ;-)
Simple randomness barely introduces a human feel, but rather a bunch of rhythmic artefacts that don't sound so natural. The random engine should be a little elaborate to mimic human behaviour such as progressive dynamics, time anticipation, and so on. Maybe LFO would be useful for that. But it's a big work. IMHO
Basslint
Established Member
Posts: 1516
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 385 times
Been thanked: 299 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by Basslint »

stanlea wrote: ↑Wed Jun 24, 2020 5:42 am Simple randomness barely introduces a human feel, but rather a bunch of rhythmic artefacts that don't sound so natural. The random engine should be a little elaborate to mimic human behaviour such as progressive dynamics, time anticipation, and so on. Maybe LFO would be useful for that. But it's a big work. IMHO
I think one interesting non-algorithmic approach I've heard of is to use machine learning to "copy" a performer's style.
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

stanlea wrote: ↑Wed Jun 24, 2020 5:42 am Simple randomness barely introduces a human feel, but rather a bunch of rhythmic artefacts that don't sound so natural.
I partially agree. The reduction of a human being (like a drummer) to his or her errors (= randomness) is a oversimplification. Nevertheless, randomness is a key factor to make computer-generated quantized music sound more natural. It's therefore not a big surprise that the "humanization" function of drum machines (incl. Hydrogen) mostly is is not more than a random generator. See also: https://soundbridge.io/humanize-drum-groove-samples/
Basslint
Established Member
Posts: 1516
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 385 times
Been thanked: 299 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by Basslint »

sjaehn wrote: ↑Wed Jun 24, 2020 11:46 am I partially agree. The reduction of a human being (like a drummer) to his or her errors (= randomness) is a oversimplification. Nevertheless, randomness is a key factor to make computer-generated quantized music sound more natural. It's therefore not a big surprise that the "humanization" function of drum machines (incl. Hydrogen) mostly is is not more than a random generator. See also: https://soundbridge.io/humanize-drum-groove-samples/
Both velocity and timing humanization are useful, I should add.

It kind of makes sense even if it's an oversimplification because a good instrumentalist doesn't stray away too much from the right note, just a tiny bit each time. This tiny bit I think can't be satisfactorily simulated via MIDI (OSC is more suited) but as you say, can make a beat sound more human.
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

consint wrote: ↑Tue Jun 23, 2020 5:22 pm A random generator could also be very helpful.
Random generators for amp and stretch are just added to the master at the github project page. Thank you for the request.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by milkii »

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

sjaehn
Established Member
Posts: 138
Joined: Fri May 03, 2019 6:05 pm
Has thanked: 29 times
Been thanked: 61 times

Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin

Post by sjaehn »

milk wrote: ↑Sat Jun 27, 2020 11:01 am Related: https://journals.plos.org/plosone/artic ... ne.0026457
Yes, science and mathematics. I like it :-).
Post Reply