Open ideoforms opened 1 year ago
I like to have shown db value for volume for fader in touchosc mapped to track volume. Will this be possible?
See here:
Def db2value(db):
if db <= 6 and db >= -18:
return (db+34)/40
elif db < -18 and db >= -41:
alpha = 799.503788
beta = 12630.61132
gamma = 201.871345
delta = 399.751894
return -(np.sqrt(-alpha*db - beta) - gamma) / delta
elif db < -41:
alpha = 70.
beta = 118.426374
gamma = 7504./5567.
return np.power(((db+alpha)/beta),gamma)
else:
print('out of bounds')
def value2db(vl):
if vl <= 1 and vl >= 0.4:
return 40*vl -34
elif vl < 0.4 and vl >= 0.15:
alpha = 799.503788
beta = 12630.61132
gamma = 201.871345
delta = 399.751894
return -((delta*vl - gamma)**2 + beta)/alpha
elif vl < 0.15:
alpha = 70.
beta = 118.426374
gamma = 7504./5567.
return beta*np.power(vl,1/gamma) - alpha
else:
print('out of bounds')
Marco Buongiorno Nardelli (he/him) Regents Professor, University of North Texas External Professor, Santa Fe Institute CEMI, Center for Experimental Music and Intermedia iARTA, Initiative for Advanced Research in Technology and the Arts ArtSciLab, ATEC @ the University of Texas at Dallas http://ermes.unt.edu http://www.materialssoundmusic.com
From: zbynekdrlik @.> Date: Tuesday, March 28, 2023 at 2:40 PM To: ideoforms/AbletonOSC @.> Cc: Buongiorno Nardelli, Marco @.>, Mention @.> Subject: [EXT] Re: [ideoforms/AbletonOSC] Add support for setting gain values in dB (Issue #44)
I like to have shown db value for volume for fader in touchosc mapped to track volume. Will this be possible?
— Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fideoforms%2FAbletonOSC%2Fissues%2F44%23issuecomment-1487496575&data=05%7C01%7CMarco.BuongiornoNardelli%40unt.edu%7Cd381397646ef4ce0271608db2fc453b4%7C70de199207c6480fa318a1afcba03983%7C0%7C0%7C638156292506150869%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WqNnZt1Avm9pmTGX%2FRwmPVj%2FeoytbWUUdjn0AG8oVN8%3D&reserved=0, or unsubscribehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFQOHKQYRAO2VVDCO7QT65TW6M5D3ANCNFSM6AAAAAATXJ7KDM&data=05%7C01%7CMarco.BuongiornoNardelli%40unt.edu%7Cd381397646ef4ce0271608db2fc453b4%7C70de199207c6480fa318a1afcba03983%7C0%7C0%7C638156292506307101%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DuwVYHuRFc5Nwx9reBdTVNyRLPjfiVBOfl67zByWkxk%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>
Currently, all volume levels are floats (0..1). The API should ideally expose the ability to set gain values in dB, which will require an internal mapping from db to linear (as provided by @marcobn), and vice versa.