Device Details

Device Overview

Name/Version: Group Humanizer 1.7
Author: humanize  
Description: Two or more tracks can be "group humanized" so that their timing resembles musicians playing in the same room together. For example, a bass and a drum sequence will adapt to each others delays in a "humanized" way.
m4l patches by James Holden

This suite of max for live plugins implements the method of group humanizing MIDI described in the article by Holger Hennig, "Synchronization in human musical rhythms and mutually interacting complex systems" in the journal PNAS (2014). Free article download:
www.nld.ds.mpg.de/~holgerh/download.html

Suite content
1) "group humanizer SETTINGS.amxd"
2) "group humanizer PLAYER.amxd"
3) "group humanizer PLAYER + velocity humanisation.amxd"
4) "group humanizer HUMAN INPUT.amxd"
4) "group humanizer HUMAN INPUT audio version.amxd" (*requires you to install the 'bonk~' external yourself)

*** To "group humanize" two or more tracks, only the SETTINGS and PLAYER plugins are needed. The HUMAN INPUT plugin is a very early beta version provided as-is, although it has shown very promising results so far. ***

The version of the PLAYER plugin with velocity humanisation is based on a later paper by Hennig et al looking at loudness fluctuations in Jeff Pocaro's drum part for 'I Keep Forgettin':
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0127902


See documentation "group humanizer documentation.txt" for further details.

Updated to 1.7 11/08/2022 - I think the communication issue is fixed now: the settings plugin value entry boxes now have the right text colour and the settings plugin now regularly talks to the other ones to make sure they're all enumerated. Wait a second or two after reordering / adding channels and it'll catch up.
Updated to 1.6 04/05/2022 - a live update had broken the settings transfer between devices, this is fixed now. thanks to everyone who provided feedback!
Updated to 1.5 08/06/2020 - removed and replaced outdated and exclusionary nomenclature for the individual plugins. The terms used previously didn't even adequately describe the role of the devices, and yet I used them without a second thought.
Also added the velocity humanisation version of the PLAYER plugin.
Updated to 1.4 05/10/2019 - fixed to work with Live 10 / Max 8 - although it seems to work now I'm a bit confused why it went wrong (!) so if you uncover issues with this please do let me know (via twitter is best)
Updated to 1.3 22/01/2015 - bugfixes, audio version of human input plugin now included (requires bonk~ external be properly installed).
Updated to 1.2 16/12/2014 - fix for the bug reported in comments below, ui improvements (more help, now supports 10 slaves, better graphing), swing now taken into account by human input module. console window output now tidier. MEAN FOLLOWER plugin included to use on a click track when using HUMAN INPUT plugin. demo project included.
Updated to 1.1 10/11/2014 - many bugfixes.
 

Device Details

Downloads: 38605
Tags utility, other
Live Version Used: 11
Max Version Used: 8.3
Date Added: Aug 12 2014 12:04:53
Date Last Updated: Aug 11 2022 11:23:48
Average Rating (12) 5
Rate this device: (must be logged in to rate devices login)
Device Type: midi_device
URL (optional):
License (more info): AttributionNonCommercialNoDerivatives

Device Files

Device File: group humanizer 1.7.zip
 


Comments

omg!

thanks for the update!!!

Thanks so much for the update! I really love this device.

thanks a lot for sharing james!

James I think a bug might be present. Some times the first channel on the master turns into a straight line and goes back to the stiff non-groove. Also some of the individual channels will turn into straight lines and seem to stop following the groove as well.


Brilliant set of devices here. :) Thanks.

QUESTION: Is the "group humanizer HUMAN INPUT AUDIO VERSION" supposed to be put on the channel with the incoming audio from the human player? Might seem like a stupid question, but when I put it on the drummer's channel, no audio goes through the device i.e. the channel becomes muted by the device.

Or maybe the "group humanizer HUMAN INPUT AUDIO VERSION" is only supposed to be put on one of two channels with the drummer input - muting the channel while the other drummer channel plays the input, thereby acting as simply a "master clock" for the "band" and not compensating the incoming audio.

Is that correct?

Thank you so much for this! I am looking forward to experimenting with it. Best, Shan :-)

this is great, thank you!

Very nice plugin dude, thanks for the hard work!

Great! Thank you.

Amazing Tool - most effektive Plugin for Performance indeed. I wonder how to integerste multiple combinations into one session with multiple songs - it's nessesary when it comes to a live act. I sliced all my tracks into samplers and those are midi triggerd. But I can only do it for one song since the samplers are already full and there is a 1:1 mapping between the clip and the sampler. Anyway - even if I could reroute the midi of a clip to a different track I would still be limited by the max slave number. Are there updates to come or are you open for contributions? Thanx! And All Best

The Sky was pink, and it shall be once more.

Really interesting stuff - I would love a version which allows the humanization of audio tracks rather than just midi. If I could throw these variations into samples in the same way you have done with midi, would be perfect for me.

Totally awesome. So happy I found this one.

grateful for the work that went into creating this

Does this work with Live 10? I get a semi-blank device panel when loading the MASTER patch. No config options show up, nor does the SLAVE device seem to function.

WORKAROUND FOR LIVE 10:
it seems the communication between devices is broken in live 10.

if I open for editing the 'MASTER' device and play/stop a couple of times the communication seems to work again?

if anyone manages to work out what's going wrong please get in touch (@mrjamesholden on twitter is the best way)

PEACE TO ALL
JH

@nexusqu, I'm using this with Max 8 in Live 10. Occasionally I have to use JH's workaround, or alternatively sometimes I just delete the slave and re-add it. My symptoms are that one slave says "HUMAN INPUT" or/and that even after I've re-added it, there's no time adjustments being done. Thanks for the tip @jamesholden! For some of my music this is really useful.

did this break on live 10.1.14? seems like it :-(

@yroc, How do you mean break? Not work at all or unexpected results?

I discovered I have been using GH 1.3 in Live 10.1.x even as 1.4 was available. I just tested the 1.4 demo in Live 10.1.14 with native MFL and everything just works.

Thanks @jamesholden. I'm so happy this device exists and works so well.

excellent !

hey I love this device but for some reason it doesn't work for me anymore. I'm not sure what I've done wrong but the SETTINGS channel and the PLAYER channels aren't communicating at all. I can see the PLAYER devices in the Settings box but they don't respond to any controls.

I've only downloaded today, but I agree that it seems to be borked on 10.1.25

When I add PLAYERs, they appear in the SETTINGS (I've put each effect on a separate MIDI channel as instructed), but changing the timing parameters in the settings view results in no visual or auditory changes even with extreme values.

Interestingly, I just noticed that if I save the project and re-load, the saved parameters take effect. Changing those parameters has no effect until I save and reload again,

Nice device, I was looking for soemthing like this for a long time. For some reason, I couldn't make the 1.5 version work (no communication between Settings and Player).
I had to go back to the oppressive version. I hope I won't have too many flashback of a time when my serf ancestors had to live in abject misery and to give away their crops to feed christian theocratic monarchs.

thank you for the extra effort to change the names of the device's functions

I'm having the same issue as @djerzinski above--no communication between Settings and Player.

Is there a way to download an older version?

Your demo set is broken, but it actually DOES work as long as you stick to the PLAYER with velocity humanization. But if you at any point put the plain PLAYER on a track, communication is cut off even if you switch it out with the the fancier velocity one.

Anyway, thanks so much for making this available! I ran across the Hennig stuff too and was all set to create a thing for Logic. But now that I've switched back to Live, (cuz, YaY, finally take recording and comping in Live 11)... Surprise! Someone already did the work! Thank you!

P.S.
Noticed there's an s instead of a z in the second "humaniser" device name: "group humanizer PLAYER + velocity humaniser"

One more thing :)

https://quod.lib.umich.edu/cgi/p/pod/dod-idx/towards-a-model-for-the-humanisation-of-pitch-drift.pdf?c=icmc;idno=bbp2372.2011.112;format=pdf

Have you thought about adding pitch drift humanization? Because that would be amazing if we could get it all in the same plugin. And maybe even humanization arbitrary CC's. That would be amazing to have all that rolled into a single plugin.

Doesn't appear to be working with Live 11. Love this project tho!!! Would love to see an update. Thanks fo all your hard work on this!

I think it works fine in Live 11, but it's like @preferrednomenclature says, the changes in parameters only seem to take effect when the set is reloaded.

Thanks for this nice PlugIn and Idea. In Live 11 i must also save and reload to use parameters, but i see that an instrument should plays every time 3 tones, it way to often play just two or even just one Note. its sad, this is such a nice thing

I've successfully been running GH 1.4 in Live 11, both in Rosetta2 mode as well as in native Apple Silicon mode and except graphical issues with unreadable text (solved with screen zoom), everything has worked fine musically.
I'll try v1.5 now. I can't believe I missed the release.

@drummy, from the documentation:

"Repeated notes with no space between note-off and next note-on may also cause problems - the PLAYER plugins may delay the note-off more than the next note-on, causing the previous note's off to end the current note prematurely.

The solution to this is to make sure there is a gap of at least 2x the timing error standard deviation setting between the end of a note an the start of the next one in the input MIDI. This only applies when the same note is repeated - different notes can overlap without issue."

@bwrobinett thanks for that interesting link btw.

i'm interested in how wind/vocal/string players naturally adapt their pitch towards making simple ratios with other player's pitches, i think this relates to that somehow.

(thinking aloud, i think a humaniser-like feedback/correction algorithm, when applied to pitch, would generate both the kind of statistical results in that paper and the natural stretching of the tuning system towards simple ratios. implementing it is beyond me though, sadly)

you might find 'hermode tuning' (i think some softsynths/samplers support it - kontakt maybe does?) interesting in terms of a more human style of pitching.

I am having issues with the latest Live 11 release. Whenever I load this device, Ableton freezes. Has anyone else recently run into this issue?

I still am having communication issues with the newest version, nothing happens when changing the settings plugin with any of the other humanizers

i've tested the latest update on a couple of PCs and it seems to be working fine here. if anyone still has issues and can answer the following q's that'd help me:
- what platform?
- does the demo song work? do you see/hear different behaviour for the different settings clips in the first channel?
- does the settings plugin show one graph column + one settings row per player plugin that you have loaded?
- if you delete the settings plugin and then hit undo, does that fix it?

I am having trouble getting the demo to work. I am on Windows 10 with Ableton 11.

I add the Settings to a midi track as per the directions and a player to each of the instrument tracks. However, no rows appear for any of the instruments in the Settings device. I have adjusted all the envelopes without seeing any effects in the Settings devices.

Deleting the settings and undoing does not fix the issue.

My assumption based on this is that the Settings and Player devices are not communicating and that it is not just a display issue.

When I load

Great! Thanks for sharing.
It works perfectly!

Loving this plugin!

But somehow it seems to be responsible for crashing live 11.2 on Mac Catalina 10.15.7 constantly..

Willing to pay for this as it is sooo good and I tried a lot before.

this is the thread that crashes all the time:

Thread 8 Crashed:: AudioCalc
0 libsystem_c.dylib 0x00007fff69b6cfca __chk_fail_overflow.cold.1 + 16
1 libsystem_c.dylib 0x00007fff69b6a214 __chk_fail_overflow + 9
2 libsystem_c.dylib 0x00007fff69b6a5ff __strcat_chk + 121
3 com.cycling.MaxPlugLib 0x00000001a8f7a75e aeval + 1294
4 com.cycling.MaxPlugLib 0x00000001a8f7a1fe atombuf_eval + 142
5 com.cycling74.message 0x00000001b0daca17 jmessage_atombuf_eval + 567
6 com.cycling74.message 0x00000001b0daa68f jmessage_int + 175
7 com.cycling.MaxPlugLib 0x00000001a8fae858 outlet_int + 1560
8 com.cycling74.zl 0x00000001b0ceba90 zl_genout + 128
9 com.cycling74.zl 0x00000001b0cec0be zl_dosect + 574
10 com.cycling74.zl 0x00000001b0ce9acf zl_int + 63
11 com.cycling.MaxPlugLib 0x00000001a8faeb88 outlet_int + 2376
12 com.cycling.MaxPlugLib 0x00000001a8fadf30 outlet_bang + 1856
13 com.cycling74.metro 0x00000001b0edead7 metro_tick + 135
14 com.cycling.MaxPlugLib 0x00000001a8ffc123 time_tick + 51
15 com.cycling.MaxPlugLib 0x00000001a8fe775a scheduler_run_flags + 506
16 com.cycling74.MaxAudioAPIImpl 0x00000001a9ea4d18 plugrunner_servicescheduler + 456
17 com.cycling74.MaxAudioAPIImpl 0x00000001a9e98518 plugrunner_process + 200
18 com.cycling74.patcher 0x00000001aa631d67 Wires::Process(plug_DeviceRef*, int, int const*, int const*, float const* const*, float* const*, __t_epii_REChunk*, __t_epii_REChunk*, __t_epii_MEChunk*, __t_epii_MEChunk**, __t_epii_REChunk**) + 887
19 com.ableton.live 0x000000010a310606 0x108081000 + 36238854
20 com.ableton.live 0x000000010a30fa3f 0x108081000 + 36235839
21 com.ableton.live 0x000000010919879f 0x108081000 + 17921951
22 com.ableton.live 0x00000001091b857d 0x108081000 + 18052477
23 com.ableton.live 0x000000010919c28a 0x108081000 + 17937034
24 com.ableton.live 0x000000010919c5ce 0x108081000 + 17937870
25 com.ableton.live 0x0000000108bc5e0e 0x108081000 + 11816462
26 com.ableton.live 0x0000000108bc60ce 0x108081000 + 11817166
27 libsystem_pthread.dylib 0x00007fff69ca2109 _pthread_start + 148
28 libsystem_pthread.dylib 0x00007fff69c9db8b thread_start + 15


There is only one issue using Group Humanizer 1.7 in Live 11 (M1 native) with Max 5.8.4 on macOS 13, in that occasionally one single player device will be presented as a live input device in the settings device for some minutes. This always goes away after a few minutes, if it happens. You can speed this up by deleting the offender and re-add it, but usually wa.
Otherwise it works fine and there are no crashes using GH 1.7.

"but usually it fixes itself" got lost in the broken sentence.

sweet stuff! Thanks

can you make a version of this without the settings menu and the influence mechanic?
i would much rather just have this for individual tracks.

also, i am only allowed to use up to ten which is very limiting.

Login to comment on this device.

[ browse device library ]