Shared-Reality-Lab / IMAGE-server

IMAGE project server components
Other
2 stars 7 forks source link

Highchart on etherscan.io gives long description of axes, but rendering of data is just a little "burp" #842

Closed jeffbl closed 3 months ago

jeffbl commented 4 months ago

Test extension running against unicorn or pegasus (same results) go to etherscan.io Note: Transaction history chart has "Interpret this chart with IMAGE (test)" button Click button Note: Long explanation of axes Note: the rendering of the chart data is just a little "blurp" of noise Expect: audio rendering that actually conveys shape of data.

jaydeepsingh25 commented 4 months ago

I guess this is working as expected, the chart contains few data points which are very closely located on y axis, hence the rendering generated is not explanatory. It is working fine for the cases where there are large number of data points clearly separated throughout the x-y plane. Data for the chart in question is:

Image

I think this can be solved if we normalize/scale the data points before generating the rendering in the charts handler. @jeffbl , @JRegimbal what are your thoughts on this?

JRegimbal commented 3 months ago

https://github.com/Shared-Reality-Lab/IMAGE-server/blob/fb6938f91bdb3a8181a9c02bad80ffa0e9301663/services/supercollider-images/supercollider-service/charts/line.scd#L65-L81

It would be possible to adjust the delay between pings, but this rendering was really designed under the assumption that there would be many data points. The ping noise decays quickly and if we did try to sustain it it may not sound right. We could try messing around with this to some extent.

Beyond that, though, it isn't immediately obvious to me what the "correct" overall duration of a graph sonification would be. Maybe a soft minimum overall length and hard limits on the duration of each ping would do it? This assumes that the adjustments still sound OK.

jeffbl commented 3 months ago

Even if the individual pings fade out with silent gaps, might convey the sparsity of the data. I can't imagine we'd ever want a representation to be less than 2 seconds if a lower bound would help resolve this.

If this is beyond scope of current handler work and should be put into backlog, then I'll look for another example for our website, since we wouldn't want to point to this one. May be as simple as just pointing to one of the larger graphs on the same site, which does seem to work ok.

JRegimbal commented 3 months ago

Want me to add this to my backlog? AFAIK I'm the only person on the project right now who knows how to use SuperCollider haha.

JRegimbal commented 3 months ago

Doing a 30-or-so minute attempted fix on this. Will either update or move to backlog depending on result.