in golang 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 production size 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 21.4k 21.4k 1010 gold badges7575 silver badges8484 bronze badges
- Ask Ubuntu 10.4k 10.4k 66 gold badges3939 silver badges6060 bronze badges
- Unix & Linux 1.6k 1.6k 11 gold badge1818 silver badges1919 bronze badges
- DevOps 427 427 22 silver badges99 bronze badges
- Super User 354 354 44 silver badges1212 bronze badges
- View network profile
Top network posts
- 634 "Cross origin requests are only supported for HTTP." error when loading a local file
- 321 Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'xxx' doesn't support architecture 'i386'
- 201 docker login unknown shorthand flag: 'e'
- 199 Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'xxx' doesn't support architecture 'i386'
- 63 E: Unable to locate package vim on Debian jessie simplified Docker container
- 49 How can I deactivate Bluetooth on system startup?
- View more network posts →