Programming a remote controllable real-time FM audio synthesizer in Rust

Authors: 
Linz, Andreas
Year: 
2017
Language: 
English
Abstract in English: 
Software Audiosynthesizers have gained in popularity over the past 10 years and it is impossible to imagine professional or home studios without them. This popular- ity is mostly justified by the high computing power, which is available everywhere on PCs and mobile devices and makes real-time audio synthesis usable. The aim of this work is the detailed description of basic synthesizer components and the investigation of suitable algorithms and techniques for their realization. In the first part, input protocols are considered and the fundamental building blocks of a synthiser are introduced. Subsequently, different synthesis techniques are explained and the decision for the choice of the subtractive synthesis is ex- plained. The second part deals with signal processing topics of the individual synthesizer components. The basics of digital filters are explained and FIR and IIR filters are compared. Thereafter, the audio quality and efficiency of various waveform syn- thesis methods is evaluated, i. a. band-limited impulse trains (BLIT) and waveta- bles. Implementation details are explained in chapter 7 and the components of the synthesizer application are evaluated. It was found through the investigation of the synthesizer implementation that the selected techniques and algorithms have high audio quality and low calculation costs, in particular Rust has proven to be a very suitable choice for the development of real-time applications.
Abstract: 
Software Audiosynthesizer haben in den letzten 10 Jahren enorm an Popularität gewonnen und sind in vielen Profi- und Heimstudios nicht mehr wegzudenken. Diese Popularität ist durch die hohe Rechenleistung begründet, welche auf PCs und mobilen Geräten überall zur Verfügung steht und Echtzeitaudiosynthese nutzbar macht. Das Ziel dieser Arbeit ist die ausführliche Beschreibung grundlegender Synthesizerkomponenten und die Untersuchung geeigneter Algorithmen und Tech- niken für deren Realisierung. Im ersten Teil der Arbeit werden Eingabeprotokolle betrachtet und die funda- mentalen Bausteine eines Synthersizers eingeführt. Anschließend werden ver- schiedene Synthesetechniken erläutert und die Entscheidung für die Wahl der sub- traktiven Synthese begründet. Der zweite Teil beschäftigt sich mit der Signalverarbeitung innerhalb der einzel- nen Synthesizerkomponenten. Die Grundlagen von digitalen Filtern werden er- läutert und FIR mit IIR Filtern verglichen. Nachfolgend wird die Audioqualität und Effizienz verschiedener Wellenformsynthesemethoden, u.a. bandbeschränkte Impulsfolgen (BLIT) und Wavetables, evaluiert. Implementierungsdetails werden im 7. Kapitel erläutert und die Komponenten des entwickelten Synthesizers aus- gewertet. Es zeigte sich durch Untersuchung der Synthesizerimplementation, dass die aus- gewählten Techniken und Algorithmen eine hohe Audioqualität bei gleichzeitig niedrigen Berechnungskosten haben, insbesondere Rust hat sich als sehr geeignete Wahl für die Entwicklung von Echtzeitanwendungen erwiesen.
Pubdate / Erscheinungsdatum: 
2017-01-08
Pages / Seitenanzahl: 
119
URL: 
https://github.com/klingtnet/master-thesis
AttachmentSize
thesis.pdf4.83 MB