Isn't that what this part in "PokemonTime" is for?:
module PBDayNight
HourlyTones=[
Tone.new(-100,-100,-20,40), # Midnight
Tone.new(-95,-95,-20,35),
Tone.new(-90,-90,-15,30),
Tone.new(-80,-80,-15,25),
Tone.new(-60,-70,-20,20),
Tone.new(-40,-60,-30,15)...