Encode a music into an image without notable changes, and decode it
Tools:
OpenCV, scipy.fft, jpeglib, librosa, Pillow, sounddevice
Process Flow:
- Encoding
- convert image to YCbCr
- read audio and fft
- keep only positive frequencies and filter high freq components
- round, convert to int16 and then binary, split in group of 2 digits
- encode real part to Cb domain and imaginary part to Cr domain
- reconstruct image
- Decoding
- split image to YCbCr
- get the real and imaginary part from Cb and Cr channels
- merge results to get the fft results in complex terms
- get full fft and ifft to get audio
Result:
For more information, please refer to docs/ProjectReport.pdf
Future Works:
I love the songs by Khalil Fong(方大同), i wish to also encode his songs in this list. Additionaly, the interpretation and commentary i like about these songs from bilibili.