DEV Community

Francisco Gonzalez
Francisco Gonzalez

Posted on

Spektrogram

My First Android Application

When I first started taking Software Engineering II, the main framework we got into learning was Flutter when it came to mobile app development. The ease of use of the framework and the overall beautiful UI that could be done really fascinated me, and I'm glad we went with learning Flutter! For the final project, we were asked to make whatever we wanted, and being an audio enthusiast myself, I wanted to recreate a tool that's heavily used in the audio enthusiast community for mobile!

The gist of it is that I recreated a spectrogram analyzer tool; it's very simple in the fact that all it does is analyze an audio file you give it. The main idea is that with the generated spectrogram, you can find out whether or not an audio file is lossless (not compressed, like the file format .mp3 is)

Usually, a file is lossless if it is a .wav, or .flac, or other lossless formats, but that doesn't mean that the audio itself is lossless because an mp3 to wav conversion can be made, otherwise known as transcoding, and that is generally a pretty bad thing to do.

If you're curious and would like to learn more in technical detail about lossless audio, I could recommend the following article; it details pretty much everything you would need to know!:
https://www.whathifi.com/us/advice/high-resolution-audio-everything-you-need-to-know

I mainly made this app for fun and to learn some new things along the way with Flutter!

Demo Link

https://www.youtube.com/watch?v=6C-QkhAH8j8&feature=youtu.be

Link to Code

https://github.com/dangersflow/Spektrogram

How I built it

I used the Flutter framework along with the FFMPEG Flutter port. FFMPEG allowed me to generate a spectrogram given an audio file relatively simply! Everything else was mostly standard Flutter libraries to save some information and to create the UI.

Additional Thoughts / Feelings / Stories

Upon looking at my code from about a year ago at this point, I can't help but feel pretty bad about keeping everything in one file hahahaha; the structure definitely could have been better, but I feel like I have learned a lot since then. Aside from that, I feel pretty proud about it! I tend to use it myself every now and then, and a couple of my friends in the audio enthusiast community gave me feedback along the way, and in the end, it was generally positive feelings, so I'm super happy about that :)

Top comments (0)