Would be easy enough. Even the old trick of copy&pasting AE keyframe data to and from Excel, editing the values and sending it back would work as would be parsing the data as arrays of data tuples after removing extraneous info like the headers in an expression or script. The values need massaging, though. Attempting to display frequency differences of a few microns would not even cover a sub-pixel in AE and you would only see a pretty smooth sine. You would have to do some serious range remapping here, at least for the visualization, not an actual value readout. Assuming the sampling interval for the values is always the same, you could get rid of the time values entirely, which would make this even simpler - the X offset would merely be a linear value based on multiplying it with the number of samples (= frames or time fractions). The only caveat might be AE's limited precisison. there's simply no way to squeeze in more than 99 frames per second...
Scripting is probably the way to go to generate the keyframes you need from the data. You'll have to consider representation rather than reality to make it work for you.
Thank you for the responses.
I can certainly 'massage' the file before importing, or even formatting it as key frames of an AE object(?).
Real difficulty for me is 'what' can hold the data to show the 'waveform (graph)' that I can scroll during the course of the video. I can see that by using F0 value for Y coordinate of an object, a dot can move up and down, but how can I make a layer(s) corresponding to having, say, a 5000x100 PNG file that's the entire graph?
It may be an obvious thing to an experienced in AE script (expression?), but I'm still at a loss, and a little snippet of actual code example or pointer to a manual page would be greatly appreciated.
You can use the Write-On effect or a particle system that drops a particle for every sample or any other method you can fancy that renders a dot or partial stroke dynamically. And you wouldn't necessarily use a huge solid. You simply let the graph scroll using the effects' built-in options like emission direction or additional effects like Motion Tile or Transform. You really need to think differently here. It's a visualization, not an analysis tool.
Taking the suggestions from the gurus, this is what I have come up with:
1. Processed the original frequency data in Excel so the numbers represent deviation (in cents) from the closest note.
2. Pasted above into text file that conforms to AE keyframe import for Y position of an object
Adobe After Effects 8.0 Keyframe Data
Units Per Second 60
Sourse Width 50
Source Height 50
Source Pixel Aspect Ratio 1
Comp Pixel Aspect Ratio 1
Transform Y Position
End of Keyframe Data
3. A Comp was made with a null and a black solid, and above was pasted to Y position of the null
4. The black solid has "Write-on" effect with following expression and appropriate brush size etc.:
y = thisComp.layer("Null 1").position;
y = -10 * y + thisComp.height/2;
x = thisComp.width * time / thisComp.duration;
This comp will plot the graph from left to right
5. To freeze the entire graph, above layers were pre-comp'ed and time was frozen at the last frame
Now I can use this to show a scrolling graph with video, and text showing cents value can be displayed too.
pos = comp("Pre-comp 1").layer("Null 1").position.valueAtTime(time);
I guess I could write a script to automate much of above, but this would be good enough for now.
Thank you again for the input.