In[]:=
orig=
;
In[]:=
width=200;​​blur=2;​​pos=PixelValuePositions[EdgeDetect[​​ImageResize[GaussianFilter[orig,blur],width],5],1]//N;​​path=pos[[FindShortestTour[pos][[2]]]];​​​​ts=Accumulate[EuclideanDistance@@#&/@Partition[path,2,1]];​​ts=ts/ts[[-1]];​​ts=PrependTo[ts,0];​​xs=path[[All,1]]/width;​​ys=path[[All,2]]/width;​​xf=Interpolation[Transpose[{ts,xs}]];​​yf=Interpolation[Transpose[{ts,ys}]];​​​​Grid[{{​​Graphics[orig,ImageSize->"Small"],​​ParametricPlot[{​​xf[t],yf[t]​​},{t,0,1},ImageSize->Small]​​}}]
Out[]=
In[]:=
sound=Module[{period=200},​​ListPlay[{​​Table[yf[Mod[t,period]/period//N],{t,10000}],​​Table[xf[Mod[t,period]/period//N],{t,10000}]​​},​​SampleDepth->16,​​SampleRate->2048]];
In[]:=
EmitSound[sound]
In[]:=
Export["~/Buff/icon.wav",Sound[sound],AudioEncoding->"Integer16"]
Out[]=
~/Buff/icon.wav