Original title:
Převod not jednohlasé melodie ze zvukového signálu do protokolu MIDI
Translated title:
Conversion of monophonic melody from the audio signal into the MIDI protocol stream
Authors:
Krupička, Jan ; Rášo, Ondřej (referee) ; Mačák, Jaromír (advisor) Document type: Master’s theses
Year:
2009
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií Abstract:
[cze][eng]
Úkolem diplomové práce je porovnat možnosti detekce frekvence základního tónu v jednohlasé melodii. V práci je uveden přehled detekčních metod vycházejících z metod pro detekci základního tónu řeči. Tyto metody využívají časové, spektrální a kepstrální oblasti. Jsou porovnávány z hlediska úspěšnosti detekce na různých testovacích signálech. Součástí práce je implementace těchto metod v programovacím prostředí Matlabu. V úvodu práce jsou popsány základní vlastnosti hudebního signálu. Uveden je přehled různých soustav ladění a popsána problematika určení výšky tónu z detekované frekvence. V další části se práce zabývá problematikou MIDI. Uvedena je stručná historie a základní popis MIDI protokolu. Větší část je věnována struktuře a způsobu zápisu do takzvaného standardního MIDI souboru (SMF) a způsobu převodu detekovaných frekvencí na čísla not dle MIDI protokolu. Posledním úkolem práce bylo vytvořit program v jazyce C. Jeho úkolem je analyzovat jednohlasou melodii ve formě zvukového signálu a přiřadit detekovaným tónů čísla not dle MIDI, které jsou následně zapsány do SMF. Pro tento program byla vybrána detekce základního tónu v časové oblasti, která vykazovala nejlepší výsledky v porovnání s ostatními. Pro urychlení výpočtu korelace byl použit algoritmus takzvané rychlé korelace. Program byl vytvořen ve formě MEX souboru, který je možno využít v programovacím prostředí MATLAB prostřednictvím jeho externího rozhraní pro jazyky C a Fortran. Byl také připojen také popis knihovny FFTW, použité pro výpočty Fourierovy transformace.
The aim of this thesis is to compare possibilities of the pitch extraction methods in the monophonic melody. There is presented the overview of the methods based on the speech pitch extraction techniques in the thesis. These methods uses frequency, time and „cepstral“ domain. They are compared in the term of success of the detection of various test signals. The part of the thesis specification is the implementation of these methods in Matlab. There are described basics of sound features at the beginning of this work. The overview of the musical tuning systems is mentioned and there is described a problem of the determination of the pitch from the detected frequency. There is considered an issue of MIDI protocol in the next part of the work. There are described the brief history and the essential structure of MIDI protocol. The last task of the work was the creation of the program in C language. The purpose of the program is to analyze the monophonic melody in audio signal form and assign note numbers to the detected sounds according to MIDI specification. After that the numbers are written into the standard MIDI file (SMF). There was implemented a correlation pitch detection algorithm in this program. It had the best results as compared to the others. There was used the fast correlation based on Fast Fourier transformation to accelerate computing of the correlation. The program was created in the form of MEX function, which provides various possibilities to be used in Matlab. There was also attached the description of the FFTW library, which was used to compute FFT.
Keywords:
basic pitch extraction; FFTW library; Matlab; MEX function; MIDI; music signal; detekce základního tónu; hudební signál; knihovna FFTW; Matlab; MEX funkce; MIDI
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/10288