Welcome aboard. I am afraid that this question might be seen as is of-topic, as it is very broad. You might just want to ask for a library here, although personally I would not bother & would just code it all myself.
Readers, please note that this is not intended as an answer. It is just a comment that grew, and grew, and …
If I understand correctly, you want to detect sounds and display them as colo(u)rs ? I am not sure what you mean by “with sounds stored as bitmaps”, unless you want to display an image for each sound. Maybe you could/should display in a different way, like a chart, where you can see historical data, not just the current sound? Maybe, in v2.0, you could have a way to export the sounds detected (volume, duration, etc)? You could also add “Reporting” of most frequent values/average values; if you are measuring something like street noise, you could compare today with yesterday, the same day last week/last year, this month with the same month last year, etc, etc.
If you just want to display, then you don’t need to know “know how to read and write files in C++”.
First, of course, you need some hardware to detect the sound. Are you planning to use a PC, or do you want to also learn a new platform such as Raspberry Pi (I prefer the Onion Omega 2, but YMMV).
Next, how often do you want to sample the sound? Once per day/hours/minute/second? Or “as often as possible”?
If you struggle with C++, maybe consider another language? Python is much simpler, very popular & well supported, and has many, many, many, plug-in libraries, which make it very powerful.
Is your pseudo cod really as simple as this?
forever (or until interrupted)
delay (if you want to wait between samples)
It’s probably best to choose a language which has good graphic capabilities. For C++ that probably means learning a library like Qt. For Python, our resident guru @SteveBarnes can help you :-)
You might want to consider how to “grow” this application, learning new things along the way. For instance, you could start it as a PC based app. Then you could have it not display anything, but instead send some info to a web server, which updates a page that you can visit in your browser. Or you could make it an Android App, add raspberry Pi somehow, etc … If any of this sounds like learning fun, then stop now and make a plan –don’t just jump straight in. You don’t want to find yourself halfway up the mountain only to look across and realize that you are on the wrong mountain ;-)
This sounds like a very simple project, but it could grow and grow (see my V2..0 above), adding features and helping you learn new skills as you go.
Sister sites to be aware of:
Tools you need:
- An IDE such as MS Visual Studio or Visual Code for C++ (or Eclipse CDT, Netbeans, etc) or PyCharm for Python
- Learn to use the debugger, it is your absolute best friend when developing software
- Maybe look into Static ode Analysis (AKA Linting) to try to make your code even more bug free
- Learn Unit Testing and end to end testing in V2, if you network your app
And so much more. I could go on & on, but this “comment” is long enough already ;-)
Good luck – and I am sure that you will have great fun with your dream