Anotace:
Cílem této diplomové práce je prozkoumat problematiku vzniku šumu při renderování hudby a možnosti jeho potlačení nebo úplného odstranění. Jádrem práce je velmi praktická aplikace různých poznatků z numerické matematiky, univerzální algebry a počítačové geometrie na zvuková a hudební data. Kromě samotné studie eliminace šumu práce přinesla několik zajímavých vedlejších produktů, jako je samotné renderování hudby, jeho algebraická formalizace, analýza situace na poli hudebních souborových formátů nebo podrobná studie interpolačních metod zvuku a dalších parametrů, které mají vliv na kvalitu počítačem renderované hudby. Při tom jsem také objevil velmi jednoduchý a praktický algoritmus pro softwarové zesilování basů ve zvuku. Výsledkem práce jsou také formulace a důkazy celé řady teoretických tvrzení a vět týkajících se dané problematiky.

 

Resumé:
The main goal of this diploma work is to find origins of unwanted noise in computer-rendered music and to specify methods of its suppression or elimination. The key part of this work is the very practical application of several pieces of knowledge of numerical mathematics, universal algebra, and computer geometry to musical and sound data. Besides the study of noise elimination itself, this work has brought some other interesting secondary products, as the rendering of music itself, its algebraic formalization, analysis of situation in computer music file formats, or detailed study of interpolation methods and other parameters with influence to the quality of computer-rendered music. Besides this, I have also found a simple and practical software-only algorithm of enhancing bass frequencies in sound. The work also brought wide range of theoretical theorems and their proofs.

 

Závěr:
V této diplomové práci jsem se zaměřil na dosud nepříliš prozkoumanou problematiku vzniku šumu ve zvuku a hudbě při jejich počítačovém zpracování.

Základem práce je teoretická studie numerické reprezentace a zpracování reálných funkcí jedné reálné proměnné. Na tomto základu jsem potom vystavěl algebraicky založenou teorii systému normovaných funkcí, kterou lze přímo aplikovat při renderování zvuku.

Dále jsem se velmi podrobně zabýval interpolačními metodami vhodnými pro použití při syntéze zvuku a možnostmi vzniku numerických chyb při operacích se zvukem v syntetizéru. Kromě interpolačních metod jsem prozkoumal i otázku filtrace existujícího šumu ve zvuku, bez ohledu na to, jak tento šum vznikl.

Praktická část diplomové práce staví zejména na mých už osmiletých zkušenostech v oblasti renderování digitální počítačové hudby, které jsem využil pro návrh a implementaci trackeru a sekvenceru digitální hudby. Tyto pak posloužily jako zdroj zcela reálných dat pro syntetizér, který realizuje poznatky z teoretické části práce. Ačkoliv se diplomová práce zaměřila především na zvuk, bez detailního nastudování a realizace hudebního rendereru jako celku by nešlo práci realizovat. Proto se nelze divit, že - ačkoliv to z tohoto textu nemusí být zcela patrné - program, který vzešel z této práce, je z velké části zaměřen na renderování hudby jako takové, zatímco problematika eliminace šumu tvoří pouze jeho menší část. Myslím, že výsledky práce lze považovat za úspěšné, a to jak na teoretické, tak na praktické úrovni. Podařilo se mi snad celkem úspěšně skloubit poznatky z algebry, numerické matematiky, geometrie a také částečně fyziky. Výsledkem je jednak program umožňující velmi kvalitní renderování hudby a také celá řada teoretických poznatků, které lze v budoucnu použít i v jiných oblastech. Zejména závěry související se vztahem numerické matematiky, numerických chyb a počítačové implementace numerických výpočtů jsou široce aplikovatelné i na jiné aplikace a řešení problémů založených na spojitých reálných veličinách.

Program o 12000 řádcích v C++ je zároveň ukázkou, jak lze realizovat renderer hudby a přitom se vejít do slušné velikosti kódu. Během práce jsem zkoušel i různé optimalizace rychlosti v assembleru, ovšem ve finální verzi jsem se s ohledem na to, že jde o diplomovou práci, spolehnul výhradně na C++. Bodem, ve kterém jednoznačně vidím ještě velký prostor pro další práci, je kód trackeru zajišťující výpočet zvukových efektů nutných pro správnou interpretaci všech skladeb. Ten nelze v žádném případě považovat za dokonalý, protože - jak už to bývá - kdybych se snažil dotáhnout tento bod do 100% dokonalosti, rozsah práce by výrazně překročil únosnou mez a nemohl bych se tedy již plně věnovat klíčovým otázkám diplomové práce.

Závěrem lze říci, že tato práce rozhodně přinesla pozitivní hmatatelné výsledky a zároveň vytýčila určitý prostor pro další práci v oblasti.