Search code examples
pythonperlwaveform

Programming a Self Learning Music Maker


I want to learn how to program a music application that will analyze songs.

How would I get started in this and is there a library for analyzing soundwaves?

I know C, C++, Java, Python, some assembly, and some Perl.

Related question: Algorithm for music imitation


Solution

  • Composition and analysis of music by computer is a huge field. There are two basic areas in this type of work, which overlap somewhat.

    Many, many libraries, tools and specialised programming languages exist which can help with different parts of these problems. Here's a list of music-related programs and libraries for Python. There is a lot of technology available; you should be able to find something that will do the brunt of the work for you. Reimplementing a 'musical parser' through very low-level frequency analysis tools such as Fourier Transforms, as other answers have suggested, while possible, will be quite difficult and is almost certainly unnecessary.

    For further advice and specific questions, the International Society for Music Information Retrieval has a mailing list which you would probably find very helpful.