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.