Emulátor zvukových syntezátorů
Thesis title in Czech: | Emulátor zvukových syntezátorů |
---|---|
Thesis title in English: | Sound Synthesizer Emulator |
Key words: | syntezátor|emulátor|programovací jazyk |
English key words: | synthesizer|emulator|programming language |
Academic year of topic announcement: | 2019/2020 |
Thesis type: | Bachelor's thesis |
Thesis language: | čeština |
Department: | Institute of Formal and Applied Linguistics (32-UFAL) |
Supervisor: | Mgr. David Klusáček, Ph.D. |
Author: | Bc. Maximilian Kulikov - assigned and confirmed by the Study Dept. |
Date of registration: | 24.09.2020 |
Date of assignment: | 24.09.2020 |
Confirmed by Study dept. on: | 19.01.2022 |
Date and time of defence: | 31.01.2022 09:00 |
Date of electronic submission: | 07.01.2022 |
Date of submission of printed version: | 10.01.2022 |
Date of proceeded defence: | 31.01.2022 |
Opponents: | RNDr. Miroslav Kratochvíl, Ph.D. |
Guidelines |
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. |
References |
[1] R.W.Hamming. Digital Filters. Prentice-Hall, New Jersey, 1977 [2] Jiří Jan: Číslicová filtrace a restaurace signálů, VUTIUM, 2002 |
Preliminary scope of work |
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ů. |
Preliminary scope of work in English |
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. |