B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin
Moderators: raboof, MattKingUSA, khz
-
- 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
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.
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
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.
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
-
- 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
This is really great and much, much needed! Thank you a lot!
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!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
Re: B.Schaffl - New pattern-controlled MIDI amp & stretch LV2 plugin
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.
-
- 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
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.
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.
-
- 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
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
-
- 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
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!
-
- 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
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!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
-
- 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
The simplest humanize function would be the introduction of some randomness as @consint mentioned above.
-
- 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
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
-
- 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
I think one interesting non-algorithmic approach I've heard of is to use machine learning to "copy" a performer's style.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
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!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
-
- 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
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/
-
- 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
Both velocity and timing humanization are useful, I should add.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/
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!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
-
- 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
Random generators for amp and stretch are just added to the master at the github project page. Thank you for the request.
- 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
they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh
-
- 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
Yes, science and mathematics. I like it .milk wrote: βSat Jun 27, 2020 11:01 am Related: https://journals.plos.org/plosone/artic ... ne.0026457