in the language go wrote a system to translate an input image into its audio equivalent where none of the information is thrown away ... it parses the image at the pixel level starting in one corner and traversing a path using a Hilbert Curve to visit each pixel and record light intensity at each pixel ... now you have an array of light intensity values ... assign to one end of this array a low frequency within the human audible range ... give other end of array a very high frequency and give each array element inbetween a frequency inbetween ... synthesize an audio oscillator at each element at its given frequency and drive its amplitude by the light intensity at that element ... aggregate all those oscillators into a single raw audio curve in PCM format ... this is the audio output equivalent to the input image ... it performs the functional equivalent to an inverse Fourier Transform ... this half of the system is done
now instead of having an input image synthesize and output audio write a new golang server to implement the reverse of above system namely have this second server input audio to synthesize and output image
so first server does : imageA --> audioA second server does : audioB -> imageB
when I was able to tie those system together such that the audioA output of first server was used as input audioB of second server and the output imageB matched the original input imageA I knew the system worked ... I have this all working ... next step is to productionize this and make available to the blind ( it may allow the blind to see with their ears ) ... and visa versa for the deaf ... also looking into other uses
- Stack Overflow 23.4k 23.4k 1010 gold badges8282 silver badges8989 bronze badges
- Ask Ubuntu 11.8k 11.8k 77 gold badges4444 silver badges6565 bronze badges
- Unix & Linux 2k 2k 22 gold badges1919 silver badges1919 bronze badges
- DevOps 459 459 33 silver badges1111 bronze badges
- Super User 404 404 55 silver badges1212 bronze badges
- View network profile
Top network posts
- 676 "Cross origin requests are only supported for HTTP." error when loading a local file
- 381 Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'xxx' doesn't support architecture 'i386'
- 227 Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'xxx' doesn't support architecture 'i386'
- 208 docker login unknown shorthand flag: 'e'
- 81 E: Unable to locate package vim on Debian jessie simplified Docker container
- 52 How can I deactivate Bluetooth on system startup?
- View more network posts →