I'm looking to develop a software application that does several things: analyzes incoming sound to determine musical pitch, imports .mxl (MusicXML) files, utilizes machine learning to analyze those .mxl inputs, and can generate tones or play back stored sound samples. I'm new to programming, so I want to know what programming language would be the best to start building a prototype for this project. I plan to use it on MacOS, Windows, and iOS. Any suggestions?
3 Answers
For what you're trying to do, I recommend starting with Python. It's a user-friendly language, perfect for beginners, and has libraries that can help with pitch analysis and working with MusicXML files. You could check out libraries like 'muspy' for .mxl support. Additionally, for machine learning tasks, libraries like numpy and pandas can be really useful. You might also want to watch some YouTube tutorials to get you started quickly! Setting up Python may seem tricky at first, but once you're up and running, you'll be in a good place to dive deeper into your project. Happy coding!
And don't forget about sound generation strategies! You'll definitely need the right libraries for that part.
If you're a beginner looking to learn and prototype, Python is definitely the way to go. Java and Rust are also options for MXL parsing, but Python's simplicity and the vast number of libraries for machine learning and sound analysis make it ideal. Just remember, choose a language that feels comfortable for you; your familiarity will make the learning process smoother!
At the end of the day, the language isn't the biggest concern—it's what you're comfortable with. Although Python is a great choice, you can really go with any language that has solid libraries for your needs. Just keep in mind the machine learning aspect; that requires some serious data management and possibly GPU resources. Think about how you plan to approach that part!

Totally agree! Python has a great community and tons of resources to help you out whenever you're stuck.