MIDI or WAV file to an array of frequencies and durations

Is there a script / software / algorithm that allows you to convert a MIDI (or WAV) file to a list <frequency, duration>so that we can reproduce the "image" of this sound file, for example, through System.Console.Beep(frequency, duration)in C #?

+5
source share
3 answers

You need to convert MIDI, WAV or another sound file to the original sound samples. Then, for consecutive blocks of samples (usually overlapping each block by 50%), use the window function (for example, Hanning), then FFT, then take the value of the FFT outputs, and then for audio you usually take 20 * log10 from this value to get the dB value .

+2

MIDI ( , : ) MIDI-. .NET, Google.

, . MIDI , . , . "", "" , , , , . "note on" "note off". "" ( , ), " " ( 0).

, ( , , , ), - "note on" , - "note on" "note off", / - / "". , .

WAV/MP3/AAC/OGG, , .

+2

R WAV.

MIDI MIDI. , , , "" , .

# MIDI Tutorial: http://www.codeproject.com/KB/audio-video/MIDIToolkit.aspx

, , MIDI . . , , . ( , , .)

, , NAudio MIDI- , .

... ( , , ...), WAV PWM PCM. , DOS- Necrobones, Windows 3.1, 33- . ( Windows ) .

+1

All Articles