4

I would like to analyze the notes of a song to convert it into the waveform or in Hertz value.

The goal is to preserve these notes as they are, with no change of vibration, without having to correct each individual note toward the european system.

Therefore, the software should read the file and give a result in Hertz value.

Berhane

  • Any OS preferences? – Nick Wilde Apr 1 '14 at 22:13
  • If it can resolve the issue, both Win and Mac programs are good. The preferred platform could be Windows. – Berhane Apr 6 '14 at 2:34
  • possible duplicate of Convert music (MP3) into hertz values (text) – Fractaliste Apr 8 '14 at 22:01
  • @Fractaliste I think that the other is slightly different - and Berhane explains the difference in a comment there – Nick Wilde Apr 9 '14 at 0:07
  • Dear Nick, as you mentioned, the previouse statement was changed various times, that makes litlle difficult to understand major linkage of thoughts. – Berhane Apr 9 '14 at 4:42
7

What you're looking for is probably a Fast Fourier Transform, or "Frequency Analysis".

Audacity can do this, with the Analyze -> Plot Spectrum… tool.

enter image description here

This will output a graph, and you simply find where it peaks to ascertain the Hertz value of whatever sound you were analyzing. This of course only works if the tone is constant.

If your sound file consists of multiple frequencies (pitches) in sequence, then you're likely going to need to get into customized programming of a tool called Max/MSP or something similar, depending on what you're actually trying to do.

If it's not apparent already, a single-in single-out program that takes a piece of music or arbitrary recorded sound and outputs a single Hertz value would not be a useful program. At best, it would be an average frequency value for the entire clip, and if that's really what you need, you should look into automating one of the options above.


Programmatic transcription of recorded sound to Hz values:

(only reliable for music with a single line melody in a clear recording)

  1. Take as input a waveform, consisting of +/- amplitude over time.
  2. Decide on a temporal resolution with which to analyze the waveform, n seconds.
  3. Break the sound file into n-second-long chunks, and run an FFT on each chunk
  4. Find the peak frequency for each FFT curve
  5. Transform your results into frequency over time
  6. Design logic to decide how to break this frequency curve up into "notes".
  • As you said the Audocity software presents the Spectrum. However, the Hz value that it is a calculate field from the Spectrum is not edited it. My request is: how will I get the notes that represent their hertz values. Let say the song has only 5 notes, I expect the result written in Hz value. These 5 notes can be: "A C G B D" or "La Do Sol Si Re" as a result the software should give the output in their Hz value. I expect to know whether a Software or Programming of "java or else" are available in the market, or Universities have the solution. I appreciated your kindness. – Berhane Apr 6 '14 at 1:42
  • The reference you brought that there is no need to list all notes, is right. I expect only the average of it. – Berhane Apr 6 '14 at 1:44
  • 1
    Sorry, but the second sentence of your comment is not syntactically meaningful; I still don't understand what, mathematically, you are trying to accomplish. Perhaps if you elaborate on what you plan to do with this program, it will become clearer? If you already know the note names, the frequencies can be easily calculated programmatically in your own code: phy.mtu.edu/~suits/notefreqs.html – NReilingh Apr 6 '14 at 15:31
  • Dear Reilingh, the explanation you've given are right. you looked into the scientific view. I am focussing on solving issues. I want to do a research. I like to find values or data in order to see the difference among listed notes that exist in a song. My goal is to catch the notes of the song. Meaning get the results in numbers (hz value). From this output I can do the reference I want to pursue. And this is: fetch the sound from any song. (No need to correct the notes into standard pitches). Then list them in a Excel/Word file. From the list data i will construct the module, the theory. – Berhane Apr 7 '14 at 19:39
  • Finding all of the notes in a song in Hertz value is an equally difficult problem as finding all of the notes in a song by pitch letter name. The fact that you are using a numerical symbology does not change the problem. – NReilingh Apr 7 '14 at 20:19

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