Comments (6)
Amp randomization added in 09ad274.
Timing randomization added in fa25a00. With some TODOs (latency, values > 0.5).
from bschaffl.
Latency and values > 0.5 fixed too in 8a25852 and bd40abf, respectively.
from bschaffl.
I think true humanization would require groove templates: http://www.numericalsound.com/uploads/3/2/1/6/32166601/dna-groove-template-user-manual.pdf
One way would be to add support for groove templates like above, but another would be to add a sidechain midi input, whose timing information would be transfered to the main input.
Not sure if an lv2 even can have 2 midi inputs, but for now, let's assume it can, or will soon ;)
The sidechain midi would be quantized to the grid of BShaffl and the difference between the quantized and non-quantized version determines the timing of the output of Bshaffl.
You could get the sidechain midi from an audio track with a drumtrigger plugin that converts it to midi.
That way the output of BShaff gets the groove of the audio, creating something like this!
from bschaffl.
I think about an easier way. Not true "humanization". Only to "simulate" the human error rate by randomization. As many other drum machines do (including Hydrogen).
FYI, LV2 can handle multiple midi input and midi output ports. However, hosts usually have a problem with it.
Edit: But you don't need multiple MIDI ports as you have up to 16 MIDI channels.
from bschaffl.
There are several ways to humanize quantized MIDI-pattern music. You can use algorithms, a. i. (as mentioned @ linuxmusicians.com), and - of course - humans.
I can't help with a. i. as i don't have any experience. I'm very sceptic about a. i. (or a natural intelligence) can produce useful humanziation of real-time MIDI signals without pre-listening the whole track (or at least parts of it).
No doubt, you can humanize a MIDI track using human groove patterns, human MIDI sidechaining or a human-geneated MIDI track.
But we already go the algorithm way. With the amp swing, the steps swing, the amp sliders, and the str markers. By doing this you can roughly simulate a playing style. And you can spice it up with some randomness. But of course you may call it "humanized" but (you are right) it isn't human.
from bschaffl.
Agreed.
As mentioned in #12, I think we don't even need the randomness, at least when we have layers.
from bschaffl.
Related Issues (20)
- feature request: overall amount controls HOT 10
- feature request: layers HOT 2
- Start of a loop misses notes HOT 4
- Probabilities HOT 2
- feature request: linked instances HOT 13
- Build error on Fedora 32
- 1.4.6: internal poll failure reading response from client B.Schaffl to a latency callback event HOT 9
- [x86_64-glib] build issue HOT 2
- Feature request: enter relative pulse lengths numerically HOT 26
- UX issues with floating point inputs HOT 5
- Steps processing in Ardour 8.1 pretty much completely borked HOT 1
- Feature request: automation. HOT 5
- No velocity change HOT 2
- Feature request: level swing HOT 3
- feature request: (semi) fixed latency HOT 24
- Assign to step changes timing HOT 5
- Feature request: level before timing. HOT 2
- feature request: all controls visible all the time HOT 2
- Step shapes HOT 22
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bschaffl.