Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Emulátor zvukových syntezátorů
Název práce v češtině: Emulátor zvukových syntezátorů
Název v anglickém jazyce: Sound Synthesizer Emulator
Klíčová slova: syntezátor|emulátor|programovací jazyk
Klíčová slova anglicky: synthesizer|emulator|programming language
Akademický rok vypsání: 2019/2020
Typ práce: bakalářská práce
Jazyk práce: čeština
Ústav: Ústav formální a aplikované lingvistiky (32-UFAL)
Vedoucí / školitel: Mgr. David Klusáček, Ph.D.
Řešitel: Bc. Maximilian Kulikov - zadáno a potvrzeno stud. odd.
Datum přihlášení: 24.09.2020
Datum zadání: 24.09.2020
Datum potvrzení stud. oddělením: 03.05.2022
Datum a čas obhajoby: 12.09.2022 09:00
Datum odevzdání elektronické podoby:22.07.2022
Datum odevzdání tištěné podoby:22.07.2022
Datum proběhlé obhajoby: 12.09.2022
Oponenti: RNDr. Miroslav Kratochvíl, Ph.D.
 
 
 
Zásady pro vypracování

Cílem práce je vytvoření polyfoního konfigurovatelného syntezátoru zvuku s nízkou latencí vhodnou pro profesionální použití. To znamená méně než 10 až 15 ms od stisku klávesy (nebo přijetí příkazu) do rozeznění zvoleného tónu. Průběh práce se bude řídit experimentálními výsledky různých přístupů k řešení, kde se bude latence a další parametry měřit.

Uživatelské rozhraní:

Syntezátor bude rozumět konfiguračnímu jazyku, kterým uživatel nastaví celkovou strukturu syntezátoru. Tento proces by měl být podobný analogovému
zapojení syntezátorů. Konfigurace proběhne těsně po spuštení programu a dále budou vstupem MIDI příkazy, například z připojených MIDI kláves nebo ovládacích pultů.


Platforma:

Program bude vyvíjen pro operační systém Windows. Pro komunikaci se zvukovou kartou bude použito rozhraní ASIO od firmy Steinberg, pro jeho nízkou latenci.
Seznam odborné literatury

[1] R.W.Hamming. Digital Filters. Prentice-Hall, New Jersey, 1977

[2] Jiří Jan: Číslicová filtrace a restaurace signálů, VUTIUM, 2002
Předběžná náplň práce
Nástroj na tvoření emulátorů zvukových syntezátorů.
Základem práce je imperativní programovací jazyk Cynth popisující signály tvořící výsledný zvuk.
Kód v jazyce Cynth se přeloží do jazyka C pro následující slinkování s programem řídícím
GUI a MIDI vstupní ovládání a výstupní monitorování a napojení zvukové karty.
Mezikrok s překladem do jazyka C přináší výhodu z využití optimalizací překladače C.
Jazyk Cynth je omezený tak, aby za běhu nedocházelo k žádné dynamicé alokaci,
ale zároveň umožňuje komplexní programování za překladu a práci se staticky alokovanými datovými strukrurami
určenými k expresivnímu popisu signálů.
Předběžná náplň práce v anglickém jazyce
A tool for creation of emulators of audio synthesizers.
The base of the work is an imperative programming language Cynth that describes signals of the resulting sound.
Cynth code is translated into C code for further linkage with a program that controls GUI and MIDI
input controls and output monitoring and connection with a sound card.
The intermediate step of translation into C allows taking advantage of the C compiler optimizations.
The Cynth language is restricted in a way that eliminates any dynamic allocations at run-time
while allowing complex compile-time programming and working with statically allocated data structures
for expressive description of signals.
 
Univerzita Karlova | Informační systém UK