Lol, I actually just recommended lerp because it’s what I’m familiar with, I’m pretty new to UE but I did notice there was a FInterpTo. I used it on a character controller to control the camera, not sure I even understand exactly what it’s doing, seemed to be smoother than standard lerp.
Earlier today , I tried out your blueprint script, with some modifications. I did notice what you’re talking about, it seemed like the audio clip I was playing would loop but the Get Amplitude function wouldn’t be spitting out new values. It’s like it just used the file once and then said I’m done! I did try something before using that function, I tied it to the first person controller shooting the gun and it seemed to trigger every time, but when I made a loop it didn’t.
Not exactly sure why, I started looking into the source code to try and track it down, I’ll let you know if I find anything.
EDIT**
Okay, so I found out why mine wasn’t working lol. I got something going now, it’s a bit loopy looking I’m not too good at organizing my blueprints in an orderly fashion, also just had to compress everything in order to get a screenshot of everything!
So leme try and explain what I did in this chaos.
I actually in writing this realized 1 error in my logic and 1 thing that just kind of improved the script by writing all this out :P.
Seems like such a big explanation for really just saying, the volume drives the brightness lol.
&stc=1&d=1437551070
We start at begin play.
First cast(convert) the sound in the audio component to a sound wave, just preliminary stuff to be used later.
Then call the SoundReady event,
Play audio
Wait until file is done playing
Call SoundReady event and loop it all over again
right after that, iterate on an integer timesPlayed by adding 1 to it.
In the time between each frame that this event gets called.
For every frame, in each frame
Get the average amplitude for the amount of time between this and the previous frame (Delta Seconds a.k.a. delta time)
Set the intensity of the light to that average number
Now there’s a little bit of math involved, I realized why it wasn’t looping for me, which was honestly total luck that I tried this 
At the bottom left section, with all the green float bits,
I get the current time since the game started, lets call this Y,
I also get the number of times the sound has been played and multiply it by the duration of the sound clip, lets call this X
I then take Y and subtract it by X
I assumed that the file had stopped outputting data because the game time had exceeded the duration within the sound clip being played, which is what I had originally been plugging into it.
So depending on how many times it’s been run the range of time will always be between zero and the duration of the clip.
Say it takes 2 seconds for the clip to play, game has been running for 3 seconds, so I subtracted 2 and the resulting number is 1.
So now plug that resulting 1 into GetAmplitude.
Because if I only had Game time in seconds, it would be inputting 3, therefore going over the duration of the sound clip!
and over on the right I just multiplied the out amplitude data by 3 to give it a bigger… amplitude :P.
I think it’s a pretty cool effect, no lerping necessary!
Though if you want to do anything but play a sound over and over and over limited to it’s duration, you’re going to have to get a bit more complicated, it’s a good start though!.