Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 10-29-2017, 08:24 AM   #1
Quiz
Human being with feelings
 
Join Date: Mar 2015
Posts: 9
Default Humanize / Randomize volume of media items

Hey guys,

think of the humanize velocity function for Midi items. I wonder whether there is a way to do the same with media items, that is changing the volume of a lot of media items randomly within a given range by the push of a button.

I do wanna do this to let my drums and percussions samples sound more natural. Until now, I do it manually, which is quite a lot of nasty work.

I do know that I easily could use a Sampler that has that function. Or use ReaSamplOmatic, (change the min Volume to -inf,) create a Midi file and humanize the midi note's velocities and kind of get what I want.

Yet, I would really like to know whether there is a way to do it on a sample basis. Like that, I still have the freedom to alter single samples in terms of envelopes, fades, effects etc., all of which is not possible after I loaded the sample into ReaSamplOmatic.

Any ideas?

Kind regards
Quiz
Quiz is offline   Reply With Quote
Old 11-24-2018, 12:07 PM   #2
5/4
Human being with feelings
 
Join Date: Jun 2013
Posts: 51
Default

Bump
Also looking for a solution for this at the moment. there are a number of ways to do it I am aware through plugins and using automation lanes but an action similar to the groove tool extension would be ideal if anyone can point in the right direction!
5/4 is offline   Reply With Quote
Old 01-07-2020, 11:24 AM   #3
AgiReaper
Human being with feelings
 
AgiReaper's Avatar
 
Join Date: Nov 2009
Location: Venice-Italy
Posts: 138
Default

Quote:
Originally Posted by 5/4 View Post
Bump
Also looking for a solution for this at the moment. there are a number of ways to do it I am aware through plugins and using automation lanes but an action similar to the groove tool extension would be ideal if anyone can point in the right direction!
Really no way?.....
AgiReaper is offline   Reply With Quote
Old 01-08-2020, 06:06 AM   #4
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

This would be fairly trivial to do as a script with ReaScript.

edit : I did a simple Lua script :

Code:
-- edit the numbers to change the decibel range to randomize to
local minvolume = -24.0
local maxvolume = 0.0

local numitems = reaper.CountSelectedMediaItems(0)
if numitems>0 then
  for i=0, numitems-1 do
    local item = reaper.GetSelectedMediaItem(0,i)
    local take = reaper.GetActiveTake(item)
    local volume = minvolume+(maxvolume-minvolume)*math.random()
    local gain = math.exp(volume*0.11512925464970228420089957273422)
    reaper.SetMediaItemTakeInfo_Value(take,"D_VOL",gain)
  end
  reaper.UpdateArrange()
end
You have to edit the beginning of the code if you want to change the randomization range.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 01-08-2020 at 06:33 AM.
Xenakios is offline   Reply With Quote
Old 06-21-2021, 11:23 AM   #5
jfog
Human being with feelings
 
jfog's Avatar
 
Join Date: Sep 2013
Location: Bay Area, Northern California
Posts: 69
Default Humanize / Randomize volume of media items

Hey,
I know this is an old thread, but wanted to point surfers to additional solutions.
Check out REAPERBlog.net (and on his YouTube channel) for a great video on using LFO to create random variations in Volume, Velocity, etc.
It's a great way of randomizing any parameter.
__________________
Multi-instrumentalist/Teacher. Paid REAPER user since 2009, Ver. 3.0.
“Guitarists spend half their time tuning and the other half playing out of tune.” – Andres Segovia
jfog is offline   Reply With Quote
Old 10-28-2021, 01:23 PM   #6
grnprplOrngyllw
Human being with feelings
 
Join Date: Oct 2020
Posts: 31
Default This did it!

Quote:
Originally Posted by Xenakios View Post
This would be fairly trivial to do as a script with ReaScript.

edit : I did a simple Lua script :

Code:
-- edit the numbers to change the decibel range to randomize to
local minvolume = -24.0
local maxvolume = 0.0

local numitems = reaper.CountSelectedMediaItems(0)
if numitems>0 then
  for i=0, numitems-1 do
    local item = reaper.GetSelectedMediaItem(0,i)
    local take = reaper.GetActiveTake(item)
    local volume = minvolume+(maxvolume-minvolume)*math.random()
    local gain = math.exp(volume*0.11512925464970228420089957273422)
    reaper.SetMediaItemTakeInfo_Value(take,"D_VOL",gain)
  end
  reaper.UpdateArrange()
end
You have to edit the beginning of the code if you want to change the randomization range.
thank you! this is it!!!
you just make a new custom reascript. How? as if you would make a new custom action in the Actions window, but instead of selecting new custom action, select new reascript. Now select where to store the reascript (you may just use the default directory, I did). Now, copy and paste that shit! (the code above. Save it, try it, nail it.

thanks jfog!!!
grnprplOrngyllw is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:16 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.