Looking at your code with an input of 1M samples, I get the following breakdown in execution time:
Peak finding: 17%
Array generation: 1%
Spline interpolation: 82%
As you can see, the array generation is trivial compared to the other operations. If you have performance problems, focus on the important parts.
(btw, a simple "to DBL" would suffice inside the loop, I am not sure why you are doing a constant operation. Still, there is little difference in speed)