2
$\begingroup$

I'm a beginner with absolutely no experience in signal processing, but it has been a long-term goal of mine to do something that mixes music (a hobby of mine) and computer science (my "expertise"). I've been thinking of doing a project that involves learning notes from music, but I don't know where to begin.

For one, there doesn't seem to be a name for this problem. However, it doesn't seem to be a solved problem. I've searched terms including "Audio recognition," "note recognition," "chord recognition," but I've only come up with this paper: "Automatic Chord Recognition from Audio Using an HMM with Supervised Learning" by Lee and stanley. It seems to have some good references to processing and even a pointer to a dataset I could potentially use, but one paper doesn't seem to be enough for a good understanding. Alternatively, I could skip the processing part entirely but I can't find data sets using terms like "audio signal data set"

Signal processing seems to be a pretty broad field. To save time, I want to pick up a book more oriented towards my project. Are there any books like this? I've found this: http://www.dspguide.com/ch1/3.htm but I want to know if this is relevant before I jump into this 34 chapter book. Are they any other search terms I can use such as "audio feature extraction" to get me closer to the ML part of the problem?

Finally, to cut down on work, I want to use libraries for the signal processing part. One library I found for Python is Pyo but are they any other alternatives for Python that people have used?

Basically, I'm a little overwhelmed by how much I don't know and I would greatly appreciate a pointer in the right direction. Even google search words would help.

$\endgroup$
7
  • $\begingroup$ Could you please elaborate on what you mean by "learning notes from music"? What is your input and what is your output? There's surely a lot more relevant literature about what you want to do than you think... Are you talking about transcribing an audio recording into a score? $\endgroup$ Oct 20, 2014 at 20:59
  • $\begingroup$ Maybe you could start with pitch estimation $\endgroup$
    – Aaron
    Oct 20, 2014 at 21:02
  • $\begingroup$ There's a major research conference every year on the music recognition problems you mention: music-ir.org/mirex/wiki/MIREX_HOME . Tons of papers and proceedings. $\endgroup$
    – hotpaw2
    Oct 20, 2014 at 22:31
  • $\begingroup$ pichenettes - Yeah transcribing an audio recording into a score is exactly. Aaron - I can take a look into pitch estimation hotpaw - I'll definitely take a look at MIREX, that looks very promising, thanks! $\endgroup$
    – Lycus
    Oct 20, 2014 at 22:42
  • 1
    $\begingroup$ It should be a bit outdated by today's standards, but it has a "from scratch" pedagogical approach: "Signal processing methods for music transcription" Klapuri / Davy (ed.) Then move on to MIREX evaluation mini papers for the latest methods $\endgroup$ Oct 21, 2014 at 7:06

3 Answers 3

2
$\begingroup$

The Lyons book is gold for someone in your situation. Have patience with the topic of audio DSP -- the more time you spend trying to learn it, the less you will know that you know. :)

$\endgroup$
0
$\begingroup$

If you're an absolute beginner, I recommend you start with a practical example (that you can see/hear). This will give you some "hands-on" experience before diving into papers.

I highly recommend libROSA (and the introduction ipython notebook (all free software)) to quickly get some intuition about pitch-estimation (using chroma features), beat-detection (for rhythm and timing of notes) etc.

$\endgroup$
0
$\begingroup$

The field of taking audio of music and returning the notes which were played is known as Automated/Automatic Music Transcription. There are some subproblems like F0 estimation and note tracking, and its part of the bigger field of Music Information Retrieval.

A recent review of methods from 2016 is B.S Gowrishankar, Nagappa U. Bhajantri: An exhaustive review of automatic music transcription techniques

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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