Please use this identifier to cite or link to this item: http://hdl.handle.net/10773/31347
Title: rtfss: a hardware description language for digital audio processing
Other Titles: rtfss: uma linguagem de descrição de hardware para processamento digital de áudio
Author: Pinho, André da Silva
Advisor: Silva, Tomás António Mendes Oliveira e
Defense Date: 19-Feb-2021
Abstract: The pursuit of audio synthesis in digital circuitry and computing systems dates back to the time where programming languages such as Lisp, COBOL and Fortran were still being conceptualized. This era (the 1950s) marks the appearance of the MUSIC I programming language. Since then, and as the processing capabilities of computers kept rising, there was an influx of new languages capable of synthesizing audio. Languages such as SuperCollider, Pd (pure data), Max/MSP, ChucK and Faust are among the most popular ones, nowadays. These languages, although having different approaches and designs, have one aspect in common: they are all computer languages. Albeit these solutions grant great flexibility, they present an issue: timing constraints, particularly audio latency. In this document, a new Audio Processing Language, called rtfss, is introduced. This language was designed to be compiled mainly to hardware targets, exploiting their inherent parallelism. To complement the formal description of the language, a compiler that implements a subset of the language's capabilities will also be presented. This compiler is capable of analysing a design description written in rtfss and compile it to the lower level hardware description language VHDL. One of the main highlights of rtfss (and its compiler) is that the hardware architecture it synthesizes is pipelined. This type of digital architecture is used in logic designs to maximize the working frequency and the efficiency of the design. Throughout this document, both the language's formal specification and the compiler's implementation will be thoroughly analysed and explained. Some use-case examples of this language, accompanied by their compilation procedure, will also be illustrated and examined. In this document, it is also described a simpler architecture of another Hardware Audio Processing Language, which served as a stepping stone towards the development of rtfss. As a product of its development, some useful VHDL Audio (and MIDI 1.0) related hardware blocks were implemented.
O interesse em sintetização de áudio em circuitos digitais e sistemas computacionais remonta à época em que as linguagens de programação Lisp, COBOL e Fortran ainda estavam a ser conceptualizadas. Esta era (por volta de 1950) marca o surgimento da linguagem de programação MUSIC I. Desde então, dado o aumento do poder de computação, houve um influxo de novas linguagens capazes de sintetizar áudio. Atualmente, linguagens como SuperCollider, Pd (pure data), Max/MSP, ChucK e Faust estão no espetro das mais populares. Estas linguagens, apesar de terem diferentes abordagens e designs, têm um aspeto comum: são todas linguagens de computador. Embora este tipo de solução conceda bastante flexibilidade, ela apresenta um problema: restrições temporais, particularmente latência de áudio. Neste documento, uma nova Linguagem de Processamento de Áudio, denominada rtfss, é introduzida. Esta linguagem foi concebida para ser compilada principalmente para dispositivos de hardware, de forma a tirar partido das suas capacidades de paralelismo. Para complementar a descrição formal da linguagem, será também apresentado um compilador capaz de lidar com um subconjunto das capacidades da linguagem. Este compilador é apto para analisar uma descrição feita em rtfss e de compilar para uma linguagem de nível inferior chamada VHDL. Um dos principais destaques de rtfss (e do seu compilador) é que a arquitetura de hardware sintetizada é segmentada (pipelined). Este formato de arquitetura digital é usado em circuitos lógicos para maximizar a frequência de funcionamento e a eficiência do design. Ao longo deste documento, a descrição formal da linguagem e a implementação do compilador serão meticulosamente analisados e explicados. serão também ilustrados alguns exemplos de casos de uso nesta linguagem, acompanhados pelo seu processo de compilação. Neste documento é também descrita uma arquitetura mais simples de outra linguagem de processamento de áudio para hardware. Esta linguagem serviu como fundação ao desenvolvimento de rtfss. Do desenvolvimento desta arquitetura derivou uma coletânea de blocos de hardware em VHDL para tratamento de àudio e de MIDI.
URI: http://hdl.handle.net/10773/31347
Appears in Collections:UA - Dissertações de mestrado
DETI - Dissertações de mestrado

Files in This Item:
File Description SizeFormat 
Documento_André_Pinho.pdf877.9 kBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.