Programming a self-learning music master

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

How do I start with this and is there a library for analyzing sound waves?

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

Related Question: Music Simulation Algorithm

+6
python perl waveform music
source share
5 answers

Composition and analysis of music by computer is a huge field. In this type of work, there are two main areas that overlap somewhat.

Many, many libraries, tools, and specialized programming languages exist that can help with various parts of these problems. Here is a list of music programs and libraries for Python . There are many technologies; you must find something that will do the whole burden of work for you. Repeating the β€œmusic parser” using very low-level frequency analysis tools such as Fourier Transforms , as other answers have suggested, although this is possible, will be quite difficult and almost certainly not necessary.

For further advice and specific questions, the International Society for Searching for Music on the Internet has a mailing list that you will probably find very useful.

+9
source share

Once you get past the FFT materials Lennart mentioned, you may need to look at the Markov chains to analyze the intervals between notes and aggregated patterns.

This is a kind of curved land, but Markov chains have been used in the past to create a kind of statistical model of melodies from different songs that can be used to create new melodies. Markov chains can do the same with written English sentences. For an example of how this looks, play with megahal chatbot to see how brand chains can produce distorted output that statistically looks like its input (in the case of megawal it looks like English sentences)

You could come to terms with the top 100, and the next major blow came at the brand chain generator.

On the other hand, you might think that this is not the quality of the music that makes a song popular. Or perhaps this is the quality of a musical problem in combination with marketing.

+6
source share

To analyze sound waves, you need some kind of Fourier transform (fft) so that you can divide the song into frequencies and how they change over time. There is fft support in numpy, I haven't used it, so I don't know if this is good. But that would be a great place to start.

After that, you need to do some kind of statistical analysis on frequencies and patterns, and then I no longer know what I'm talking about.

Cool stuff though, follow him!

+3
source share

You may like to start by looking at the MIDI format, it is quite simple compared to compressed formats, and you can create nice things in it.

Depends on what you really want to do.

0
source share

There is an Echo Nest remix API that allows you to analyze and process music in Python. Here are a few examples here: Where pow is here: You make me quantized by Miss Lizzie . There's a great tutorial here: Echo Nest API Overview

0
source share

All Articles