I have student who is attempting an independent study next year in audio processing. Her goals involve detecting the meter of a song. Thus could be done through machine learning, or through other forms of AI.

While she will eventually be creating a science fair project, she has asked for advice on what to study over the summer in order to make the most of next year. I have no experience in this realm. I know that she had not yet taken AP Statistics, but I also don't know how much statistical knowledge is really necessary.

As some context, she is a rising high school junior who has already taken AP Computer Science, and a course on C and Assembly Programming.

Can anyone advise on how I can guide her?

  • 1
    $\begingroup$ I would suggest, that a fourier transform would be one of the early steps. Then the rest of the code would be analysing frequencies. $\endgroup$ May 30 '17 at 14:44
  • $\begingroup$ That's exactly the sort of specificity I'm looking for. Could you flesh that out into more of an answer? $\endgroup$
    – Ben I.
    May 30 '17 at 14:58

Most audio analysis would be done in the frequency domain. Signal (including audio) can be seen as a set of samples in the time domain, or the frequency domain. Fourier showed that any signal can be created by adding together a set of sine waves. Often it is easier to analyse a signal in the frequency domain, especially questions about frequency, such as meter (I am not 100% sure what this is, but from the wikipedia article on meter, it seems to be a frequency thing).

Therefore I would suggest, that a Fourier transform would be one of the early steps. Then the rest of the code would be analysing frequencies. There are usually good libraries (they exist for C and python, I am not sure about other languages), for doing this.


Yes, it requires quite a bit of mathematical knowledge, and some understanding of the different AI techniques out there (neural networks etc.).

You could tell her that a good way to go about it is first choosing the form of AI she would like to learn (here you can mention neural networks).

Next, she should try to learn about the mathematics behind the AI form she chose (computers eventually only compute, so there's math in it). For audio processing, neural networks are, in my opinion, ideal because their input can only be a collection of numbers. The key point of this part is thorough understanding of the field, which is necessary for later understanding how to use those tools correctly.

The next step is learning how to convert audio (maybe .mp3 files) to something that the chosen AI can work with. From there it's specific to the AI that she would choose, but the previous step ensures that she'll know what to do with that converted information (for neural networks - train them on that).

It really comes down to the second step. That's the biggest part, and that's where the self learning really comes into play. From what you say, I doubt she'll find it overly complex and difficult.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.