# [FFmpeg-user] aevalsrc question

Muhammad Faiz mfcc64 at gmail.com
Tue Dec 20 18:34:42 EET 2016

```On 12/20/16, Adam Puckett <signalsender103 at gmail.com> wrote:
> On 12/20/16, Muhammad Faiz <mfcc64 at gmail.com> wrote:
>> On 12/20/16, Adam Puckett <signalsender103 at gmail.com> wrote:
>>> On 12/19/16, Nicolas George <george at nsup.org> wrote:
>>>> Oh, good catch. I should have remembered this task needed a primitive
>>>> function, not just a multiplication.
>>>>
>>>> Regards,
>>>>
>>>> --
>>>>   Nicolas George
>>>>
>>> What do I need to do to make the formula right?
>>
>> Just do the reverse.
>> Given freq(t) = 262 * 2^(t/10)
>> w(t) = 2*PI * 262 * 2^(t/10)
>> ph(t) = integral of w(t) dt
>>       = 2*PI * 262 * 10/log(2) * 2^(t/10) + arbitrary constant
>>
>> Thx.
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> Thanks, that worked! But the question is: why? I don't quite
> understand why I had to put in the log(2) expression.
>
> On a related note, I've looked at a formula that does  linear
> interpolation (one of the example scripts for Praat
> (http://praat.org/)), and there is a division by 2 in the script; is
> this for a similar reason? (For arbitrary targeted frequencies, I'm
> assuming I would have to use a log(highestfreq/lowestfreq) in place of
> the log(2)?)
>
> Thanks

It is calculus
2^(t/10) = exp(t/10 * log(2))
and integral exp(a * t) * dt = 1/a * exp(a * t) + arbitrary constant

thx
```